Ralph Jocham氏がInfoQとのインタビューで,スイス郵政公社の実施したスクラムのスケールアップ作業が,Nexusフレームワークを使用することにより,計画を3ヶ月前倒しで実現できた理由について説明した。インタビューの中で氏は,アジャイルチームが価値を提供する方法,スクラムマスタとプロダクトオーナにとって最も重要なスキル,提供するソフトウェアの品質を把握することの重要性,より多くの価値を提供するためにチームにできること,などについて語ってくれた。
InfoQ: アジャイルチームによる価値の提供について,ご意見を聞かせてください。価値(value)とは何なのでしょう?
Jocham: 価値というのは重要ですが,あいまいな言葉でもあります。最終的には,価値とはお金,つまり製品ないしサービスを販売することで得られる利益です。スクラムでは,価値の最大化はプロダクトオーナの役割です。管理者としてのプロダクトオーナは,開発チームとの密接なコラボレーションの下で,製品に関するすべての作業をアジャイル的手法でカバーすることによってシナジーを実現するものである,と私たちは考えています。
利益以外の価値は,次のような部分で求められます。
- ビジョン: プロダクトオーナが明確な目標を伝えることで,極めて高いレベルでの自己組織化が実現します。答と意思決定をオープンに求められることで,より多くの価値を引き出すことができます。
- プロダクトバックログの優先順位設定: 依存性を明確にすることで,機能や技術的リスクへの早期の取り組みが可能になります。何よりも重要なのは,早い段階で高い価値を提供できることです。
- リリース: リリースを実施するまでは,単なる在庫(inventory)に過ぎません。仕様,部分的に実装された機能(ソースコード),ドキュメントなど,リリースに向けた作業は,本質的にすべてが資産に結び付いています。リリースとは価値を作り出すための唯一のメカニズムであり,チャンスなのです。ただし,すべてのリリースに価値が保証されている訳ではありません。マーケットがその製品ないしサービスを購入することで,価値が生み出されるかどうかが決まります。より多くのリリースを行うことで,より多くのことをマーケットから学び,以後のリリースの価値を最大化するために必要な洞察力と適合性を得る機会も多く得られます。
- 負の価値: このことを忘れるべきではありません。バグや不安定な製品,不適切なUI変更などといった,ユーザを不幸にする結果はすべて負の価値なのです。製品ないしサービスが,可能な限り高品質であるように心掛けてください。
InfoQ: チームにおいて,価値を提供する役割を果たすのは何だと思われますか?
Jocham: スプリントの終了時に,すべてを“完了(Done)”にすることが最も重要です。完了というのはすなわち,リリース可能であるという意味だからです。“完了”していなければ,在庫を増やしたに過ぎません。すべてのスプリントでリリースする必要はありませんが,“完了”はビジネスを迅速に進める上で必要なものです。作業を“完了”するためには,必要なスキルをすべて備えた,クロスファンクショナルなチームが必要です。私はTEAM=PRODUCTという等式をよく使います。チームの中にあるものが製品になるのであって,チームが持たないものが製品になることはあり得ません。
最先端の技術的プラクティスも重要な役割を持っています。開発において適切な判断をする上では,スクラムの経験値も重要ですが,スクラム自体は技術的なものではありませんから,どうすればよいかを教えてはくれません。長期にわたって価値を維持するためには,確固とした技術的基盤が必要なのです。それがなければ,価値は,サポートやメンテナンスで食い潰されてしまうでしょう。
InfoQ: スクラムマスタが持つべきスキルで,最も重要なものは何だと思われますか?プロダクトオーナについてはどうでしょう?その理由も教えてください。
Jocham: Scrum.orgのトレーニングの中に,この質問に答えるエクササイズがあります。数百回のPSMとPSPOトレーニングでの,上位の回答は次のものです。
スクラムマスタ:
- スクラム
- コミュニケーション
- EQあるいは共感
- 永続
- モデレータあるいはファシリテータ
- 信頼
プロダクトオーナ:
- ドメインとビジネスの知識
- コミュニケーション
- 決断力
- 先見の明
- 技術力
- 優先順位付け
スクラムマスタとして必要なのは,スクラムを熟知することです。このスキルは,長年の経験と努力によってのみ得られるものです。経験から言えるのは,この基本的なスキルを欠いた,いわゆる“アジャイルコーチ”の数が多過ぎるということです。十分な役割を果たすためには,彼らはみな(学習と習得のレベルを表す”守破離”の)“離”のレベルで行動できなくてはなりません。その次に重要なのがコミュニケーションのスキルです。スクラムマスタは企業内のあらゆる障害を解決すると同時に,開発チームと密接に連携することが求められます。同じことがEQや共感にも言えます。優れたコミュニケーションスキルと,さらに優れた聞き取りスキル -- 個人的にはこれもコミュニケーションの一形態だと思っています -- を持って,チームの各メンバを理解し,力付けなくてはなりません。さらにスクラムマスタは,スプリント計画からレトロスペクティブまでのスクラムイベントすべてに加えて,他のすべての重要なワークショップも実施する必要があります。そのためには,モデレータとしてのスキルや,与えられたコンテキストでの適切な運営スキルも求められるでしょう。結果を恐れずに正しく行動する,チームのために尽力する,”No”という答を選択しない,ということを忘れてはなりません。
プロダクトオーナは自分自身が起業家であるという考えの下で,数多くの小さな目標を通じて,壮大なビジョンを追求しなくてなりません。そのためにはビジネスのドメインと,それを取り巻くドメインを知ることが必要です。そのような知識なくしては,その道程においてタフな決断を下すことはおろか,競合するアイデアに優先順位を付けることもままならないでしょう。さらに,熟達した技術能力を備えることで,開発チームと密接に共同作業することによる技術的負債の最小化,今後登場するテクノロジのスマートな活用による価値の最大化を実現しなくてはなりません。これらすべてにおいて,強力なコミュニケーションスキルが必要となります。
InfoQ: 提供するソフトウェアの品質が妥当であるかを知るには,どうすればよいのでしょう?
Jocham:自分が健康かどうか分かりますか?分かりませんよね。健康なライフスタイルを過ごして,問題の兆候に気を付けるのが精いっぱいだと思います。製品についても同じことです。
先に進む前に,ここで一旦戻って,先程の質問にお答えしましょう。どのような品質が存在するのか?私にとっては2つあります。ひとつは,品質とは製品が適切であること。コントロールされた環境では妥当性(validation)と呼ばれるものです。ふたつめは,品質とは技術的な適切さのことです。コントロールされた環境では,こちらは検証(verification)と呼ばれています。
スイス郵便のプロジェクトでは,技術的な意味での品質に対しては,“完了”を定義することと,最先端の技術プラクティスの実践を通じて対応しました。製品の品質については,エンドユーザ,さらには配達員から支店長までの関係者との,継続的なコネクションを通じて確認を行いました。最終的にはすべて,ユーザの幸福に関するものです。
InfoQ: より多くの価値の提供を目指すためにチームに何ができるのか,アドバイスはありますか?
Jocham: とてもよい質問ですが,単純な解はありません。価値とは成功すること,つまり,どうすれば成功できるか?ということになりますから。それは最終目標なのです!価値は,事前の決定に対する遅延指標です。これはすなわち,アウトプットを定量化して,それを事前の決定に対して相関させる方法を見出す必要がある,ということです。この設定が成功して,実証に基づくプロセス管理が確立できれば,価値を最大化するために必要なツールはすべて整ったことになるのです。