Tuesday 30 March 2021

How can enterprises benefit from Low-Code/No Code development method

  

LowCode NoCode

A professor, to highlight the importance of communication, gave a simple exercise involving the whole class. He wrote a tongue twister

“Fred fed Ted bread and Ted fed Fred bread”

on a piece of paper and gave it to the first student sitting on the first row and asked him to whisper whatever he read in the next student’s ears. The second student was asked to repeat whatever he heard to the third student, and so on. This process was repeated till the student in the last row and finally, he/she was asked to say what he heard. He said,

“Fred said bake bread, Fred said eat bread”!

Talk about lost in translation!

This simple example helps us understand how much information and, importantly, meaning can be lost in communication. How difficult communication can be even in person, let alone through other mediums like digital. A similar predicament happens when business and I.T. communicate, particularly regarding requirements or expected outcomes.

Businesses and I.T. have their silos, and they speak different languages.

Business IT


One, the user’s language, expectations, and markets. And the other, the language of technology, of bits and bytes and frameworks. Invariably when

“Fred feeds ted bread,”

it is understood as

“Fred said bake bread.”

In his seminal work “Business at the Speed of Thought,” Bill Gates wrote `If the 1980s were about quality and the 1990s were about reengineering, then the 2000s will be about velocity. Speed of development and quick-to-market products has never been more critical than today. Take the case of the ongoing pandemic. Every single aspect of our life has been upended. Companies and businesses are scrambling to upgrade or modify their delivery chains. In such exceptional circumstances, velocity or speed of delivery is of utmost importance.

A knee-jerk reaction to ensure delivery speed would be to hire the right engineering talent and just put them to work, right? Well, it turns out that’s not always the case. One, talent is scarce, and second, it is expensive. According to a survey by TechRepublic

https://www.techrepublic.com/article/cio-jury-83-of-cios-struggle-to-find-tech-talent/,

a whopping 83% of CIOs found it a struggle to fill positions, particularly engineering. Even if you manage to cross these hurdles, merely increasing the number of people to solve a problem never really works. One could put a case for Automation. Automation is a perfect solution to increase the speed of execution. However, automated tools will still have to be built, configured by the I.T., thereby repeating the whole development process. The challenges enterprises face in the development process, such as speed, clarity of vision, are repeated.

Challenges in current development models

Challenges in current development models


  • I.T. and business need a common language to convey, communicate, and understand business goals uniformly.

  • Speed of development and delivery separates the winners from competitors in business.

  • As long as corporate I.T. sanctions it, engineering should not be restricted to I.T. only. Ideas and solutions are not the sole purviews of engineers. Engineering can and should be inclusive, i.e., Citizen development and Citizen I.T. as well.

What is the Low-Code Platform?
Forrester defines low-code development platforms as:

“Products and/or cloud services for application development that employ visual, declarative techniques instead of programming and are available to customers at low- or no-cost in money and training time to begin, with costs rising in the proportion of the business value of the platforms.”

Gartner characterizes it as platforms that provide “rapid application development (RAD) features for development, deployment, and execution – in the cloud.”

Low-Code Development (LCD Henceforth) is an approach that involves visual development tools and an interactive development process. LCD is declarative in nature. In the declarative style of development, instead of focussing on how to do something, the focus is on what needs to be done. The logic of how to do something is abstracted behind visual components.

How does Low-Code work with visual development tools?

Low-Code work with visual development


LCD has a strong emphasis on graphical tools. So instead of extensive coding, developers use pre-built components by simply dragging and dropping. Low-Code enables anyone, literally anyone, to build applications and engineer solutions regardless of their technical ability. This empowers the citizen’s I.T. development. Additionally, the requirements are more clearly implemented since the development can be done by the business as well. With LCD, the business and product owners can engineer solutions independently without depending on I.T. So the goals and features, and vision of the business are translated into solutions more accurately.

What are the Features of Low-Code Platform?

Features of Low-Code Platform


  • At its heart, LCD aims to bring business and I.T. together to deliver on the business goals faster and better. Far too often, bottlenecks caused by inter dept communication drag the development process down. Understanding business requirements into something which can be expressed using technology is challenging. LCD is the perfect solution for this silo-induced communication bottleneck.

  • With LCD, businesses or anyone authorized in the company can deliver or transform an idea or requirement into a working solution. With abstraction and Automation enabled, the time to market is reduced dramatically. Companies no longer need to depend on I.T. to engineer quick solutions such as automated tasks or prototypes.

  • LCD is perfect for trying out new tools and prototype solutions. Since LCD is based on visual tools such as drag and drop components, the speed of development is fast, and the development process itself is nimble and agile.

  • Not all applications and solutions can be built using the out-of-the-box solutions provided by LCD platforms. But LCD can be customized to create new components and reusable modules with the standard development process. LCD also works with complex backend and legacy systems. Along with inbuilt tools and IDEs, LCD provides connectors to set up connections to database and APIs

What are the benefits of Low-Code?

Benefits of LowCode development


  • With Low-Code or no code used to develop, the speed of development is faster, and time to market is brought down drastically. Ready-to-use components are tested and ready to be deployed. So testing time and deployment time are brought down considerably.

  • LCD enables everyone to be an engineer or developer. In a limited way, of course! The concept of citizen I.T. and citizen development are reinforced with LCD. This allows requirements to be easily translated into implementation, mainly when the business uses a low-code platform.

  • LCD works well with all existing development processes like Agile, Scrum. Additionally, LCD is compatible with APIs, New methods. The addition of new code to configure custom modules is also possible with LCD. The bottom line is that LCD provides an added advantage to the existing development process of an enterprise.

  • Although I.T. is going nowhere and it will still be relevant, LCD enables development at a fraction of the cost. Mainly when it comes to repeated automated tasks, LCD provides tremendous cost benefits.

  • The benefits of having citizen developers are manifold. Citizen IT armed with LCD helps in reducing the IT backlog and improves internal processes. Consequently, innovation and digital transformation in an organization happen at a much faster rate.

How does Low-Code work with APIs?

APIs are the building blocks of great software solutions. They are ubiquitous and everywhere. At its heart, APIs are all about abstracting complexity or business logic into a simple, easy-to-use interface.

Does this sound familiar?

Of course, it does!

That’s a key goal of Low-Code as well.

As we saw above, Low-Code aims to build rapidly complex applications with minimal code so that solutions can be delivered faster and I.T. can closely replicate what the business wants. Almost all Low-Code service providers have prebuilt APIs from various providers like Google Suite, popular Social Media sites, single sign-on. They can be easily chosen and integrated with the App that is being built. Like the drag and drop interface for building low-code apps, app integration with prebuilt APIs is a breeze.

For Custom API integration, Low-Code Apps have plugins and provisions to create high-level model extensions. Write custom code for interacting and connecting to cloud services such as AWSGoogle Cloud. Almost all low- and no-code platforms provide ways for programmers to create high-level model extensions for applications. Platforms typically support these extensions through APIs.

What is the future of Low-Code development?

Gartner predicts that by 2024, an astounding 65% of application development activity will be via low-code application development.

https://www.outsystems.com/1/low-code-application-platforms-gartner/

And as per an infographic by Impactmybiz.com, LCD will be a 27 billion dollar industry by 2022.

https://www.impactmybiz.com/blog/blog-low-code-trends-2020/#:~:text=In%202019%2C%2037%25%20of%20developers,or%20no%20technical%20development%20skills

These are astounding numbers, and enterprises would do well to start investing in LCD. LCD empowers or enables everyone in the enterprise to focus on business goals than complex technology. In addition to ease of implementation, LCD helps in faster deployment of solutions, which is the critical differentiator in modern times.LCD is compatible with legacy systems as well as agile practices. Whatever is the enterprise development model, LCD integrates itself well.


Tuesday 8 December 2020

How to find the right digital partner for your Enterprise


Digital Transformation

This post is a companion to our earlier blog on What is digital transformation. These articles, together, will help an enterprise evaluate the need for a digital transformation and how to go about finding a partner for the same. In this article, we present important objective & measurable ways to select your technology partner. We highlight certain requirements that are mandatory and a few “good to have” traits. As we highlighted here , Digital transformation is the planning, analysing, conducting & support of business operations via technology.

An enterprise can be considered as “Digitally compliant” if it has the following traits.

  1. Customer experience, which is digital all the way. From inquiry to after-sales
  2. Continuous improvement based on analytics which is powered by AI-based tools
  3. Backend architecture which is almost entirely in the cloud or with minimal. on-premise/hybrid systems
  4. Internal business process and core business practices which are highly automated
  5. Tie-ups and collaboration with tech partners at an organisational level

Selection of a digital partner can be subjective and/or objective.

Subjective reasons to select a digital partner

1) Confidence in a particular partner because they are local and hence trusted

2) Mandated by law to provide opportunities to a specific group in your country, state etc

3) Personal relationship of any kind or previously committed to them

4) Recommendation by a trusted authority or partner

5) Influenced by size, scale, turnover and other factors and many more…

Subjective reasons are just that, and hence we wont get too much into discussing that. Whether subjective or objective, there are some mandatory checks to be done while selecting a technical partner

Mandatory Checks before selecting a partner

1) Technical competency

2) Legal checks

3) Communication modes, times, channels

4) Certified, Compliant within the context of your requirement

For the sake of brevity, let us consider that you have reached a decision to induct and infuse new technology or more technology into your business. You have your reasons, you made your decision and hence you are in the deep end now. Maybe you want to open up a new sales channel or you might want to save costs on existing IT infrastructure. Perhaps you want to take a final decision on setting up the new plant or improve training programs for your staff

1) Ask your potential digital partner “Why do I need to go the digital way?” and “How best should I leverage technology?”


Digital Partner

Ultimately, you are trying to solve a problem or provide a service or build/change a new order or an existing order.

And you are hoping technology,

“THE ENABLER”,

will help you do so. But how?

A potential partner, and an able one, will see your existing working, identify pitfalls, understand challenges and suggest a remedial course of action or a new course of action which will not just fix or build your existing issues/process, but also help you generate new value from it.

In simple terms, they should present you a road map of taking your business to its next version. And they should help you understand how in a simple manner without a bucket load of tech jargon. The clearer they are in convincing you about solutions, proposing alternatives etc, the better they are. The quality of the answers can be gauged by simple questions likes

What modifications are required to go this route as proposed by the potential digital partner?

How sustainable is this solution they are proposing?

Is this long term?

Are there alternatives? Have they considered the competition?

Will this solution add more value?

2) Look for a domain specialist or one with relevant experience in your domain


Domain specialist


 Consider this. Your domain or business vertical is very diverse. It has a plethora of products, services, legacy data, use cases, govt rules around those, compliance laws, trade rules, etc. What you are essentially doing is trying to take this entire ecosystem of your service or business and take it to the next level with technology. A technology service provider might not be able to understand your domain as well as you do. For a variety of reasons of course. Prior experience of a particular domain gives a unique blend of understanding and know-how.

For example, Confidentiality of patient data in a health care solution is not a “good-to-have” feature. It’s mandatory! A tech partner who has knowledge of a compliance policy like HIPAA, will be able to deliver better solutions to the customer. Depending on your need, a tech partner who is a domain expert or has experience in a similar domain might be the most important factor in driving your business forward.

3) Partnerships

In addition to providing the core requirements you have, your potential technology partner should be able to evaluate the areas where digital transformation can make a positive impact, i.e provide measurable outcomes. A digital partner should be able to highlight a diverse range of portfolios strung together in partnerships with other customers. Partnerships represent trust. And repeat business from the same partnerships implies quality plus trust.

4) Work culture

Work culture is a very good barometer of a vendor’s working style and more importantly Integrity. A vendor that creates a work culture which draws its employees to its workplace is a happy workplace. And it’s no secret that a happy workplace is a productive workplace. Work culture is the representation of the organization’s

values, beliefs and ethics. It is necessary to highlight that choosing a vendor with a work culture that is successful, might not necessarily work for you. But rather, choose a vendor with a work culture or belief system similar to yours.

5) Adaptability and Flexibility

Process in execution helps an organisation define a measurable scale. This defines the right way of execution and it measures any deviation from the defined path. In general terms, processes exist to help deliver better quality results. Whatever be the endeavour. While these are wonderful qualities in an organisation to have, not all tasks and processes can be defined with precision. Sometimes an organisation has to deviate from the normal order of execution because the situation demands it.

For ex, Imagine an overnight change in the laws of a country which increases quality checks for a said product. All things considered equal, a flexible and adapting vendor will be able to execute the process within the ambit of the new laws, on the promised timelines without getting rigidly bound to a fixed way of working. For e.g. Executing the steps in the quality check process concurrently wherever possible

6) Look for a partner, not a vendor

Finally, whatever you seek to accomplish will be driven by a group of people. Process, documentation, prior track record, compliance, recommendations etc are good measurable metrics for selecting the right partner. But as with any partnership or agreement, whether civil or business, look for a partner who believes in your goals.

What drives them or excites them? A need to make lasting change?

Does your requirement motivate them? How?

Can they find any value in this partnership which is not based on money?

Do they believe in your vision? And if so why?

If the answer to these questions is mostly yes, there is a good chance you met your perfect technology partner

Finally, a technology partner doesn’t just build solutions and leave. The right technology partner is a co-passenger in your journey. A technology partner begins by evaluating, understanding your business. They share your vision and passion. Then they provide a long term roadmap with measurable outcomes. They are engineers and designers at heart. Finding the right partner is thus a combination of right people having right knowledge with strong values

Wednesday 14 October 2020

Big data with Hadoop

 

Data and Big Data

Tounderstand Hadoop and it’s working, it is necessary to know what Big data is. As the internet grew and with the advent of Web 2.0 & 3.0, demand for data grew. Data collected and shared increased. Particularly with social media and IoT , there is an exponential growth of data stored, transacted and accumulated. Big data is an umbrella term for a large volume of data.

Big Data Analytics

Data is information. Information that is used for planning, for scheduling, forecasting, budgeting, mitigating, etc. The larger the data set, more accurate the information. Hence the importance of Big data. Big data helps an enterprise to uncover information like buying patterns, demographic preferences, trends, correlations, etc. This in turns helps an enterprise discover new streams of revenue, provide better customer service, improve processes, etc. Tools that analyze such large data sets are known as Big data analytics applications.

Hadoop and Big Data

Hadoop is one such big data analytics application. A quick look at its history

Authors: Doug Cutting, Mike Cafarella

Developers: Apache Software Foundation

First Release: April 1st, 2006

Current Release: 3.3.0

Hadoop is a framework for the distributed processing of large data sets across clusters of computers using simple programming models. Whether it’s a single storage server or hundreds of machines across location, every node offers local computation and storage. With this parallel processing happening across hundreds of nodes which are distributed, data processing is faster than conventional databases. So basically rather than store all the data in a single or limited number of datasets, Hadoop clusters multiple nodes which can process even petabytes of data quickly

Hadoop Modules

Hadoop Distributed File System — HDFS is a file system that’s designed for fault tolerance and for deployment to the lowest end of hardware as well. Since Hadoop works with Big data, HDFS file systems are tuned for large data files. A major plus point to HDFS is that it provides mechanisms for applications to perform the computation on large data files where they are located instead of sending these large files to the application

Yet Another Resource Negotiator (YARN) — YARN is to applications what Houston is to Nasa. The control center!. Yarn manages nodes, cluster nodes, job status, scheduling, tasks. It also does extensive monitoring and reports.

MapReduce — Hadoop supports and uses replicated data. There are a number of benefits of this. Such as the availability of data at any time, fault tolerance etc. But data replication can lead to redundancy as well. This is solved by MapReduce. The “Map” in MapReduce job filters and sorts the input data-set into independent chunks which are processed by the map tasks parallely. Once mapping is done, reducing steps in and performs a aggregate or summary function to flush out any redundant data

And finally across the above 3 models and other models in Hadoop, Hadoop common libraries exist which can be used by all modules

Hadoop vs Conventional Database

Actually, Hadoop is not a database, so this comparison might feel like apples and oranges, but Hadoop as we saw is an ecosystem for distributed storage and thus has some similarities with database

Hadoop is ideally used for applications dealing with petabytes of data RDBMS are a good fit for applications with GigaBytes of data

RDBMS are mainly used for structured data. Well defined schemas and data definitions are mandatory for RDBMS. Hadoop works well with structured and unstructured data

Since Hadoop works mostly with semi-structured or unstructured data, it does not need SQL. Hadoop applications do support SQL as well in various lite versions, but it primarily uses HQL or Hive Query Language. Which is particularly good for Metastore. RDBMS use SQL

Hadoop is fully open source, whilst most RDBMS are licensed

Data and Data objects are stored as key-value pairs in Hadoop whereas as the name suggests in RDBMS, data objects are relational

Hadoop is well suited for data types like Audio, Video, Images, etc. RDBMS goes well with relational data such as commonly found in OLTP

Hadoop Ecosystem




Hadoop is not a single library or tool or framework which handles big data. It is essentially a platform or a suite or an ecosystem which provides tools, frameworks, libraries, models, objects to solve, analyse, gleam insight from Big data. The four main modules of Hadoop are listed above. In addition the main components of an Hadoop ecosystem are



Data Storage is a collection of hardware, commodity hardware which are known as nodes or clusters in the Hadoop Ecosystem

Data Processing involves computational techniques which processes the data stored in the data storage. This is built for optimization

Data access tools helps applications to write queries, execute commands on the data sets returned by Data processing tools

Needless to say, the Hadoop Ecosystem is constantly evolving and new tools keep getting added every day. What we have listed above are some of the popular ones

Extras

Hadoop framework is written in the Java programming language, with some native code in C and command-line utilities written as shell scripts.

The MapReduce model can be implemented in any language for any application that uses Hadoop.

Hadoop can be implemented on-premise or on the cloud.

More than half of the fortune 50 companies use Hadoop

https://www.prnewswire.com/news-releases/altiors-altrastar---hadoop-storage-accelerator-and-optimizer-now-certified-on-cdh4-clouderas-distribution-including-apache-hadoop-version-4-183906141.html

Conclusion

Data is only going to increase. With more applications coming up every day, data growth is one-way traffic. In such an environment, with the proven benefits exhibited by Hadoop, enterprises can and should start thinking about the virtues of Big data for their organizations. With the ability to host Hadoop on clouds, enterprises can get the best of both worlds, cloud storage and the power of Big data