◆はじめに
現在、中小企業を取り巻く環境は、かつてないほど変化が激しくなってきています。ポストコロナに伴う社会環境の変化、地政学的リスク、物価高、物流コストの増加、インバウンドの拡大、デジタル化の加速など顧客のニーズや価値観は多様化し、競合は目まぐるしく生まれ変わります。このような状況下で、新製品の開発や新サービスの提供、デジタル開発など従来型の開発手法では市場の変化に柔軟に対応しきれず、企業の成長を阻害してしまう可能性があります。
この変化が激しい環境に柔軟に対応するため、近年IT業界を中心として着目されているのがアジャイル型開発であり、その一つの手法である「スクラム」です。本稿ではアジャイル型開発の基本を「スクラム」をベースにして解説し、システム開発以外への応用について考えてみたいと思います。

◆従来型の開発手法「ウオーターフォール」の課題
従来型のシステム開発手法は「ウオーターフォール」型開発と呼ばれ、滝のように上流から下流に向かって線形に開発が進められます。ビジネス上の要求整理→技術設計→システム開発→テストという手順を踏み、それぞれのプロセス間ではドキュメントでの受け渡しが行われ、動くソフトウェアを確認できるのが最終段階という開発手法が多くとられていました。ユーザーが要件を出してから動くソフトウェアを確認できるのが、早くて数か月後、大規模プロジェクトでは数年後というサイクルで開発が行われます。
この従来型開発は計画性が高く、仕様変更が少ない大規模開発には適している反面、ユーザーが要求を出した瞬間から市場、競合環境は変化をはじめ、ソフトウェアが完成した時には要求が既に劣化してしまうという課題を抱えています。また要求を出した後での仕様変更や仕様追加に当たっては、追加のコストやスケジュールの遅延が発生してしまうため、要求の段階で考えられるすべての機能を織り込む傾向にあり、システム開発費用の増大や完成までの期間の長大化につながるリスクを抱えています。結果としてシステム完成時に全く使われない・ほとんど使われない機能が64%も存在するという調査もあるくらいです(出典:The XP 2002 Conference:Standish Group)。

◆アジャイル型開発のメリット
これに対してアジャイル型開発とは、顧客にとって価値のあるソフトウェアを素早く提供することを何よりも重視するソフトウェア開発手法の一つです。従来型開発プロセスの要求整理・設計・開発・テストというサイクルを、ユーザーにとって価値のある最小単位に絞って短いサイクルで動くソフトウェアを提供して、フィードバックを受けながらその機能を成長させていくという開発手法です。
ケーキ作りで例えると、一層目のスポンジを作り、その上にクリームを塗り、2層目を重ね、最後にクリームとイチゴでデコレーションをして完成させるホールケーキの作り方を従来型開発とすると、いきなり1個のショートケーキを完成させるのがアジャイル開発のイメージです。ショートケーキ単位で作るプロセスが確立すれば、例えば「イチゴではなくメロンで」「チョコクリームで」など顧客のニーズの変化に対応しやすい開発と考えられます。

この変化の激しく将来の予測が立てられない現代において、このアジャイル型開発の手法を研究してビジネスに取り入れることは意味のあることではないでしょうか?
240924_01_01

(出典:「アジャイル開発とスクラム」より一部加工)

◆アジャイル型開発の手法「スクラム」とは
スクラムは、野中郁次郎教授、竹内弘高教授が1986年のハーバード・ビジネス・レビューに載せた論文「新たな新製品開発競争」に強く影響を受けています。この論文では、ホンダ、富士ゼロックスなどの調査を基に、ウオーターフォール型開発の限界、パフォーマンスの優れた企業に共通する特徴(プロセスは分断せず重なり合っていること。機能横断的で主体性があること。境界を超えた大きな目標を有していること。など)があり、各工程の専門家集団が、次の工程の集団にバトンを渡すように文書を渡すリレー方式ではなく、あたかもラグビーのようにボールを横にパスしながら一団となってゴールに進む様子を捉え「スクラム」と命名しました。野中教授の論文に触発された、ジェフ・サザーランド氏らが、スクラムの概念をソフトウェア開発に応用し、1990年代に具体的な手法として確立しました。

