Many industries (E-Commerce, Telecom, Logistics) grapple with what is called the “Last Mile Problem”. The term ‘last mile’ originally referred to the difficulties faced by telecommunications providers in connecting homes to the local network hub, but has since been adopted by other industries to describe the last leg of the supply chain. This last leg is often the least efficient link in the supply chain, comprising up to 28 percent of the total cost of the delivery. There are logistical challenges to face at every link in the supply chain, but the ‘last mile’ can be particularly tricky. One of the main characteristics of the ‘last mile’ that distinguishes it from other transportation legs is the home delivery aspect, which requires what is generally the sole contact between the supplier and consumer. The person delivering the goods is the representative of not just the company they work for, but for all the companies that have contributed over the length of the supply chain.
Software Industry’s Last Mile Problem
Software industry has the Last Mile Problem turned on its head. We have a First Mile Problem! Anyone who has been a part of a software development project knows that the life cycle follows a sequence: Gather requirements, Design the application, Code, Test and Roll out. Though there are variations in development methodologies like Iterative, Waterfall etc, they all follow the above sequence more or less. It is also well known that if the requirements (the First Mile) are not captured accurately, it can show up as defects down the line while coding or testing and fixing them at that stage can be an expensive proposition. (Many of us have deep battle scars to prove it!). Inadequate capture of requirements of the software to be developed is what I like to call the First Mile Problem. Statistics indicate that less than 40% of the software projects are successful. One of the key contributors to such a high rate of failure is the First Mile Problem.
Can Requirements be Frozen?
Like E-Commerce companies spending billions of dollars on the Last Mile Problem, the software industry too has spent a lot of money and thought into solving the First Mile Problem. Many new development methodologies and tools have sprung up. The good news is that, recent surveys show that the success rates of software projects are improving. There are many reasons – Agile development methodologies, Matured Project Management, Actively engaged Executive Sponsors and so on. Some of the above have brought about efficiencies in requirement gathering process (among other things) resulting in improved success rates. But like the Last Mile Problem of the other industries, the First Mile Problem continues to be the Achilles Heel of the Software/IT industry. It would be gullible to imagine that the requirements of a software would be frozen. It will never be. That is the nature of the beast. We just have to find ways to improve the success rate of the software projects despite that. And there is lot of good work in progress on that front.
Don’t Compromise on the Requirements Phase
There are many thought leaders, experts, books/blogs that recommend ways and means to improve the effectiveness of requirements gathering. I am no authority to add any value to it. All I can say from my experience of 20+ years in the software industry is that, sometimes we try to scrimp the cost during the requirements phase by not giving it the required time and talent and then pay heavily for it. We try to save $40,000-$50,000 on the requirements gathering phase by deploying not the best personnel or reducing the time frame by a couple of weeks and end up paying (directly and indirectly) hundreds of thousands of dollars over the life cycle of the project.