はじめに
みなさん、こんにちは。今年からテラスカイにジョインしました吉清です。
思い起こせば30年近くPMをやってきました。職歴としては世界一のDBベンダー、日本一のSIer、世界一のCRMベンダーなどを渡り歩いてきました。開発規模も大きいものでは数百人月くらい、幾つかの伝説的なプロジェクトもやらせて頂きました。開発手法もウォーターフォールからアジャイルまで何でもやってきており、日々業界の変化を楽しんでいる現場大好きエンジニアです。
技術寄りではない、普段のTechBlogとは違った観点で今日は書いていきたいと思います。
日本企業におけるアジャイル開発の課題
巷ではアジャイルという開発手法がよく聞こえてきますが、浸透していかない状況もあります。それではどのような課題があるのでしょうか。
・ユーザ企業はアジャイルのようなスピード感を持って開発したいが自社で開発要員がいないため、開発ベンダー依存からなかなか脱却できない。
・開発スタイルがウォーターフォール型と大きく異なり、成果物に対して検収するわけではなく、作業に対して対価を支払う形式のため、日本で主流の請負契約とは非常に相性が悪い。
欧米との開発スタイルの違い
アジャイル型開発が急速に普及してきている欧米はユーザ企業にIT技術者が多く在籍し、契約を挟まない開発をすることで、上記の課題にとらわれることなく非常にスピーディーな開発が可能となっています。
今後について
課題がありつつも時代はアジャイル開発に向かっており、海外企業と戦うことが多い日本企業はアジャイル開発にシフトしていかないとスピードで負けて国際競争力を失うことになりかねません。
ユーザ企業と開発ベンダーが合意出来る契約形態、ジョイントベンチャーのような形を作ることが急務と言えます。
IPAからも非ウォーターフォール型開発の普及要因と適用領域の拡大に関する調査報告書が出ていますので、参考にしてみてください。
アジャイル時代のプロジェクト管理について
では本題のアジャイル時代のプロジェクト管理とはどのようなものでしょうか。
PMBOKではアジャイルの考え方を取り入れた「PMBOKソフトウェア拡張版」もリリースされており、マネジメント領域が定義されてきています。
ウォーターフォールのような計画駆動型(予測型)の開発では、計画を事前にしっかり作り、WBSでスケジュールを管理し、各チームから上がってきた課題を管理し、開発メンバーの稼働、コストを管理し、工程ごとの作成物の品質を管理することがPMの仕事でした。いわゆるQCD管理です。
アジャイルのような適応型ソフトウェア開発は、未来を予測することは困難という前提でおこないます。
そのため計画立案、実行を重視するのではなく、臨機応変に対応することが必要です。ただし無計画ではなくイテレーションと呼ばれる2週間程度を1サイクル(要件確認~テスト)として複数回繰り返すことで、ソフトウェア開発をおこなうようにします。
そこで求められる主なプロジェクト管理とは以下になります。
PMBOKの知識エリア |
具体的な作業 |
統合マネジメント |
プロジェクトマネジメント計画書作成 プロジェクトの作業監視、コントロール 変更管理(発生した変更への積極対応、プロダクトバックログへのインプット) |
スコープ・マネジメント |
優先順位付きプロダクトバックログからのイテレーション計画作成 |
タイム・マネジメント |
タイムボックスの設定 タスクボード作成:筆者は無料のTrelloを使用しています |
コスト・マネジメント |
イテレーションの回数、優先順位付きのプロダクトバックログ設定 |
品質マネジメント |
品質を落とさない短期開発のための品質計画の策定と品質保証活動の実施 |
人的資源マネジメント |
プロダクトオーナー、スクラムマスターの選定 アジャイルチーム編成(コミュニケーションパス数を考慮すると1チーム9名以下が望ましい) |
コミュニケーション・マネジメント |
ユーザ企業との密なコミュニケーション チーム間コミュニケーション |
リスク・マネジメント |
リスク特定 リスクコントロール |
ステークホルダー・マネジメント |
ステークホルダーを効果的に関与させる |
作業だけ見ると、過去に身に着けた基本スキルは変わらずに、やり方を変化させることでプロジェクト管理は行えそうに思えないですか。もちろんスピード感を持った対応が必要にはなりますが。
ウォーターフォールで育ったPMも積極的にアジャイル開発をおこない、管理手法を身に着け、それを周りに展開していくことを期待しています。
最後に
今までのようにユーザ企業が要件をベンダーに伝えればあとは開発をしてくれるというやり方ではアジャイルに向きません。デジタル・トランスフォーメーション時代に備えるためにも、ユーザ企業自らが主体的に開発をリードする欧米型に変化するか、ジョイントベンチャー方式の自社と開発ベンダーを並列化するような体制を作れるかがカギとなります。そのためにはまずは小さなアジャイル型開発を成功させ、成功事例を徐々に展開し社内にウエーブを起こすことが必要と思われます。その成功事例をテラスカイがお手伝い出来ると信じています。