◆スクラムの基本的考え方
スクラムは、概ね1週間から4週間以内の一定の開発期間(これをスプリントと呼ぶ)で区切り、1スプリント内で一定の成果物を繰り返し出し続ける開発手法です。上記の右側の図で言うと、リリース①からリリース⑥で6スプリントとなります。短い期間で区切られたスプリント内で一定の動くソフトウェアを完成させ、それをユーザーにレビューしフィードバックを得て次のスプリントでの開発に活かすことを繰り返してアプリケーションの最終ゴールを目指すという開発手法です。

◆スクラムにおける3つの役割
スクラムチームは3名から9名の少人数で組織することが推奨されています。またチームの中では上下関係はなく、指揮命令するマネージャーは存在しません。その代替としてスクラムを有効に機能させるため3つの役割が定義されています。

・プロダクトオーナー(PO)
プロダクトオーナーは、スクラムチームから⽣み出されるプロダクトの価値を最⼤化することに責任を持ちます。製品に必要な機能を定義し、その機能の優先順位を決定します。その機能リストは「プロダクトバックログ」と呼ばれバックログへの追加、削除、優先順位付けはプロダクトオーナーが最終的な責任を持ちます。また機能を開発者に説明し製品のゴールを明確に示す責任も持っています。スクラムのWHATを担う役割です。

・開発者
実際に開発を行うスクラムの中心的な役割を担います。機能横断的に様々なスキルを持った人が集まり協力しながら自律的に行動します。開発者はバックログに入っている項目を完成させ、製品の価値をいかに高めるかに責任を持っています。スクラムのHOWを担う役割です。

・スクラムマスター(SM)
スクラムマスターは、スクラムチームの有効性に責任を持ちます。スクラムチームが最大限のパフォーマンスを発揮できるようにサポートする役割を担います。いわば、チームのコーチであり、サーバントリーダーです。チームが抱える課題を解決し、開発者やプロダクトオーナーを支援するチーム内コーチの役割を担います。スクラムのプロセスを担う役割です。

◆スクラムにおける5つのイベント
・スプリント
スプリントは実際に開発を進める最小単位の期間であり1週間から4週間以内のサイクルとします。スプリントは予定されている機能が開発できなくても延長されることなく継続して繰り返され、前のスプリントが終わり次第、新しいスプリントが開始となります。一つのスプリントの中には次に述べる「スプリントプランニング(計画作り)」「デイリースクラム(朝会)」「スプリントレビュー(成果確認)」「スプリントレトロスペクティブ(振り返りと改善)」のイベントと実際の開発作業が含まれます。

・スプリントプランニング(計画作り)
スプリントプランニングはスプリントの起点であり、スプリントで実⾏する作業の計画を⽴てるイベントです。プロダクトオーナーが優先順位をつけたプロダクトバックログの中から今回のスプリントで取り扱うバックログを抽出してスクラムチーム全体でスプリントのゴールに合意します。開発者は計画を詳細化してタスク分解し、それぞれの完了条件と作業ボリュームを見積もります。成果物としてプロダクトバックログの中から今回のスプリントで扱う「スプリントバックログ」を完成させます。

・デイリースクラム(朝会)
デイリースクラムの⽬的は、計画された今後の作業を調整しながら、スプリントゴールに対する進捗を検査し、必要に応じてスプリントバックログを適応させることです。 デイリースクラムは、スクラムチームの開発者のためのイベントで、スプリント期間中は毎⽇、同じ時間・場所で1回15分間開催されます。

・スプリントレビュー(成果確認)
スプリントレビューの⽬的は、スプリントの成果を検査し、今後の適応を決定することです。スクラムチームは、主要なステークホルダーに作業の結果を提⽰し、フィードバックを受け、プロダクトゴールに対する進捗について話し合います。

・スプリントレトロスペクティブ(振り返りと改善)
スプリントレトロスペクティブの⽬的は、今回のスプリントがどのように進んだかを検査し、次のスプリントがよりうまく回るよう改善を決定します。具体的にはそのスプリントの活動を振り返り、「良くできたこと、良かったこと」、「うまく出来なかったこと、もっとうまくできたこと」をメンバー全員で話し合い、次のスプリントで何を実施するか(改善)を合意します。

