Company three was a “start up” in the mould of the dotcom bubble. Revenue was derived via a classic “freemium” model, venture capital, and marketing “funnel” — exploiting internet scale marketing and the latest in “Web 2.0” innovations.
A large codebase was developed presenting a rich, web-based UI using a uniform technology stack. Code was universally delivered using TDD, and engineers were encouraged to explore eXtreme Programming techniques — regularly pairing to code up features, and using a custom Agile delivery model to ensure prioritised, “product-centric” feature development. Other companies consulted with this company on how to “do Agile right”. A number of people who worked for this company have gone on to be massively successful in other ventures.
However, this company ended up laying off senior technical and business staff when they miscalculated their ability to expand beyond their original local geographic market — having underestimated the competition. The business failure was, in part, predicated by underlying technological failures. An increasing inability to deliver significant new functionality meant there was no way to keep up with the other players.
Engineers adding features, or adjusting existing features, had slowed from an initial flurry of productivity, to a frustrating grind of increasingly minor modifications achieved over increasingly long periods of time. Time boxed “sprints” almost never proved long enough to deliver agreed upon features.
Modification of the system was proving increasingly hard to do in a robust way, and the tests which had been used to drive previous development took more and more time to either deprecate or modify when implementing new logic. There was a clear lack of clean, coherent design running through the system.
The company never went under, but it never succeeded in capturing the market share it could have achieved if it had retained its initial agility. The freemium model was eventually abandoned, and the company stuck with incremental, dependable growth with a stabilised feature set.
I had a fondness for the founders of this company. However, they never really had a coherent technical strategy underpinning their product. It was a software company constructed to look like a successful software company, but without a coherent technical core. It loved the image of being a software company, but there was no underlying passion to engineer software.
This company needed what I think of as inner strength or core strength. This type of agility enables a company to keep all their efforts harmonised in pursuit of a common goal. In SaaS, this is a type of agility which starts small, and grows over time. A dedication to inner strength causes the company’s offering to become more and more coherent as it is built out and enhanced.
(idiomatic) Integrity of character; resoluteness of will; mental resistance to doubt or discouragement.