図1 「バーンダウンチャート」で進捗を「見える化」する
図1 「バーンダウンチャート」で進捗を「見える化」する
[画像のクリックで拡大表示]

 「マネジメントからファシリテーションへ」「1+1を2以上にする」「ソフトウエア開発を『見える化』する」──。

 平鍋健児氏(永和システムマネジメント副社長兼東京支社長,アジャイルプロセス協議会副会長)は,ソフトウエア開発の人間的な側面に焦点を当てたソフトウエア開発現場の運営手法「プロジェクト・ファシリテーション(PF)」の体系化と普及に取り組んでいる。氏の説く手法は,分かりやすく,しかも実際の開発現場で使われている手法として,IT系の開発者の間で認知が高まりつつある。その内容は,組み込み開発の現場でも取り入れが可能だ。

 この記事では,コンポーネントスクエア主催の「丸山先生レクチャーシリーズ in 東京2005」(2006年2月17日開催)での平鍋氏の講演「見える化によるプロジェクトファシリテーション」の内容に基づき,同氏が実際のソフトウエア開発現場で取り入れた工夫を紹介したい。

ソフトウエア開発の人間的な側面をカバー

 プロジェクト・ファシリテーション(PF)は,アジャイル方法論のXP(eXtreme Programming)や,トヨタ生産方式をソフトウエア開発に適用した「リーンソフトウエア開発」の考え方を背景とする,開発チームの運営手法といえる。開発現場ですぐにも採用可能な実践的な手法として体系化を進めている。

 プロジェクト・ファシリテーションの狙いは,生身の人間の集まりである開発チームの能力を最大限に引き出すことである。UMLによるモデリングや,短いサイクルで反復(イテレーション)を繰り返す開発手法など,アジャイル方法論を前提としているが,それだけでなく人間集団の感情的側面への考察に基づいたモチベーション向上の手法や,図的な表現を用いることで人間が備えるパターン認識能力に訴える,といった手法を多く取り入れる。

ソフトウエア開発現場で「見える化」を実践

 平鍋氏が紹介した開発現場での工夫には「見える化」「かんばん」「あんどん」など,親しみやすい名前が付けられている。

 例えば「見える化」は,プロジェクトの進捗を,進捗状況をタスク残量で表現した「バーンダウンチャート」により現場に掲示する。「Excelファイルで進捗を配っても,意識の共有にならない。チャートを掲示することで,誰でも分かる形で認識を共有できる」(平鍋氏)。

 「かんばん」は,作業を「ToDo」「Doing」「Done」に分け,ホワイトボードなどに張り出す。作業をする開発者が,自発的に自分が処理すべき作業に署名するやり方を取り入れている。こうしたやり方で,何が問題なのか,誰がどのような作業をしているのか,ひと目で分かるようにする。

 「あんどん」は,1時間に1回,自動的に実施する結合テストで,不具合が検出された場合には「赤」,そうでなければ「青」の明かりが付くという仕組み。「不具合があればチーム全員がすぐに分かる恐怖のツール」(平鍋氏)である。「解決すべき問題がある」という認識をチーム全員が一瞬で共有でき,素早く問題解決につなげることができる。

 このほかにも,独特の工夫がある。例えば「ペアボード」は,会話ツールとしてA4判程度のホワイトボードを積極的に使うという手法。「2人で会話するときにも,ボードをはさんで会話することで,『あなた対私』ではなく『問題対私たち』という構図を作ることができる」(平鍋氏)。「色つきUML」はUMLのクラス図を色分けすることで構造を視覚的に理解するという考え方である。

 そして最後に「ふりかえり」がある。開発プロジェクト終了後に,チーム・メンバー各自の知識を共有するとともに,チームの心理的なヒーリング(癒し)につなげる考え方である。「最近は厳しいプロジェクトが多い。プロジェクト完了後に,会社に来なくなってしまうメンバーが出たりする」(平鍋氏)。プロジェクト完了の時に,次のプロジェクトに取り組むためのモチベーションを維持するための仕組みが必要だ,という主張である。

 これらの手法は,いずれも平鍋氏が開発現場で取り入れている手法である。セミナー聴講者の反響も良く,すぐにでも取り入れ可能な手法との印象を持った開発者(プロジェクト管理者)も多かったようだ。

ベテラン開発者の間には抵抗感もある

 平鍋氏の経験は,主にIT系の開発プロジェクトでのものである。一方「アジャイル方法論は組み込み系には向かない」との意見もある。これについては平鍋氏に意見を聞いた。

 「背景は2つある。ソフトウエア開発から属人性を排除して科学的・工学的な手法で開発しよう,という考え方が伝統的なソフトウエア工学の立場だが,アジャイル方法論は人間的な側面に重点を置いているために抵抗感があるということ。もう一つは,ベテラン技術者にとって,従来の方法を否定される印象があり受け入れ難いこと」。

 確かに,アジャイル方法論の内容は,従来型の開発手法を否定する形で説明される場合が多く,ベテランほど抵抗感を感じるのかもしれない。ただし,組み込み開発にアジャイル手法を適用して有効だったとの事例報告も出ているということも事実である(Tech-On! 関連記事)。

 平鍋氏が普及させようとしているプロジェクト・ファシリテーションは,「カイゼン」(継続的な現場による改善活動)や「かんばん方式」など,日本の製造業が編み出した手法から強く影響を受けている。ソフトウエア開発現場の改善運動として,内容を検討してみる価値はあるのではないだろうか。

図2 「かんばん」方式を応用,チーム・メンバーの作業を「見える化」
図2 「かんばん」方式を応用,チーム・メンバーの作業を「見える化」
[画像のクリックで拡大表示]
図3 定時の結合テストで問題が出ると赤く光る「あんどん」
図3 定時の結合テストで問題が出ると赤く光る「あんどん」
[画像のクリックで拡大表示]
図4 「ふりかえり」に使うシートの例
図4 「ふりかえり」に使うシートの例
[画像のクリックで拡大表示]