Develop anywhere, deploy everywhere

Mark Armstrong, managing director of EMEA, Progress, looks at the new rules of application development in the channel

When you hear the words ‘agile and flexible development’ what do you think of? For many, it’s the type of jargon-stuffed phrase that is becoming so overused that it risks meaning nothing at all. But trust me, this is one concept you’re going to want to become familiar with.

The key point is that ‘agile’ allows developers to work on a range of locations – cloud, on premise or hybrid – and on applications that can run across a range of platforms too, from mobile to desktop. Developers need a platform that will allow them to develop and deploy wherever is the most appropriate for the task at hand, allowing them to develop anywhere, deploy everywhere.

There are two other major drivers that are pushing the channel to a more agile view of development: 1) the trend towards more niche applications that are built for very specific business processes and 2) the way patch cycles have changed from an annual update to one where constant testing, developing and patching is carried out on the applications.

Historically, an approach as broad ranging and flexible as this has been difficult to implement. However, new platforms and a greater access to a wide range of tools mean it should become the new standard. The companies that can adopt this approach are, ultimately, developing applications that have better functionality, improved user experience and are more likely to become critical components of their customer’s business.

People have been developing for decades. In that time, a proliferation of techniques has led to almost every company (both in the enterprise and ISVs) having its own unique approach. Now with multiple platforms to develop for, and premises to develop from, the challenge is finding a process that can fit in with the modern application life cycle. Not to mention supporting the move towards niche solutions that do one thing very well.

Most applications are now not only developed in the cloud, but are also created specifically for the cloud. This allows for the quicker iterations and cycles demanded for by modern users. However, much of the legacy development has been done on premise and there are still many teams operating this way. Ultimately, we need systems that are sympathetic to a hybrid approach.

Not to get too David Attenborough on you here, but the evolution of the modern application’s life cycle has been fascinating. In the beginning there was a brittle process of annual major release updates with the odd patch thrown in for any catastrophic issues that came up. It was slow and users hated it.

Now, as we’ve moved the life cycle into the cloud it has allowed development, testing and patching to be done simultaneously. This means when the product goes live it’s in better shape and it also means that as users eventually do find issues, those bugs are much easier to solve.

Moving away from a geriatric life cycle has coincided with two other major trends: the mobile explosion and a drive towards more niche applications. We don’t want massive unwieldy apps that try to do everything but really don’t do anything well. Users prefer simplistic lightweight apps that can do one specific task, or group of tasks, and do it very well while demanding little effort from the user.  

This approach makes a lot of sense on mobile and some of the slick simplicity is being moved back into the PC environment as user expectation shifts. These trends are going hand in hand with agile development and, as a result, it’s allowing companies to create solutions that can completely change the way businesses operate.

Let me leave you with a practical, jargon-free example. Anyone who travels regularly for work knows the unmitigated horror of submitting a bunch of small expenses at the end of the month. That’s if you’ve managed to keep hold of your receipts. Most organisations have expensing processes that make a round-dial phone look like the very edge of modernity. Basically, people hate inputting data unnecessarily.

Advanced Business Solutions (ABS) is an ISV that creates innovative applications for all sorts of industries with a particular focus on finance. The company has embraced an agile development process. Developers at ABS created an expensing app that simply required users to take a clear photo of the receipt. From there it collates all the outgoings to be paid back at the end of the month.

To the user it’s a simple app but to achieve that ease of use ABS had to create a complex and flexible back end that could deal with different kinds of data and situations. To put that together required some agile thinking, and developing. ABS originally wrote the app for mobile only but soon realised that users wanted to check it from their computer so that functionality was built in. It was an app build in the cloud, for mobile and finished on the web.

The initial version was released early and ABS quickly made multiple iterations to ensure it was always responding to the evolving needs of the user. It’s a great example of an organisation that surveyed its customer base to find the real pain points. Then they went out and created a solution for it. So what’s your customer’s next pain point and are you agile enough to solve it?

Read more on Business Intelligence Tools and Services

Join the conversation

1 comment

Send me notifications when other members comment.

Please create a username to comment.

Great article. Minor comment about one point made; "Customers dissatisfied by one release a year". I feel this is not always true. Customers who want new features are often keen for more frequent releases. These would be the early adopters. However, customers who want a release without apparent defects and are happy with existing features, do not want the disruption of frequent and possibly buggy releases. These are middle and late adopters. Therefore it depends on the adopter profile as to which release cycle is appropriate.