Good metaphor！ In the embedded software world, we will need a customized & hybrid Agile given that: 1) Normally the SW has dependencies on HW, and HW is hard to be agile due to the cost and turnaround time. Therefore, SW Agile + HW waterfall model is common. 2) Our SP and Enterprise customers have higher quality requirement, and they don't like to do upgrade and testing with every iteration release. That's why we still need release level quality assurance.