Simple, but not to simple

Adding features afterwards is not always that easy, neither with cars or software.

If you follow the agile manifesto, you should make things simple. 

”Simplicity--the art of maximizing the amount of work not done--is essential.”

Two years ago, we bought a car that was already built at the factory. It had nearly all features we wanted and the price was reasonable, at least for a new german car.

The things lacking was a back camera and support for AirPlay. In both cases, the car was not delivered with the features, but the design was prepared for them.


We could therefore add the back camera as an after-market item to the car and get the view on the dashboard screen, as if it was built-in from the beginning.

To get AirPlay without a cable was even easier. Just pay via credit card on their site, download the feature and configure for each driver and their individual phone.

The only downside were the cost that was even more expensive than adding accessories from the beginning.

What have this to do with agile software development?

When building software you have to prepare for extensions of features in a early phase, otherwise it will be very expensive, if even possible, to add it afterwards. 

A recent IT example from Hertz is when building a web-shop and the development teams are not preparing for the flexibility to add more brands, country rules, languages, currencies and payment methods. 

This is why the most simple solution not always will not be the best solution from a longer perspective and why the product owner must know his or her business and prepare for scalability, flexibility and maintainability.