Not long ago, a friend of mine sent me an article about Agile Waterfall.
I thought about this quite a bit, and here are my thoughts on it:
My view is that agile is not the only way, and that you should do what works for your company and situation, with the caveat that you create a culture that has these attributes:
- Continuous improvement, where every single person is on board with getting better as an individual, a team, and as a company. If people aren’t on board with that, then they are probably on the wrong bus.
- Look to eliminate waste. Waste is those things which add cost, but do not add appropriate value. This could be processes, unneeded documentation, hand-offs from one group to another when they should be working together, bugs that cause rework, waiting too long for feedback, company rules, or anything. Like at Toyota, it should be everyone’s job to find these things.
- Professionalism and trust. Teams should earn trust and be given it.
These are basic tenets of Lean thinking. Now, if you do these things, you will be agile, eventually, because it is impossible to have a culture of continuous improvement and do pure waterfall software development for long. In fact, I will go so far as to say that if you do waterfall development, you are probably robbing your company, because you are wasting your company’s money. I say probably because I do not know your situation, but I cannot see a case where pure waterfall development makes economic sense.
I’ve thought about this waaaay more than I should, but that’s just what I do, and I’ve come to the conclusion that the next time I am involved in helping a company move to agile development, I’m rarely going to use the word “agile”. It sets some people off, and also comes with preconceived notions, both good and bad. There are so many different flavors and ways of being agile that they come with assumptions. My plan is to incorporate lean concepts, and do those things that I listed above. Most people have heard of lean, and almost no one will fight it because it has won. Companies that are seriously doing continuous improvement, will get to agile, then go beyond that into lean. The problem with agile is that too many companies implement Scrum, and think they are agile, when they are really just doing the practices, but still aren’t making the real improvements that they could.