Most application development and delivery teams have simple marching orders: "Do more with less — and fast. And when you've done more with less, figure out how to do even more with still less on your next set of projects. And deliver even faster."
We've not met a single application development and delivery professional during the past two years who isn't struggling to meet this imperative. Why? Competitive markets, business models, and consumer preferences change so quickly, and keeping up requires either making changes to existing software or writing entirely new applications.
Clients react to the AD&D crunch in a variety of ways, but one of the most common responses is to search for new development processes and tools. And right now, AD&D teams will find that a bumper crop of new development-productivity tools has arrived for their consideration. We call these products the new productivity platforms and define them as:
"Platforms that speed application delivery and ongoing evolution through: visual tools, hot deployment and continuous innovation, built-in administration and management, and active participation of business experts in application delivery."
We've found 22 products — a surprisingly large number — that fit this description. Nine of these platforms — Appian, Aptify, ClaySys Technologies, Cordys, expanz, LongJump, OrangeScape Technologies, Servoy, and WorkXpress PaaS — provide broadly applicable environments. The remaining options we've examined are each best for certain types of applications. The full list of products we studied can be seen here:
The new productivity platforms are successors to the fourth-generation languages (4GLs) of the '80s and '90s. Like those environments, the new productivity platforms seek to simplify design and creation of applications. But the new productivity platforms also address the problem of productive application delivery more broadly by accelerating the entire application life cycle, equipping many roles in the application life cycle, and empowering business experts to deliver applications.
The new productivity platforms seek to make the entire application life cycle move faster. They begin with initial design and development but then proceed through deployment and management to support of continual updates (what we once called application maintenance). The acceleration starts by reducing the amount of infrastructure configuration and coding developers must do to deliver an application. New productivity platforms allow developers to:
- Focus on the business problem, not the infrastructure details. Customers using these products uniformly praise them for eliminating chores not directly related to solving business problems. The new productivity platforms eliminate deep coding to middleware application programming interfaces (APIs), deployment descriptors, and build scripts as well as related coding for software packaging, software deployment, and platform configuration.
- Some of the new productivity platforms promise "zero code development." Ignore the phrase. The new productivity platforms only rarely eliminate the need to write at least some code for real applications, though in most cases, developers can build their projects with comparatively little conventional coding. And when a platform requires coding, that coding is usually in a higher-level dynamic language rather than Java or C#.
- Create and change applications as needed. Most of the new productivity platforms employ an underlying technology we call metadata execution to provide great flexibility in designing and maintaining applications. Simply put, the tools output definitions, not code, and the definitions are then interpreted by the platform to create the running application. Metadata definition is far more flexible than code generation, the productivity technique that preceded it.The ultimate test of an environment's flexibility is the developer's ability to change an application's data schema without needing a database administrator and without breaking the application. Most of the new productivity platforms pass this test. Integrated impact analysis testing is one technique that provides this level of flexibility.
- Implement new applications and changes quickly. Most of the new productivity platforms employ automatic deployment, which also speeds the life cycle. Rather than procuring, installing, and configuring a platform stack for the application and then building the application for installation and configuration on that stack, developers automatically deploy their projects.
- Again, metadata execution is crucial: Because the metadata definitions are installed into an interpreted engine, they can also be deployed automatically. Several of the new productivity platforms apply this technique both to on-premises and public cloud environments (and some just to clouds).
The primary risks of the new productivity platforms: You get stuck on a proprietary platform with no way forward, you write a lot of custom code anyway because the platform doesn’t meet enough of your application needs, or you don’t realise expected productivity gains due to your own failed processes or inadequate vendor tooling.
How will you meet the challenge of the AD&D crunch? Certain projects will require very agile conventional coding, but you could also shift many projects to one of the new productivity platforms. As you strategise to meet the challenge of fast delivery, we recommend that you add one of the new productivity platforms to your strategy. We've found enough evidence that these platforms can speed delivery to be convinced that the category presents major opportunities to AD&D shops. The oldest vendors in the category have supported some very impressive work. The risks associated with these platforms are readily understood — and most AD&D shops understand how to evaluate platforms and the vendors that provide them.
By John R Rymer