ESD21 TPS/Agile組み込み開発セミナー
聴講してきました。ESD21 TPS/Agile組み込み開発セミナー
「組込みシステム開発へのアジャイルの適用!」
「テスト駆動開発による組み込みプログラミング」の監訳者蛸島さんから、車載機器開発をアジャイルに行った事例紹介を伺いました。
カーエレクトロニクスの複雑化への対策としてアジャイル(スクラム)を導入されたとのこと。一般的にアジャイル開発は、開発要件が柔らかい案件で、顧客と開発が共同して開発内容を探索・具体化していくような場合に用いられることが多いです。それに対して蛸島さんの事例では、車載ソフト開発では比較的要件のブレは小さいそうですが、それでも仕様変更は皆無というわけではなくその対応は大変だということ、またハードソフトが並行開発になり結合試験(とそこで発生する見つかった不具合対応)の期間が短いという課題に対する対策としてアジャイル開発を導入したとのこと。ハードソフトの結合試験は工程の終わりに一定期間しか取れないとはいえ、ハードも早い段階から評価ボード等を用いた試作品を作っており、ソフトが段階的提供されることの意義は十分にあったとのことでした。
スクラムガイドからの変更点としては、スプリントレビューは実施しない、POを置かずソフト・ハード・制御の合議制で進めた、SMを置かずリーダー、サブリーダーがその役目を兼任するという形にしたとのこと。
単体テストを中心に自動化を行い品質確保を行ったとのこと。テストを自動化するにあたり、網羅的な単体テストから手掛けたとのこと。テストの自動化は着手しやすいので、それを先に行って、後からプロセスをアジャイルにするのがよいかもしれない、とのこと。「テストの自動化をしない余裕はない」。テスト駆動開発にも言及があり、後からテスト型では欠陥を許容してしまうのでよくない(TPS的!)とのことでした。