ブログ

ryuzeeによるブログ記事。不定期更新

アジャイル開発やスクラムのトレーニングでよく聞かれる質問とその答え (3)

みなさんこんにちは。@ryuzeeです。

弊社ではアジャイル開発、スクラムのトレーニングを提供しているのですが、トレーニング中には多くの質問をいただきます。 今日はよくある質問とその答えについていくつかご紹介したいと思います。

なお、過去2回のものは以下になります。

好評そうだったら続編も書く予定です。

■以前のスプリントで作成したインクリメントにバグを発見した場合には、修正はどのように扱えばよいでしょうか?

スプリント内で開発しているプロダクトバックログアイテムに関するバグがそのスプリント中に見つかったのであれば、そのスプリントの開発作業の一環として修正します。そのバグの内容が完成の定義を満たしていない場合は、成果とはならず、そもそもスプリントレビューにも出せません。

次に以前のスプリントで開発した部分にバグが見つかった場合ですが、まずはバグの内容を分類します。 重大なバグなのか、普通のバグなのか、時間があるときに直せばよいバグなのか、もしくは放置して問題ないバグなのかといった具合です。 例えば、既に運用中のシステムにおいて重大なバグが見つかった場合、すぐに対応が必要で、その規模が大きいようなら、計画済のプロダクトバックログアイテムを入れ替えたり、スプリントをキャンセルしたりするといった判断をすることもあります。 それ以外のバグについては、プロダクトオーナーが優先順位を付けて対応時期をコントロールします。 課題管理システム等にバグを入れても構いませんが、プロダクトバックログと課題管理システムが併存して別々の優先順位を持つと混乱するので、順番についてはプロダクトオーナーが判断していきます。

■要件定義や設計だけを行うスプリント、テストだけを行うスプリントというのはダメでしょうか?書籍ではどれもスプリントで設計からテストまで全部やっているように見えますができる気がしません

新規プロダクトの場合は、最初のスプリントの開始前に、スプリント0と呼ばれる助走期間をとってビジョンを明確化したり、初期の要件を収集したり、アーキテクチャを検討したりすることがあります。これについては時間を限定して実施する分には構いません。準備不足で決まっていないままに進めると、スプリントが空回りするためです。

一方で、通常のスプリントに入った場合には、「動作するソフトウェア」が完成しないスプリント、特に設計だけのスプリントは絶対に避けなければいけません。このようにしてしまうと、後続のスプリントの計画が自動的に決まってしまうのと、動作するソフトウェアの製造量の予測ができなくなるからです(設計のベロシティとは何?ということです)。

もちろん何も要件が決まっていないと開発できないのも事実なので、次のスプリントで作るものの要件については前のスプリント完了までに決っている必要がありますが、このとき大事なのは「開発チームが作る予定のものが具体的かどうか」です。次にやらない箇所を含めて全部設計しないといけないわけでもありません。通常、次のスプリントに向けての準備はバックログリファインメントの活動で行いますが、使う時間はスプリントのキャパシティの10%程度の時間になります。

なお、テストについては事情が違うこともあります。 スプリント単位で「出荷できるレベルの品質」を確保しようとすると品質関連の作業が多くなりすぎて開発の時間が減ってしまいます。リリース時期が固定なのであれば最後の数スプリントを総合的なテストに使うという選択肢もあります。ただしスプリント単位でも「ある程度大丈夫と思える」品質を確保するのが前提になります。さもないと最後のテスト期間に大量の問題がでてしまい、当初確保した期間では対応できないといった結果になってしまいます。

■IT業界のトップ:Google、Microsoft、Amazonなどでも、大規模システムはウォーターフォールで進めているのではないですか?

この3社とも、それぞれのプロジェクトでどのような手法を利用するかは、実際にそのプロジェクトを推進するチームに任されているようです。

例えばGoogleの場合は、この記事のコメント欄に以下のような記述があります。

