In Episode #93 of The Rocketry Show they interviewed Matt Steele who has had a long career in the aerospace industry and runs North Coast Rocketry on the side. Their conversation touched on a lot of interesting things but two moments stood out to me:
- When asked how to get started in multi-stage rocketry Matt used the phrase “craw, walk, run” and described how to break the mechanics of staging a rocket into simple, sequential steps
- Matt favors building multiple copies of the same model back to back instead of in parallel making notes each time about what could be improved–hobby rocketry kaizen
These set my mind racing. In a Deming cycle, improvements to systems are made thorough iteration. When I apply these practices at work, one of the things we talk about is iterating at the right level of effort. As an idea becomes reality it passes though several phases. In software, that looks like: goals, requirements, mock-ups, prototypes, minimum-viable product, working solution1. Each stage of the process takes more effort to complete an iteration and each stage can be completed multiple times until the desired results are achieved. In the abstract, these steps look a lot like the ones used while designing a rocket.
I can design a rocket as many times as I want in my head but, eventually, I will need to draw it out, model it, and start building. It’s OK for it to take a few times to get it right. Improving takes deliberate practice.
There are lots of different software development methodologies. This one is a flavor of “agile” that has worked well for me. To me, the main benefit of an agile process is that different parts of the solution can be at different levels of completion at the same time. This makes the process very flexible. ↩