◆スクラムにおける3つの成果物
・プロダクトバックログ
製品の要件を一覧にしたもので、開発すべき機能や改善点などを優先順位に従い記述されたものです。製品のビジョンを具現化するための羅針盤であり、チーム全体で共有すべきものです。

・スプリントバックログ
プロダクトバックログから、該当するスプリントで実現可能な範囲のアイテムが選択された具体的な開発アイテムの一覧です。スプリントプランニングでプロダクトオーナーの求める優先順位とチームが見積もる機能ごとの大きさの両面から実現可能なリストが作られます。スプリントバックログは一度作っておしまいではなく、より多くのことを学ぶにつれて、スプリントの期間を通して更新していきます。スプリントバックログはデイリースクラムで日々の進捗を検査できる程度の詳細さで記述する必要があります。

・インクリメント(製品価値増分)
各スプリントの成果物であり、動作可能な製品の一部です。プロダクトバックログのアイテムが実装された状態を示します。スプリント毎に製品はインクリメントによって成長し、最終的に完成品へと近づいていきます。

成果物を簡単にまとめると
・プロダクトバックログは、製品全体のロードマップです。
・スプリントバックログは、スプリント期間における具体的な作業計画です。
・インクリメントは、スプリントの実際の成果物(動くソフトウェア)であり、プロダクトバックログの実現に向けた一歩です。

◆中小企業におけるスクラム導入のメリット
スクラムは、大企業だけでなく、中小企業にも非常に適した手法です。またシステム開発だけでなく、新製品開発、新たなサービスの提供など様々な分野での活用が期待できます。メリットを例示すると以下が挙げられます。
・柔軟性: 中小企業は、大企業に比べて変化が激しい環境に置かれていることが多く、スクラムの柔軟性が活かされます。
・スピード: 短期間で成果を出すことができるため、市場の変化に迅速に対応できます。
・コスト削減: 不要な機能開発を抑え、必要な機能を優先的に開発することで、コスト削減につながります。
・コミュニケーションの促進: チームメンバー間のコミュニケーションが活発になり、問題解決がスムーズに行われます。
・顧客満足度の向上: 顧客のフィードバックを迅速に反映できるため、顧客満足度が向上します。

◆終わりに
アジャイル型開発手法のスクラムを主にシステム開発視点で説明してきました。ただこの手法はシステム開発以外でも応用が可能です。例えば新製品開発の場面でも、実際に目に見える・さわれる・味わえる・体験できる機能を実際の顧客に短いサイクルで提供して、フィードバックを受けることでさらに改良を加えていくというプロセスを繰り返すことで、顧客ニーズや市場動向に沿った、品質の高い製品をタイムリーに提供することが可能となります。さらに製品開発面だけでなく社内メンバーにとっても、短期的な目標設定と成果の可視化により、チームメンバーのモチベーションを維持し、高い生産性と従業員満足度を向上させることも期待できます。

このコラムをきっかけにアジャイル型開発に少しでも興味を持っていただけましたら幸いです。

◆引用・参考資料
・「アジャイルソフトウエア開発宣言」
https://agilemanifesto.org/iso/ja/manifesto.html
Fig240924_01_02
・「スクラムガイド(2020年11月版)」
https://scrumguides.org/docs/scrumguide/v2020/2020-Scrum-Guide-Japanese.pdf
・「スクラム ~仕事が4倍早くなる”世界標準”のチーム戦術~」
ジェフ・サザーランド著、石垣賀子訳、株式会社早川書房
・「アジャイル開発とスクラム ~顧客・技術・経営をつなぐ協調的ソフトウェア開発マネジメント~」
平鍋健児/野中郁次郎/及部敬雄著、株式会社翔泳社
・「カイゼン・ジャーニー ~たった1人からはじめて、「越境」するチームをつくるまで~」
市谷 聡啓/新井 剛著、株式会社翔泳社

◆筆者略歴
西原 寛人
経済産業大臣登録 中小企業診断士
一般社団法人 東京都中小企業診断士協会 中央支部 副支部長
一般社団法人 東京都中小企業診断士協会 中央支部 ビジネス推進委員会委員長
一般社団法人 東京都中小企業診断士協会 事業推進部