Overall, Google generally fits the spirit of agile methods, and in fact some groups use XP, or Scrum, or whatever, but it's up to each team, and the methodology a team choses to use is definitely secondary to the results it produces, so nobody cares about buzzword compliance. The corporate philosophy seems to be ""we'd rather underconstrain people than overconstrain them"". Some projects are time critical--and they use schedules, milestones, etc. (though not, that I have seen, MS Project) as a way to keep themselves on track. Some people do pair programming as a way to be more productive, but that's up to them. That's what's most different from other large development organizations: process is intentionally not centralized except where absolutely necessary. It's the polar opposite of, say, CMMI.

要約すると、主にアジャイルなやり方をするが、具体的にどんなやり方をするかはチームに任されていて、中央集権的なコントロールは避けているということです。これは社員を大人扱いし自由に取り組むことで生産性や創造性を向上させるアプローチです。 またAmazonでも同じ状況だと思われます(Scrum Incの支援先企業の一覧にAmazonも含まれています)。もちろん本番にリリースするためには品質を確保する必要はあり、デプロイ用のプラットフォームやCI/CD環境などが共通基盤として提供されており、一定のルールには従う必要があるそうです。

海外の企業の場合、個々のチームが明確なビジネスゴールを持っており、それを達成する上では多くの判断がチームに委譲されていると理解しておくと良いと思います。

■スプリントプランニングでのタスク分割について、「熟練チームではタスクを時間見積りしないこともある」と聞いたことがありますが、その場合どのようにしてスプリント中に自分たちの進捗を確認するのでしょうか。

熟練度の高いスクラムチームでは、あらかじめプロダクトバックログのうち直近着手するものについては具体化、詳細化をすすめて(Readyにする)、しかも扱いやすいサイズまで分割が終わった状態にしています。 つまりスプリントに投入したプロダクトバックログアイテムが何個完了したかを追跡すれば、スプリントゴールの達成の可否は開発チームがおおよそ判断できるということになります。また、デイリースクラムの大きな目的はこのままいくとスプリントゴールが達成できるかどうかのチェックをすることですが、熟練度が高ければ見通しの判断も正確になっていきます。

一方で熟練度の低いチームの場合、なかなかそうはいかないこともありますので、スクラムマスターが開発チームに対してタスクの明確化や進捗追跡方法の検討を促すことも必要です。ただしスクラムマスターが言わないと開発チームがそういった活動をしないのであれば、開発チームに自律性が不足しているので、彼ら自身でできるように仕向けていく必要があります(なお、スクラムマスターは管理者ではないので、タスクのアサインや作業順序の指定などはしないでください)。また、もし開発チームがスプリントをうまく過ごせていないのであれば、レトロスペクティブを活用して、スクラムチーム全体でどうすべきか考えるように仕向けてください。

■スクラムチームを持つマネージャーの役割として、従来のマネジメントと大きく異なる点はありますか?

実行責任や説明責任、結果責任については、従来どおりマネージャーが一端を担うはずです。 つまり実行そのものについてはスクラムチームに委ねたとしても、マネージャー自身はプロダクトオーナーやスクラムマスターと協働する必要はありますし(この場合マネージャーはステークホルダーになります)、マネージャーの責任が担保できないような場合はマネージャー自身がステークホルダーの1人としてプロダクトオーナーに意向を示して頂いて構いません。

スクラムを始めると、その後はスクラムチームが単独で全ての物事を判断して勝手に進めるわけではなく、実際には現実の制約や組織上のルールに従って外部と協働しながら勧めていくと理解すると良いでしょう。

ホラクラシー経営などに見られるようなフラット組織でもない限り、プロダクト開発を行う以外の組織でのマネジメント(ラインマネジメント)は従来のマネージャーの役割が必要です。組織間の調整であるとか、中長期経営計画、ポートフォリオマネジメントなど、スクラムチームだけで解決できない問題は残ります。

つまり、チーム内のことはチームに任せて、彼らがうまく仕事ができるようにチームの外から支援してあげてください。

