論文メモ How much Up-Front? A Grounded Theory of Agile Architecture
September 25, 2020「アジャイル開発において、実装前のアーキテクチャ設計にどれだけ工数を割くべきか?」という問いの回答指針を、44名のソフトウェア開発者に面接し、その結果からグラウンデッド・セオリーで提案した。
面接に参加した開発者には、最低でも6年以上の開発経験があり、11名は20年以上の経験がある。 面接の長さは平均で70分であり、面接では、経験したプロジェクトを開発者に説明してもらう。 また、アーキテクチャを説明する文書も提供してもらった。 文書には設計の意思決定の理由も書かれている。
提案手法では、5つパターンに分類でき、チームをとりまく6つの観点から最適なパターンを選ぶことをすすめてる。 パターンは、strategiesといい、観点はforcesといわれている。 strategiesとforcesは、相互に影響し、その関係は以下の図で描かれる。
四角の枠はforceを、丸枠はstrategyを示す。 矢印は依存や因果関係を表し、実線は正の、点線は負の影響を与えることを意味する。 矢印のない点線はトリガーであり、\(\oplus\)は排他関係を示す。 forcesとstrategiesの意味は次のとおり。
- F1 要件が変りやすい
- F2 アーキテクチャの複雑さが及ぼす負のリスク
- F3 システムの機能がすべて実装される前の不完全なシステムに対する顧客のニーズ
- F4 チームの機敏さや実装前の設計に対する姿勢
- F5 顧客がどれだけ事前の設計や手続を重んじるか
- F6 開発者のシステム開発の技量と意思決定の能力
- S1 要件や環境の変化に即応する。S2の指針とは対立する。
- S2 問題が生じないように、事前にリスクを減らす
- S3 設計を最小限にとどめる
- S4 開発前に、全ての要件を洗い出し、完全な設計を済ませる
- S5 フレームワークやテンプレートをもちいて実装する
- 論文をこちらからダウンロードできます。
- 図は論文から引用されています。