A while back I was chatting with a friend in the aviation industry and he offered an interesting explanation of how a jet engine works. In any combustion engine there are four distinct steps (strokes if you’re a gearhead):
- Intake: Air is pulled into the intake feeding the compressor
- Compression: The turbine compresses the air mixture to the optimum pressure for combustion
- Combustion: Fuel is added and ignited. The rapid expansion of this controlled explosion pushes the air to the exhaust.
- Exhaust: The exhaust gases produced by combustion propel the engine while fresh air is pulled into the intake continuing the rapid, highly efficient cycle.
I love a good metaphor. It makes the complex understandable and often opens up new avenues of insight. It didn’t dawn on me until days later while I was catching up on some agile reading that his jet engine explanation provides a fantastic metaphor for agile processes. There are many phases in the software development lifecycle: requirements gathering, design, development, and testing being the major phases that development teams are engaged in for most organizations.
The daily activities of an agile team incorporate:
A great metaphor goes a long way. At SEI, we love helping our clients develop a deeper understanding of the how and why of agile practices. Oftentimes the fundamental building blocks are there all along. It’s a delight to help a client gain a fresh perspective on how to arrange those building blocks to kick their project into high speed.