I think I"ve always been a big fan of lean philosophy. Even back when I didn"t know about it or its name for that matter. And not because it looked fancy but probably because I always knew it felt natural. I must be one of those people who think the world keeps moving even when we"re pausing.
Lean is all about movement. It starts with accepting that regardless of your area of practice you cannot stay still. And not because some marketing reason like "competition never sleeps" or tehnical pressure to be up to date. It is in our nature to evolve so we might as well do it in a controlled environment. It is not by accident we call the stillness, lazyness!
The history of lean takes us back to the beginnings of industrialization. And it all started with craftsmen. Very skilled but expensive and highly unlikely to replicate. Not to mention to scale. The obvious problem: people wanted things to be more affordable. Mass production was invented which meant high volumes of the same product. Exactly identical! Henry Ford couldn"t put it better: any car you wish as long as it"s a black Ford T. But then again, more problems. High volume means huge quantities of final products but also of components. Just imagine what would happen if a component was wrong. Indeed, quality was a big challenge for mass producers as errors were difficult to spot and most importantly, to fix. Another big trouble was adding variety. Huge volumes equal huge stocks. Highly unlikely to be able to repond to a particular demand.
Meanwhile, the software industry has been through the same phases. Long time ago it took a team of hightly skilled engineers to program a computer. Or a mainframe, to be more accurate. Things evolved rapidly and once the PC became a common presence in our lives, we needed software to be more diverse not just to process some data. And even more importantly, we started to rely on software for more and more aspects including some very sensitive like flight control or medicine. So, we started to ask for software of better quality and very diverse. Heard that before?
Lean, better known under Agile or Scrum in the software industry is where it all started. And not recently but about half a century ago. Back then, Japanese desperately needed a solution to produce car that would beat Fords in areas like quality, price and variety. Next to impossible, right? They did it by inventing a system (later known as TPS - Toyota Production System) that would use limited stocks, nearly close to zero. That allowed them to spot errors immediately and to improve quality constantly. And with virtually no stocks they became able to respond quickly to any particular customer demand. Now, that"s being Agile! By focusing on producing more cars on each production cycle they were able to produce more value for the same amount of effort spent. And that"s how those cars got really cheap.
In software, we focus on small batches of work which we usually take from a much larger backlog of things to do. Small meaning enough to spot any errors and to be able to switch imediatelly if the customer needs. And by increasing the value of what we offer on a cycle bases (typically called sprint or iteration) we can actually deliver great value at a very reasonable cost.
Just like the manufacturing is no longer viable without lean, it started to look like doing software is no longer viable without delivering high value at low cost. Just take a look at any major vendor"s market place and you"ll notice that less than 20% of the apps are actually making money accounting for most of the market. That Pareto, again!