Categories
Insights

The three Rs of enterprise application development: Why should I pick 2?

Enterprises often struggle to strike the right balance for the investment required for various efforts in delivering applications. As businesses become more competitive, largely global, and heavily end user focused, it pushes the boundary of application requirements in order for the apps to be successful.  These requirements are usability, scalability and faster release cycles.

The landscape of application development and delivery has changed a lot in the past few years. Today’s modern applications need to look great, have a robust architecture so it can scale to millions of users, and should be quickly delivered to customers in order to outsmart competition.

The ability to deal with these three requirements has been a constant struggle for any enterprise. In any complex application project, one way or another, we face the immutable law of finite resources: We’re bound by constraints. Good, fast or cheap, we’re told. Pick any two.

This is the classic triple constraint model that you often have to deal with as project leaders. A similar model applies to enterprise application delivery:

Rich UX, Rapid Development or Robust Architecture: pick any two.

As you can see, while all these 3 things are very important for modern applications, they often work against each other. A project that focuses  only on user experience and faster time to market may not have the best robust architecture, while another one that focuses on robust architecture and great user experience may need longer duration to complete. Something has to give, right?

It used to be that businesses depending on the nature of the application could get away by just focusing on two of the above aspects,

  1.  Small and Medium Enterprise: Focus was on Rapid Development and Rich UX
  2.  Non Consumer Business Applications: Focus was on Robust Architecture, Rapid Development
  3.  Businesses that focuses on Robust Architecture and Rich UX always suffered from long lasting development cycles

Should enterprise application delivery always be an exercise in sacrifice. given the demands on IT in today’s Businesses, it has become hard to sacrifice any one of the above. So the question is how do I get to choose all.

Wait.. Hold On, can we get a magical wand that can help us have all the three dimensions of App Delivery. Look no further, modern rapid application development platforms or also referred to as low-code platforms are designed to solve this conundrum.

Take a look at WaveMaker, that specifically addresses the enterprise needs to develop scalable applications, with great user experience out of the box in shorter time frames. Excited, try out a free trial and see how you can now can now cut short development time and still keep intact your enterprise and end user requirements.

 

Categories
Insights

How RAD Platforms Can Move New App Deployment Forward

Rapid application development platforms ­– the low code and no code tools that have proliferated in the last few years – have given rise to the phenomenon of the citizen developer. A citizen developer is someone who is, or can become, proficient in RAD development, either independently or in support of a professional developer.

In the latter case, creating a new app may involve a tag-team approach in which the pro prepares the components that go into composing an app, and the citizen developer can then develop the app. Such two-pass development is one highlight of select RAD platforms.

The citizen-developer phenomenon has gained a wide following in the past few years, essentially because it enables thin IT teams to reduce their backlog of development projects. Another major reason is that citizen developers, once proficient on a RAD platform, can shelve any older development technologies they may have used.

But even with a wide following, the acceptance of RAD has not spiked in use, but instead has evolved from quick and dirty apps (which were more like prototypes) to nice and final apps (offering a great user experience).

As part of that evolution, a number of use cases for RAD emerged. Arguably, the most popular of those are:

  • Live data forms that are used to create form-based line of business applications with the ability to do CRUD, sorting, caching and loading of data.
  • Prototyping to create working prototypes from application mock-ups to quickly build real-life working prototypes of concepts and wireframes and shorten feedback cycles on application development.
  • Application modernization to allow existing legacy applications to deliver more responsive, modern user experiences while keeping the backend data source and business logic intact.
  • Business dashboards that rely on apps that fetch data from multiple data sources (databases, APIs, custom business logic, files, legacy apps, cloud services, etc.) to populate them and provide access to critical business data.
  • API-driven applications that enable organizations to create greater flexibility in IT application infrastructure by moving away from three-tier applications to smaller, independent microservices-based applications.

RAD platforms are not best suited for developing gaming or other highly interactive apps that use very little data. That would rule out Uber-like apps and gaming apps such as Angry Birds.

RAD is most suitable when the apps are data-driven, often populated from a database system. Pagination of data or memory management (for example, a mobile app that brings in too much data ahead of use may waste data traffic; whereas one that brings in too little could provide poor interactivity) is very tricky particularly when apps need to use AJAX. AJAX is a very common form of programming, for both web and mobile apps, where data is fetched on demand. AJAX applications – also called single-page applications, because data is called into a page without need for a server fetch of a new page – provide a better user experience and are hence preferred.

In addition, low-code platforms are well suited for those applications that are created in Gartner’s Pace Layers model: Systems of Innovation or Systems of Differentiation. Low-code platforms are also suitable for Mode-2 development (the Innovate layer), as defined in Gartner’s Bimodal IT model.

As we see a rampant spread of the consumerization of IT (i.e., corporate apps that look and act like consumer apps), RAD is seeing a new growth phase.

The D in RAD has also been redefined in the new era. Today, the D in RAD refers to both delivery and development. RAD platforms have evolved to cover the entire breadth of application delivery. For instance, some RAD platforms combine a developer cloud to reduce cycle times further (test-as-you-build) and increase productivity. This also makes it simpler to move an app from the developer environment to staging or production (for example, through use of containerization technology).

In short, today’s RAD platforms are nothing like their earlier cousins, although the goal of rapidity still remains.

The challenges of traditional development are not new, nor have there been any substantive improvements in traditional languages that would deliver quantum improvement in time to deployment of new apps – where speed virtually always means corporate cost savings, earlier opportunities for app monetization, or both. That dearth of innovation virtually opened the door for a surge in RAD adoption, whether it resulted from need or opportunity.

Originally published by Vijay Pullur, CEO of WaveMaker, in tmcnet.com