MENU

 

COLUMN

BizTechコラム

DevOps

[DevOps連載]第2回 アジャイルな計画

島 慎哉

2017.06.06

当然ですが、ビジネスには達成すべき目標があります。経営レベルの全社的な目標からプロジェクトごとの案件目標まで、その粒度は異なりますが、いずれも計画の策定は不可欠です。どのような成果を挙げればビジネス目標を達成できるか、ゴールを詳細なレベルに分割していきます。これは従来のウォーターフォール手法でもDevOpsでも同様です。異なる点は、その計画を実行するプロセスと観点にあります。

今回からDevOpsの代表的なフェーズに着目し、開発プラクティスを整理していきます。第2回目は「計画」フェーズです。

ライフサイクルの違いから見る計画手法

従来から使用されているウォーターフォール手法は、計画に重きを置くプロジェクトのライフサイクルモデルです。プロジェクト発足時にそのプロジェクトで達成すべき内容を洗い出してWBSを作成し、これに従い作業を進めます。期日を迎え、リリースを終えたらプロジェクトは解散します。

多くの場合、WBSは機能ごとや成果物ごとに項目が定義されます。いずれも、ゴールから逆算して計画を策定することで、過不足なく洗い出すことができます。これは、前回コラムでご紹介した「モード1」におけるゴールが明確化されている状態だからこそ可能と言えます。逆にゴールが明確になっていないプロジェクトの場合は、変更管理が必須となります。

一方、DevOpsは実践と修正を素早く繰り返し、改善を図るプロダクトのライフサイクルモデルです。ユーザーの目的は何なのか、システムをどのように使用するのか検討し、動くプログラムでこれを評価します。プロジェクトのように固定的な期間を決めるのではなく、長期的にプロダクトを育てていくイメージです。

DevOpsの文脈では、システム開発とはいえ、あくまでユーザー視点で語られるため、ユーザーに対して価値を提供する単位が成果の単位になります。この単位を「ユーザーストーリー」と呼び、想定される複数のユーザーストーリーを満たすシステムを計画、構築していきます。ユーザーストーリーの一般的な形式と例は下記の通りです。

形式:『<役割>は、<機能>ができる。それによって<価値>が得られる』
 例:「書籍購入者は、書籍をカートに追加できる。これにより、欲しい書籍を選ぶことができる」

ユーザーストーリーは共通理解のために使う

ユーザーに多くの価値を提供するために「多くのユーザーストーリーを実現するのが良い」というのは自明のことです。ただ、残念なことに時間は無限ではないので、すべてを実現するのは不可能です。やるべきこと・やらなくてよいことを整理する必要があります。やるべきことは、すなわちユーザーに提供される価値が高いものであり、これらを優先順位順にまとめたものをプロダクトバックログと呼びます。

ただし、このプロダクトバックログのみでは実現する機能が優先順位順に並んでいるだけで、行動の流れを意識するのが難しいという問題も指摘されています。商品をカートに入れるというユーザーストーリーは分かりますが、そのあとどのような行動がとられるのかは、優先順位だけでは不明瞭になりがちです。

これを解決するために、ユーザーの実際の行動にストーリーをマッピングする「ユーザーストーリーマッピング」という手法が提唱されました。「書籍をカートに入れる」「発送先を設定する」「クレジットカードで決済する」のような行動の流れ(本例では書籍購入)と機能実装を紐づけて、この単位でリリース計画を立て全体を俯瞰することでステークホルダーの認識相違を削減できるのです。
この時重要なのは、"誰が"という仮想ユーザー情報の定義です。ペルソナと呼ばれるこの仮想ユーザーは、どのような行動をとるのかという理解を助けます。

いずれも興味深いのは、決めたことを一気に作り込むのではなく、会話を重ねて共通理解を深め、時間をかけて学習していく手法だということです。ユーザーストーリーには「Card」「Conversation」「Confirmation」という要素が必要とされていますが、2つ目のConversationがまさに会話を意味します。その時々の、ステークホルダーの要求をうまく引き出すことで、変化するゴールにも対応可能
にするというわけです。

次回は「デリバリー」についてです。

著者プロフィール

島 慎哉

技術開発部 グループ長

お客さまのITサービス、業務アプリケーションを最前線で支えるITアーキテクトとして要求開発からアプリケーション開発、保守運用に至る各工程で、当社ソリューションを提供してきました。現在は、当社クラウドサービスを加速させるべく、サービス開発と技術開発を企画・推進しています。DevOpsの実現・アジャイルな組織・テクノロジーの融合によるイノベーション創出など、モード2組織実現を目指すべく日々新しいことにチャレンジしています。

この記事をシェアする