Will you still love me tomorrow?
The other day I was asked by an industry analyst how our clients are addressing Application Lifecycle Management (ALM). This was a great question for which I had a simple answer: they don’t. Now it would be easy for me to point the finger at our start-up clients but the truth is that no one is talking about ALM. The next question of course was why?
The short answer is that web has always seemed removed from other types of application development. The web is seen as transitory and agile, in Web 2.0 it’s about the iterative approach. If something does not work on a website we will just fix it, no problem. Therefore it is not just ALM that gets ignored but just about any development methodology or even basic questions like “will this scale?” do not get asked. Web just isn’t seen as serious development. Many businesses will throw away their website every few years, so why worry about ALM when the lifecycle is so short.
This is okay if the website in question is so called brochure-ware but today that is rarely the case. More and more business websites are integrating with backend systems to form end-to-end solutions that often go beyond the ‘in the moment’ nature of traditional sites. For example workflow processes are now part of the website lifecycle. Throwing these types of complex systems out every few years is simply not viable from a financial perspective. So surely any company starting down this path should be thinking about ALM at the very least?
With start-ups the picture is more complicated but in many ways more relevant. These are companies with applications at their very core. Unlike a traditional retailer’s website offering ecommerce for a start-up the technology solution is their entire business. The decisions they make on day 1 can have major repercussions on the long term health if not success of their business. Surely under these circumstances methodology and ALM are vital?
The problem is that these companies often lack the resources, time, experience and finances to implement solutions in this way. Start-ups tend to take a far more ‘fly by the seat of your pants’ approach to development. If something does not seem to be working this week we will change it next week and then change something else the week after that. They function on small teams of often dispersed developers sometimes with little long term vested interest who simply deliver in the moment with little regard for the future.
The reasons are understandable as time, money and resource are in short supply and the goal is to get a working application with as many users as possible in as short a time as possible in order to secure funding before their initial budget expires. In this world no one cares much for tomorrow. How many registered users have been added this hour is far more relevant than how the app will hold up 2 years from now?
Unfortunately time catches up and decisions made in the heat of battle often return to haunt such companies. There are some well known names that one could mention. Instead if you look at the companies that have done well such as Google you see examples of people who thought ahead from day 1. They planned well for issues such as scaling and reliability and addressed running costs and TCO from an early stage. Boring stuff in the world of iterative development and mashups but you do not see Google running into the problems Twitter has today.
The truth is that you do not need to be a blue chip tech company to think about many of these issues or even to incorporate ALM into your development workflow. Some of the key considerations I have touched on in other blogs such as good database design and scalable architecture. This adds a little time to the initial build but nothing significant and the benefits can be enormous later on when the user numbers start ramping up.
Addressing ALM could simply mean formalising the processes and roles that you already have in place. I know numerous start-ups who operate modelling, development, testing and deployment workflows. Taking some time to sure these up and apply some form or metrics to manage the movement between stages could reap significant benefits.
Whatever the size or nature of the business it is time for web application development to grow up. We are building more advanced and complex web apps involving numerous technologies and often distributed dependencies that are serving more people. They are becoming more integrated and mission critical and therefore it is time to start applying more traditional development approaches in order to secure a more robust future.
It would be great to hear from any start-ups who have implemented some form of ALM and how you feel that has benefited or not your application and business.



Brilliant!