アジャイルプラクティスの副効果
アジャイル開発に対して様々な良さが語られていますが、従来型をベースにした開発をする中で、アジャイルプラクティスの直接的な目的や効果だけでは分からない良さがあることに気付きました。
1.繰り返しはコミュニケーションを良くする
繰り返しの中で、具体的な成果物が明確になるほか、外部環境の変化に対応してスコープを変更することで、変化に適応できると言われます。
また繰り返し開発の単位である、イテレーション(スクラムだとスプリント)と呼ばれる「タスクの集合」ごとにプロセス改善が進むと言われています。
もちろんこれらも重要な特徴ですが、同じメンバーで繰り返すことが別の効果を生むと思います。土屋さんがどこかのシンポジウムでこんなことを言われていました(詳細は自信ありません。すみません)。
- 従来型の開発は課題にあわせて人を集めるイメージ
- アジャイルは開発者がそこにいて、仕事が流れてくるイメージ
従来開発は文書により分業を進めて、実装の際には人を増員して一気に作ってしまいます。この増員が、コミュニケーションの負荷やロスを発生し、うまくいかなくなる可能性があります。
作業の遅れを取り返すために増員すると言うのは、良くあるデスマーチのパターンでしょう。ドキュメントによりコミュニケーションをはかる従来型開発においても、増員は慎重に行わないといけないのは、経験者なら誰もが実感していることでしょう。
ソフトウェア工学の研究においても、阪南大学の花川先生がメンバーの習熟や、メンバー間のコミュニケーションを考慮したシミュレータの開発などをされています。このように、配員・増員は難しいことであると言えると思います。
このように「繰り返し開発」には
「規模の増大によるコミュニケーションの無駄がない」
と言う副効果があると思います。これは、アジャイルが人を重視したプロセスであると言うこととつながっているのでしょう。
2.最適なペースの仕事は納得性を高める
「XPエクストリーム・プログラミング入門」の初版では人としての豊かな生活や問題の早期発見等が書かれていますが、それ以外にも大切な効果があると思います。それは
「納得して作業を担当する」
ということです。担当作業に対するコミットメントはソフトウェア開発の重要な要素の一つです。しかし、作業の効率を考えると、できる人に負荷が集中しがちです。
「TSPガイドブック:リーダー編
」にも「動的な再計画」(p.118)や「作業負荷のバランス」(p.120)が書かれています。しかし、目先の作業を早めにこなそうとしていたのに、また作業が増えるという感情を持ってしまうと、うまくいきません。お互いに協力できるような雰囲気を作るためにも、「最適なペースの仕事」は効果があると思います。
3.リーダーの仕事
分かっているけどアンチパターンにはまってしまいます。そのような現実から、混乱をどのように取り除くか、その実践がリーダの腕の見せ所なのでしょうね。
« 「ウォータフォールモデル」を超えた「エクストリームウォータフォール」 #agileto2010 | トップページ | [#TiDD] 二つのチケット駆動開発と「方法論」 »
「私のアジャイル」カテゴリの記事
- One fact in one placeとチケット駆動開発 - Software Processes are Software, Too -(2021.12.21)
- マルチスレッド処理と進捗管理・配員・作業分割/割り当て- Software Processes are Software, Too -(2021.12.20)
- カプセル化と組織パターン - Software Processes are Software, Too -(2021.12.20)
- Greedy algorithmと2割8割の法則 - Software Processes are Software, Too -(2021.12.12)
- 「任せて、任せず」「魚を与えるのではなく"釣り"を教えよ」(2021.08.16)
« 「ウォータフォールモデル」を超えた「エクストリームウォータフォール」 #agileto2010 | トップページ | [#TiDD] 二つのチケット駆動開発と「方法論」 »
コメント