The first company on my mind developed a significant document workflow product, focused on a narrow vertical market. This was delivered rapidly for an initial customer over a period of twelve months.
Having a product which was selling secured several rounds of investment. This company brought on staff to support the complex feature set, and to work with new clients on implementing the product for their particular business model.
The initial development resulted in a product which was generic enough to market more widely. Many new features were bolted on to the design in order to win new clients to the platform. A significant portion of the original, modest development team which built the product remained with the company.
However, the software started to need more and more developers and testers to maintain and develop features. Code quality suffered as new features were added. Different styles of engineering, and different approaches to testing (if any) could be found in the codebase. Over time, the company developed a reputation in the local developer community for low quality engineering and slap-dash feature development. Hiring became difficult - there weren’t enough developers available in the area, even for the best companies.
Revenue produced from license costs was only just enough to offset the cost of sale and the company always struggled to meet the next financial milestone in their business plan. Leadership of this company accepted that they lacked interest and/or skillset required to keep engineering at the core of their proposition, and attempts were made to pivot towards a service-centric business model.
The product itself kept lurching forward, but the company never recovered the agility to be truly successful.
The type of agility they needed was software which they could evolve incrementally to meet the needs of customers without the system degenerating. For this company, quickly responding to changing business context was not a pressing business need. In the context of the Agile business movement, I think of this type of agility as “lower-order” — just the ability to keep going — the ability of a product to remain vital.
The OED defines it like this:
- the state of being strong and active; energy.
- the power giving continuance of life, present in all living things.
We’ll come back to this type of agility in my final post when I attempt to trace the ingredients necessary to retain a vital SaaS product.