■スクラムチームのマネジメントに有効な評価指標は何でしょうか。生産性指標はどうすればいいのでしょう?

まずは、チームが作成しているプロダクトの売り上げ、利益、キャッシュフローの計測が基本です。言い換えれば生み出した価値を基準にします。これらは短期的に達成すれば良いわけではなく、継続的に達成していく必要があります。

その上で、これらの指標に結びつく、内部の指標に何があるのかを考えてみてください。 一般的なメトリクスを、成果との関連を確認せずに導入するのは、良くない結果につながります(そのメトリクスを取る活動自体もムダな可能性があります)。 つまり、従来型手法を評価するために最適化していた評価手法(生産性指標など)を、そのまま他の手法の評価に使うのは適切ではありません。

■スクラムチームメンバの評価はどのようにすべきでしょうか?よくある個人の目標管理制度とどう組み合わせるのでしょうか

評価の目的は何でしょうか?チームメンバーとして、チームの業績に貢献するための能力、やり方の改善のための評価でしょうか?それとも給与を決めるための評価でしょうか?それらは、全く違うものですので、まずはそこを分けて考えると良いと思います。 つまり仕事がうまくなるようにするためのフィードバックは頻繁に行う必要がありますし、期待に沿っているのかどうかのギャップが最後に発覚しないようにしてくだい。 なお、よくある個人の目標管理制度とプロダクトの成功のために必要な活動がコンフリクトすると辛い状況になります。つまり限られた時間を個人の目標達成のためだけに部分最適として使うことになってしまうので、結果的にはプロダクトに悪影響を及ぼします。個人の目標をたてる場合は定期的に中身の見直し(不要になった項目の削除や新たな目標の設定など)をお勧めします 。

それでは。

アジャイルコーチングやトレーニングを提供しています

株式会社アトラクタでは、アジャイル開発に取り組むチーム向けのコーチングや、認定スクラムマスター研修などの各種トレーニングを提供しています。ぜひお気軽にご相談ください。

