(The original article was posted on LinkedIn Pulse.) A marathon is not just a series of sprints. We know that the preparation required to run for 100 meters is not the same as that for a 26-mile slog. This maxim applies equally to the software development process as it does to running a race. Yet it seems that with the hype surrounding ‘low-code’ and ‘no-code’ and ‘citizen developers’, we are in danger of repeating past mistakes and regressing to an era when systems that were built to change were deemed to be more valuable than systems that were built to last. But business systems do last and usually for much longer than expected – so plan for it.
A well-designed and engineered application architecture bridges the gap between rapidly developing something useful and then being able to scale and evolve that application as its utility and importance to the business grows.
Buyers of next-gen ‘low-code’ development tools would be wise to evaluate the associated application architecture with more scrutiny than that given to the programmers coding workbench – the IDE. Be aware that some tools are just IDEs with no accompanying architecture, while others merely sit atop platforms from past eras like .NET and J2EE. Be careful not to get caught naked like the emperor with his new clothes. This is the moment when you realise that your whizzy new tool is churning out machine-generated code that is tricky to maintain and will only run on a specific technology stack.
Enjoying fast time-to-market and longevity does not have to be a paradox.
Building on firm foundations is especially important when developing enterprise web and mobile applications, as early user adoption can quickly explode into the kind of mass adoption that sees tens of thousands of users starting to depend on your software for everyday tasks. If you don’t get the architecture right from the beginning then you will be faced with a ‘do-over’ because it is still impossible to perform open-heart surgery on a walking, talking patient.
What are the hallmarks to look for in a well-designed and engineered application architecture? Here are the 8 pillars of a sound architecture that LANSA adheres to:
- Is based on a framework – prototype with the plumbing all done for you
- Provides an application repository – providing code consistency and reuse
- Provides automation & developer guidance – productivity and low-code from the get-go
- Is based on a service-oriented architecture – pluggable components over fixed programs
- Supports multiple platforms – because open is better than closed
- Supports multiple application interfaces – multi-tier design patterns and composite apps
- Integrates legacy applications – retrofitting existing systems and databases
- Manages application evolution – because maintenance is 90% of the lifecycle cost
The agile development methodology has proven superior to waterfall methods in any number of ways and has evolved naturally from the rapid application development approach that proved so popular during the first wave of client/server computing. However, graduate developers that have only run Sprints rather than Marathons often lack the wisdom and know-how to adequately prepare for an application that enjoys run-away success – they mistakenly believe that their preferred Cloud or aPaaS vendor will automatically handle scaling for them without any requirement for up-front design choices or application architecture trade-offs. If not sufficiently challenged, this new crew may bring about a new era of car-crash projects that unwittingly traded rapid application development for the ease and cost of maintaining those systems over their useful life. You’ll recognise the breed when they tell you about the many crashes they have seen in their rear-view mirror…while amazingly keeping their own 100% no claims bonus intact!
We acknowledge that shopping for an enterprise application architecture doesn’t sound like anywhere near as much fun as finding the latest cool tool and then knocking-out a simple app. But, if you are still working for the same organisation a year later, then you will be very glad that you sunk those firm foundations on day one – because only then you will enjoy the agility and frictionless scalability that your business desperately needs to prosper in this era of digital transformation.
For webinars on the topics discussed in the blog, visit http://www.lansa.com/resources/recordings.htm.
For an overview of the LANSA IDE, visit http://www.lansa.com/technology.
For a demonstration of the LANSA IDE, visit http://www.lansa.com/resources/videos.htm#filter=.appdev.