アジャイル開発のFAQ
アジャイル開発のFAQについてメモ。
【1】アジャイル開発のような繰り返し型開発は、作業やリソースの重複が多くて生産性が低いのではないですか?
【回答】最初のイテレーションは試行錯誤しがちですが、イテレーションをこなすたびに慣れていき、生産性は上がっています。
特にSW開発は常に新技術を取り入れているので、開発者の学習曲線を考慮する必要があります。
アジャイル開発では、開発者の成長を意識的に支援するプラクティスが含まれています。
例えば、イテレーション毎にふりかえりMTを開いてプロセス改善する意識を開発者に植え付けますし、ペアプログラミングで開発者と技術や設計思想を共有するプラクティスもあります。
特に、プロジェクトファシリテーションでは、開発者の成長を促進するプラクティスが多々あるので参考にしてみてはいかがでしょうか?
【2】開発を繰り返すから、コストが高いのでは?
【回答】最初のイテレーションはコストは高いですが、トータルのコストはWF型開発よりも減るはずです。
1,2回目のイテレーションでは、実現できる機能も少なく、開発者も開発よりもリリース作業に手間取って、試行錯誤するので、コストはかかります。
しかし、イテレーションをこなすたびに、リリースのリハーサルを何度もしているので、リリース作業よりも開発に専念でき、開発者もシステム設計や業務に慣れていくので、後工程ほど生産性も上がります。
しかし、WF型開発の場合、仕様変更やリスク対処などの手戻り作業に工数を取られて、後工程ほど本来の作業に混乱が生じがちです。
そして、最後の一発リリース作業でいろんな問題が発見されると大きなコストがかかります。
更には、リリース後の不具合修正や改善要望が膨大に来た場合、更にコストは増えます。
アジャイル開発では、イテレーション単位に開発するため、顧客のフィードバックや障害修正を次のイテレーションで解決する方向へ進めるので、リスクを早期に対処する余地があるのです。
【3】アジャイル開発のような短期間の繰り返し型開発は、何でも早くリリースするから、品質が悪いのではないですか?
【回答】アジャイル開発と言っても、品質管理に奇策はありません。
InfoQ: James Shore氏「アジャイルの衰退と凋落」のように、戦略のない単なる繰り返し型開発は、本来のアジャイル開発ではないのです。
リリースする時点で品質を確保できてなければ、リリース後に山のようなクレームがやってきます。
また、アジャイル開発でもXPは、テスト駆動開発や継続的インテグレーションのように、コードラインの品質管理について、従来の開発にはない観点をもたらしています。
【注意】
アジャイル開発での品質管理は、上記の回答では不十分で、まだ弱点があるように思う。
従来の開発スタイルに比べて、その優位性を明示できていないように思う。
そこに、RedmineやTestLink、Mercurialなどのツールでアジャイル開発を補強できる余地がある。
| 固定リンク
「プロジェクトマネジメント」カテゴリの記事
- ストラテジストとプロジェクトマネージャの役割の違いは何なのかpart2~プロセスのレイヤと達成目標のレイヤが異なる(2023.02.18)
- ストラテジストとプロジェクトマネージャの役割の違いは何なのかpart1~CSFはWBSみたいなものと捉える(2023.02.14)
- PM理論では課業志向の方が関係志向よりも生産性が高いことを主張しているのではないか(2023.01.22)
- 現代日本人の弱点はリーダーシップ不足と生産性が著しく低いこと、そしてリスク許容度が著しく低いことだ(2022.12.23)
- プロセス設計はどの範囲を指すのか?~プロマネの仕事はテーラリングにある(2022.06.19)
「Redmine」カテゴリの記事
- 「Redmineハンドブック」は良い本です(2022.12.17)
- 第23回東京Redmine勉強会の感想~コミュニティは仲間から生まれて続く #redmineT(2022.11.06)
- 第22回東京Redmine勉強会の感想 #redmineT(2022.05.29)
- 知識は経験よりも大切か、経験は知識よりも勝るのか、SECIモデルは相互作用を語る(2022.04.26)
- オープンソースERPパッケージiDempiereに対する派生開発手法の提案の資料が興味深かった(2022.04.24)
「ソフトウェア工学」カテゴリの記事
- ストラテジストとプロジェクトマネージャの役割の違いは何なのかpart2~プロセスのレイヤと達成目標のレイヤが異なる(2023.02.18)
- プロジェクト管理やソフトウェアアーキテクチャの問題の背後にはトレードオフが隠れているのではないか(2023.02.18)
- デブサミ2023の感想(2023.02.11)
- ChatGPTにEclipseでEclEmmaとJaCoCoからカバレッジを出力する方法を聞いた(2023.02.01)
- DDPは品質管理に役立つのか(2022.12.13)
「TestLink」カテゴリの記事
- TestLinkの要件管理にUSDMを適用する方法(2023.01.22)
- TestLinkのテストケースはクラスとインスタンスの考え方で区別する(2023.01.22)
- テスト管理ツールCAT、TestRail、QualityForwardのオンラインのマニュアルのリンク(2022.09.24)
- テスト管理ツールTestRail、CAT、QualityForwardの感想(2022.07.30)
- TestRailの感想(2021.06.23)
「プロジェクトファシリテーション」カテゴリの記事
- PM理論では課業志向の方が関係志向よりも生産性が高いことを主張しているのではないか(2023.01.22)
- 「世界を動かすプロジェクトマネジメントの教科書」の概念図(2022.01.16)
- 【資料公開】チケット駆動開発の解説~タスク管理からプロセス改善へ #redmine(2022.01.14)
- 昭和の管理者の承認処理は判子押印、令和の管理者の承認処理はいいねボタンを押すこと(2021.12.31)
- チケット駆動開発のプロセスとチケット管理システムの全体像 #Redmine(2021.12.28)
「廃止Mercurial」カテゴリの記事
- GitHubはオープンソースのプロセスを標準化した(2015.06.11)
- 「反復型ソフトウェア開発」はソフトウェア工学の良書(2013.02.09)
- Mercurialに取り込まれたコミュニティ由来の機能一覧(2013.01.12)
- WordやExcelから直接Mercurialへコミットできるアドオンmsofficehg(2012.12.07)
- RedmineでSubversion リポジトリ表示を高速化する方法(2012.11.23)
「構成管理・Git」カテゴリの記事
- 小説活動にプルリクエスト駆動が必要になってきた(2022.05.08)
- 【資料公開】チケット駆動開発の解説~タスク管理からプロセス改善へ #redmine(2022.01.14)
- プログラミングしてる時はでっかいピタゴラ装置を作ってるみたいな感じ(2022.01.09)
- チケット駆動開発のプロセスとチケット管理システムの全体像 #Redmine(2021.12.28)
- 第21回東京Redmine勉強会の感想 #redmineT ~Redmineは業務も組織も包み込む柔軟性がある(2021.11.28)
「Agile」カテゴリの記事
- PM理論では課業志向の方が関係志向よりも生産性が高いことを主張しているのではないか(2023.01.22)
- 現代日本人の弱点はリーダーシップ不足と生産性が著しく低いこと、そしてリスク許容度が著しく低いことだ(2022.12.23)
- DDPは品質管理に役立つのか(2022.12.13)
- UMTPモデリングフォーラムのパネル討論の感想(2022.11.29)
- XPエクストリームプログラミングは偉大だ~時代がその設計思想に追いついた(2022.11.16)
コメント