詳細はこちら
  • スクラム実践者が知るべき97のこと
  • 著者/訳者:Gunther Verheyen / 吉羽龍太郎 原田騎郎 永瀬美穂
  • 出版社:オライリージャパン(2021-03-23)
  • 定価:¥ 2,640
  • スクラムはアジャイル開発のフレームワークですが、その実装は組織やチームのレベルに応じてさまざまです。本書はスクラムの実践において、さまざまな課題に対処してきた実践者が自らの経験や考え方を語るエッセイ集です。日本語書き下ろしコラムを追加で10本収録
  • プロダクトマネジメント ―ビルドトラップを避け顧客に価値を届ける
  • 著者/訳者:Melissa Perri / 吉羽龍太郎
  • 出版社:オライリージャパン(2020-10-26)
  • 定価:¥ 2,640
  • プロダクト開発を作った機能の数やベロシティなどのアウトプットで計測すると、ビルドトラップと呼ばれる失敗に繋がります。本書ではいかにしてビルドトラップを避けて顧客に価値を届けるかを解説しています。
  • SCRUM BOOT CAMP THE BOOK 【増補改訂版】
  • 著者/訳者:西村直人 永瀬美穂 吉羽龍太郎
  • 出版社:翔泳社(2020-05-20)
  • 定価:¥ 2,640
  • スクラム初心者に向けて基本的な考え方の解説から始まり、プロジェクトでの実際の進め方やよく起こる問題への対応法まで幅広く解説。マンガと文章のセットでスクラムを短期間で理解できます。スクラムの概要を正しく理解したい人、もう一度おさらいしたい人にオススメ。
  • みんなでアジャイル ―変化に対応できる顧客中心組織のつくりかた
  • 著者/訳者:Matt LeMay / 吉羽龍太郎、永瀬美穂、原田騎郎、有野雅士
  • 出版社:オライリージャパン(2020-3-19)
  • 定価:¥ 2,640
  • アジャイルで本当の意味での成果を出すには、開発チームだけでアジャイルに取り組むのではなく、組織全体がアジャイルになる必要があります。本書にはどうやってそれを実現するかのヒントが満載です
  • レガシーコードからの脱却 ―ソフトウェアの寿命を延ばし価値を高める9つのプラクティス
  • 著者/訳者:David Scott Bernstein / 吉羽龍太郎、永瀬美穂、原田騎郎、有野雅士
  • 出版社:オライリージャパン( 2019-9-18 )
  • 定価:¥ 3,132
  • レガシーコードになってから慌てるのではなく、日々レガシーコードを作らないようにするにはどうするか。その観点で、主にエクストリームプログラミングに由来する9つのプラクティスとその背後にある原則をわかりやすく説明しています。
  • Effective DevOps ―4本柱による持続可能な組織文化の育て方
  • 著者/訳者:Jennifer Davis、Ryn Daniels / 吉羽 龍太郎、長尾高弘
  • 出版社:オライリージャパン( 2018-3-24 )
  • 定価:¥ 3,888
  • 主にDevOpsの文化的な事柄に着目し、異なるゴールを持つチームが親和性を高め、矛盾する目標のバランスを取りながら最大限の力を発揮する方法を解説します
  • ジョイ・インク 役職も部署もない全員主役のマネジメント
  • 著者/訳者:リチャード・シェリダン / 原田騎郎, 安井力, 吉羽龍太郎, 永瀬美穂, 川口恭伸
  • 出版社:翔泳社( 2016-12-20 )
  • 定価:¥ 1,944
  • 米国で何度も働きやすい職場として表彰を受けているメンローの創業者かつCEOであるリチャード・シェリダン氏が、職場に喜びをもたらす知恵や経営手法、より良い製品の作り方などを惜しみなく紹介しています
  • アジャイルコーチの道具箱 – 見える化の実例集
  • 著者/訳者:Jimmy Janlén / 原田騎郎, 吉羽龍太郎, 川口恭伸, 高江洲睦, 佐藤竜也
  • 出版社:Leanpub( 2016-04-12 )
  • 定価:$14.99
  • この本は、チームの協調とコミュニケーションを改善したり、行動を変えるための見える化の実例を集めたものです。96個(+2)の見える化の方法をそれぞれ1ページでイラストとともに解説しています。アジャイル開発かどうかに関係なくすぐに使えるカタログ集です
  • カンバン仕事術 ―チームではじめる見える化と改善
  • 著者/訳者:原田騎郎 安井力 吉羽龍太郎 角征典 高木正弘
  • 出版社:オライリージャパン( 2016-03-25 )
  • 定価:¥ 2,138
  • チームの仕事や課題を見える化する手法「カンバン」について、その導入から実践までを図とともにわかりやすく解説した書籍。カンバンの原則などの入門的な事柄から、サービスクラス、プロセスの改善など、一歩進んだ応用的な話題までを網羅的に解説します。
  • Software in 30 Days スクラムによるアジャイルな組織変革“成功"ガイド
  • 著者/訳者:Ken Schwaber、Jeff Sutherland著、角征典、吉羽龍太郎、原田騎郎、川口恭伸訳
  • 出版社:アスキー・メディアワークス( 2013-03-08 )
  • 定価:¥ 1,680
  • スクラムの父であるジェフ・サザーランドとケン・シュエイバーによる著者の日本語版。ビジネス層、マネジメント層向けにソフトウェア開発プロセス変革の必要性やアジャイル型開発プロセスの優位性について説明
  • How to Change the World 〜チェンジ・マネジメント3.0〜
  • 著者/訳者:Jurgen Appelo, 前川哲次(翻訳), 川口恭伸(翻訳), 吉羽龍太郎(翻訳)
  • 出版社:達人出版会
  • 定価:500円
  • どうすれば自分たちの組織を変えられるだろう?それには、組織に変革を起こすチェンジ・マネジメントを学習することだ。アジャイルな組織でのマネージャーの役割を説いた『Management 3.0』の著者がコンパクトにまとめた変化のためのガイドブック