書籍『A Practical Approach to Large-Scale Agile Development』 [プログラマー現役続行]
大規模な組み込みシステムに対するアジャイル開発の適用例を述べた本です。副題に、「How HP Transformed LaserJet FutureSmart Firmware」となっているようにHPでのプリンターやMFP(Multi-Function Products)(いわゆる、コピー、プリント、ファックなどが一台に搭載されたデジタル複合機)の開発において、いかにしてアジャイル開発を適用したかを述べた本です。どのくらい大規模かというと、コード量にして1,000万行以上、開発者数400名以上という大規模なものです。
アジャイル開発に移行する前のHPでは、どのような問題を抱えていたかというと、次のような問題を抱えていたと述べられています。
- 開発リソースの10%は、「Build Boss」と呼ばれるチームごとの専任のフルタイムのコードのインテグレーション担当者であった。それに加えて、全体をビルドするチームも存在していた。
- 全体をビルドするチームも1日に1回か2回しかビルドを行えなかった。
- 非常に時間を要するビルドプロセスだったので、開発者が1つの変更を入れても、システム全体で正しく動作するのを確認できるようになるまで1週間を要していた。
- 開発リソースの20%が、すぐに不要になったり、提供されない、将来の機能提供に関する詳細な計画に費やされていた
- 開発リソースの25%は、既存のコードと機能を新製品へ移植することに費やされていた。
- 開発リソースの15%は、手動によるテストに費やされていた。そのため、製品計画に製品を頻繁に追加できなかった。
- 開発リソースの25%は、顧客要求に対応するとか、製品間の一貫性を維持するための現行製品のサポートに費やされていた。
結果が、どうなったかは、次のスライドの11ページ目にまとめられています。
http://www.agileleadershipnetwork.org/wp-content/uploads/2012/12/Young-LargeScaleAgielDevelopment-2012-01-20.pdf
また、著者の一人によるプレゼンテーションの動画もあります。
"A Practical Approach to Large Scale Agile Development" - Gary Gruver at Spark 2013
実際の製品開発をどのように行っているかを企業が公表することはないため、多くの企業は、製品のベンチマークは行っても、開発プロセスのベンチマークを行うことはないです。結果として、開発プロセスが、井の中の蛙となってしまうことがあります。この本は、組み込みシステムであっても、自分達の開発プロセスをベンチマークする上で、優れた材料を提供していると思います。
2年前に記事「継続インテグレーションは強みではなくなった」を書いています。その記事を書いた頃には、HPは、はるかに先を行っていたということになります。
2014-09-08 08:07
コメント(0)