IT古典良書を読み解く《第8回》「初めてのアジャイル開発よろず相談室」
初めてのアジャイル開発 〜その3(完)〜
「初めてのアジャイル開発よろず相談室」
初めてのアジャイル開発編 完
こんにちは。スクラムマスターの伊藤です。
エジプトの壁画には「最近の若いものは」という記述があるそうです。人は進化しているようで根本は変わっていないのかもしれませんね。それだから、古典を読んでも通じるものが多いのかも知れません。
「初めてのアジャイル開発」を読み解く最終回はよろず相談室として、アジャイルをより良くするヒントと、よくある質問を紹介したいと思います。
《よもやま話》
エジプトといえば世界四大文明の一つでピラミッドが有名ですが、世界初がとても多い印象です。パンもビールもワインもエジプト発祥で、1年を365日にして、スポーツイベントやペットに名前を付けるということまで始めるのですから現代とあまり変わらないですね。※諸説あります
アジャイルを成功させるヒント
ここではアジャイル開発で陥りがちな問題を解決するヒントを紹介していきます。既にアジャイル開発を経験した人ほど同感する点があるかと思います。(P.301 第11章 プラティクスのヒント)
■「水曜日」に終了することを検討する
スプリントの終了日を金曜日でなく、その週の水曜日(または木曜日)に設定することを検討するように書かれています。こうすることで、目標は水曜日だが、木・金を不測の事態が起きた場合の予備日としたり、デモやふりかえりを行う時間として使うことも出来ます。月曜日開始、金曜日終了のプロジェクトが多いと思いますが、日本では月曜日が祝日になることが多く、開始日がずれてリズムが崩れる原因となるため開始日も水曜日にするといつも同じリズムを刻めるというメリットもあります。本書には以下のようにも書かれています。耳が痛い方もいるのではないでしょうか。
■間接タスクを計画に組み込むこと
1日8時間使えるものとしてタスクを見積もると、実際は作業時間がそれほど取れずに遅延するということが往々にしてあります。これは間接タスクが組み込まれていないためです。具体的には以下のような間接タスクになります。
■立候補
アジャイルは自律的なチームを作っていくことが重要ですが、このヒントがその手助けになりそうです。タスクを洗い出した後に、担当者をマネージャーのような人がメンバーの特性を見て決定しているチームも多いかもしれません。以下のように書かれています。
仮に、誰も立候補しないタスクがあったらどうするか?
「我々は自律的チームとして働いているのであって、マネージャーに指揮されているのではない。これはチーム全体で解決しなければならない問題だ。」とチームがこのレベルまで自律的になることを目指すのが良いでしょう。
■その他 現在も使われるキーワード
本書は2004年と16年前の発売ですが以下のようなものを使うことを成功するプラクティスに挙げています。
- CIツール
- Wiki
- ホワイトボード
- マインドマップ
- テスト駆動開発
《よもやま話》
本書にはアジャイル開発手法としてスクラム、XP、Up、Evoおよび組み合わせが紹介されていてスクラム+XPが推されているような記載となっています。現在はスクラムが圧倒的に使われていると言えそうです。他の手法のプラクティスも取り入れることが行われていて個人的に大好きで実は効果も高いのがXPで提唱している「週に40時間以上働かない」というものです。それを超えると品質が低下するそうです。
(イメージ:John Darroch - Individual placard at march against racism in Auckland.(2019)/ Adapted.)
アジャイルの見積手法
アジャイル開発では作業量を見積もることが度々発生します。基本的には担当者が決めたりするのですが、重大なプロジェクトの場合には広帯域デルファイ法(Wideband Delphi)の利用を検討すべきと書かれています。筆者も使ったことがありますが、簡単な割にしっくりする結果が出やすいと感じています。(P.316 広帯域デルファイ法を使った見積もり改善)
5つのステップからなりますので紹介します。
1. 少なくとも3人以上が集まって情報源を議論する。見積の単位を検討する
2. 各自が見積もりを作成する。ここでの見積もり手法は何を使っても良いが3. 種類の見積もりを作成する。
これはPERT見積もりと呼ばれるもので以下の3つになる。
3. 見積もりをまとめ役に提出し、それぞれの平均を出す。バイアスを避けるため、誰が行った見積もりかをグループ全体に知らせることはしない。見積もった人は、自分の考えや仮定事項などを話し合う
4. 2、 3を少なくとももう1回は繰り返す。まさにアジャイル。反復型ですね。
5. 最後のサイクルの平均値を使って次のPRET式によって最終的な数値を計算する。これによって期待値が算出されます。
《よもやま話》
デルファイ法は聞いたことあるけど、広帯域デルファイ法は聞かないなぁという方もいると思いますが、なんと「広帯域デルファイ法」でGoogle検索すると1ページ目に本書の目次が3つもヒットします。ちなみに、Wideband delphiで検索するとWikipediaは英語ページのみヒットしたりします。日本ではあまり使われていないようですね。
本書にはデルファイ法は1948年にRAND社で作り出され、1970年代にバリー・ベームによって改良され広帯域デルファイ法になったと書かれています。
アジャイルFAQ
アジャイル開発は導入に様々な障壁があったりします。こういった場合はどうするのかというFAQを紹介します。見出しをみると、こんなピンポイントな質問が用意されているのかとも思いますが、困っている人が多いという裏返しのようです。(P. 361 第12章 FAQ)
■ アジャイル採用するのに顧客を(あるいは経営陣を)説得するにはどうすればよいか
■ アジャイルを採用した場合には、もともと存在するテスト部門や品質管理(Quality Assurance :QA)部門の役割はどうなるか
■ アジャイルを採用する場合には、保守用のドキュメントはどのように作成すればよいか
終わりに
3回に渡ってお届けした「初めてのアジャイル開発」いかがだったでしょうか。アジャイル開発は進化していくものですが、現在でも通じる、あまり変わることのない根幹の部分を紹介するよう心掛けましたので、アジャイル開発をする上でヒントになれば幸いです。
最後にですが、アジャイルソフトウェア開発宣言というものがあり、個人的に大事だと思っていることが「計画に従うことより変化への対応を」です。なんちゃってアジャイルで苦労しているプロジェクトも多いですがアジャイル開発のルールを遵守するあまり、動脈硬化を起こしているプロジェクトも少なくないようです。形式にこだわって、中々進まないお役所仕事のような形式主義ではなく現実に即した対応をする現実主義でいきたいと思います。
《よもやま話》
最後の話はなんとJoelが苦言をしているblogがあったりします(2006年 執筆)。スプリント内の割り込みは禁止ですが、2時間で終わる本当に緊急のタスクを入れられないのはビジネスにおいて本末転倒ではといった内容です。ちなみに単行本には未収録です。
(原文)
- From the “you call this agile?” department
(日本語アーカイブ)
- アジャイル(?)なチームの話 https://bit.ly/3ns31J2
お問合せはお気軽に
https://service.shiftinc.jp/contact/
SHIFTについて(コーポレートサイト)
https://www.shiftinc.jp/
SHIFTのサービスについて(サービスサイト)
https://service.shiftinc.jp/
SHIFTの導入事例
https://service.shiftinc.jp/case/
お役立ち資料はこちら
https://service.shiftinc.jp/resources/
SHIFTの採用情報はこちら
https://recruit.shiftinc.jp/career/