非エンジニア向け アジャイル/スクラム超入門

開発チームの管理者や顧客の皆様へ

2021/7/10

アジャイルコーチとして、スクラムチームの研修を実施したり相談を受けていると…「その話、うちの上司にしてください!」「顧客にわかって欲しいのですが、立場上言えません…」という話が多いので、できるだけ短くポイントを抑えてた記事を書いてみたいと思います。

Googleの功罪

急に「アジャイルでやりたい」「アジャイルが良いらしい」なんて言ったら、みなさんググるかと思います。

もちろんGoogleは間違っていないし…このリンク先に書いてある文章も正しいんですが…多くの方はこの画面にたどり着いて、こんなこと思うでしょう。

  • アジャイルでやるよう頼めば、納期が早まるんだ。

  • しかもリスクが減るんだ

アジャイルって魔法じゃないので、そんな簡単な話じゃないんです。

用語としてのアジャイルとスクラム

本当は歴史や経緯を語りたいところですが、今回は「超入門」なので割愛します。アジャイルとはマインドセット…つまり考え方や価値観のことで、スクラムはフレームワーク…つまり方法論です。例えるなら

  • アジャイル=球技、スクラム=ラグビー

  • アジャイル=格闘技、スクラム=柔道

  • アジャイル=オブジェクト志向言語、スクラム=Python

みたいな感じで理解していただくと良いかと。

ここを理解していないと、スクラムを実践している開発チームとの会話がすれ違ってしまいます。

何が「素早い」のか?

アジャイルは「素早い」という意味なので「開発が早くなるんだろ…」という勘違いがあります。

最初にゴールだと思った地点を目指す従来型の開発アプローチをマラソンに例えるなら…アジャイル型開発アプローチは、細かく地図を確認して宝を早く見つけ出すような、開発手法になります。早くゴール(と思った場所)に辿り着くのではなく、紆余曲折しつつ本当のゴールに辿り着くためのマインドセットなんです。

アジャイルの効能

では、アジャイルなマインドセットを導入する…アジャイルな文化に変わるとどんな効能があるのか?

個人的には大きく以下の3つだと思っています。

  1. 本当のゴールに辿り着き易くなる…イノベーティブになる

  2. 生産性が向上する

  3. 予測が立てやすくなる

とりあえずこの3点をざっと説明したいと思います。

本当のゴールに辿り着く方法

何度も言いますが、アジャイルやスクラムは魔法ではありません。

まず、前述の通り、工期が早まるという訳ではありません。都度確認しながら軌道修正しながら進みますので、当初の予想より時間がかかるかもしれません。逆に思ったより早く満足できたので打ち切る…結果工期が早まることもあります。どちらにせよその判断は、依頼者側がすることになります。

つまりアジャイルやスクラムは「納期が早まる」でも「納期が見えない」でもなく…「納期の責任は依頼者自身が持つ」とも言えます。

そう言われちゃうと、今まで通り委託して責任を取ってもらった方が良いと思うかもしれません。

開発会社が載せてきたリスクに対するコストが課題かどうか…腹を探り合うって無駄ですよね。正直ベースで仕事する方が建設的ですよね。正直ベースで働くのがアジャイルやスクラムで重要なポイントになります。

とはいえ、「世の中の変化とはあまり関係がなく、要件が変わらない」プロジェクトもあります。その場合、アジャイルが向かないか…というとそんなことはありません。まだ効能は2つありますので。

生産性の高め方

何度も…何度でもいいますが、アジャイルやスクラムは魔法ではありません。生産性を高めるには理由があります。それを周囲が理解していないと、スクラムチームは加速できません。

スクラムチームは

    • 変化に対応する

    • 集中して働く

という矛盾と戦うため、ルールを持っています。ここでは細かく書きませんが…

  • ルールで定められた期限より前なら仕様変更可能

  • 期限を過ぎると着手してしまうので変更は不可

などです。好き勝手言える訳ではないので、しっかりスクラムチームのルーティンを理解してコミュニケーションする必要があります。

優先順位づけも非常に重要です。優先度ではありません。

「10個の依頼中、8個の優先度が高」とか「優先度が高と必須…どちらが上かわからない」とか…よくありますよね。

スクラムでは必ず優先順位をつけて仕事をします。どの順番に集中してやっつけるかを定義します。依頼者側は「全部重要!」と言いたくなるものですが、「重要度」ではなく(もちろん重要な順にやるんですけど)実行順だと割り切って、勇気を持って優先順位付けをすることでスクラムチームが集中して生産性を高められるサポートをする必要があります。

よくあるのが兼務による生産性低下です。「ビジネスマンはマルチタスク処理できてなんぼ」というマネージャーも多いですが(私も以前はそう思ってました)、人は仕事の文脈が変わるたびに、2割の時間をロスします。

逆に言えば…兼務を減らしてあげればそれだけで生産性は上がるんです。そんな簡単なことないですよね。

とはいえ、デジタル人材は不足しています。その時

  • 一人の人物に複数のスクラムチームを兼務させる

のではなく、

  • スクラムチームのメンバーは、スクラム専任にする

  • スクラムチーム自体が複数のタスクを兼務する

  • ただし複数のタスクは一つの優先順位で集中して処理される

という体制を組む必要があります。

スクラムはチームワークを使って生産性を向上させるフレームワークです。ですので安定したチームを組まないと効果は限定的です。

もちろん個人作業にも役立つアイデアは含まれていますが、効果は限定的になります。格闘技に例えると「柔道が強そうなので、受け身だけ学んだ」みたいな感じです。適切なチームをアサインすることは、管理職の重要な責任です。

スクラムチームでは「全員がすべての仕事ができる」状態が理想ですが、現実に「全員がフルスタックエンジニア」なんてチームはありません。

ですので専門性を持ちつつ、専門でない領域でも初歩的なことはできる…そんなT型人材を目指して活動します。協力して学び成長しながらプロジェクトをすすめることになります。依頼者は目の前の開発速度だけでなく「チームの成長による加速は、最終的に利益として帰ってくる」と考えて見守る必要があります。管理職は育ったチームをいたずらに分解してリセットせず…ローテーションするなら一人ずつ…などの配慮が必要です。

ステークホルダとして「Why」「What」「How」の関係性を理解することも重要です。

多くのステークホルダは「What(何を)」に注目しつつ「How(どうやる)」に口出ししたがる傾向があります。しかし依頼者側が一番提示すべきなのは「Why(なぜか)」です。Whatを依頼する際に、Howはスクラムチームに任せて、Whyを伝えることが重要です。この関係性をしっかり維持できれば、スクラムチームは自分たちで生産性を高める工夫ができるようになります。

このように、アジャイル・スクラムで生産性を高める上で、依頼者や管理職が理解する必要があることはたくさんあります。無意識に生産性を高める活動を邪魔しているケースも多いので注意が必要です。

制度の高い予測

アジャイルの見積手法にポイント見積があります。

例えば「皇居1周を見積もって」と言われた時、時間見積もりではなく「約5km」という値を算出するといいう考え方です。仕事に「距離」のような図れるものはないのでそれをポイントで表すというものです。

皇居1周を時間だけで見積もると、体力や移動手段によって全く違った結果になります。これをポイントという相対的なもので評価する手法です。

ここではこれ以上詳しく説明しませんが、

  • 要件が決まっていて、生産性向上のための働き方の変更が難しかったとしても…この見積もり手法だけ導入するのも、見積もり精度を上げる効果があるらしい

というのことだけ覚えておいていただけると良いかと思います。

スクラムの導入方法について

柔道の例えは前述しましたが、スクラムの導入や浸透は、格闘技やスポーツの習熟に似ています。

世の中にルールブックやガイドブックはありますが、読むだけでは…強くなれません。

ですのでスクラムマスター研修やアジャイルコーチによる実践的な指導も重要です。

管理職の方は…開発者に「スクラムでやってみたら?」と丸投げするのではなく、そういった外部人材の活用も含めて深く理解してサポートしていただけると良いと思います。

依頼者の方は…アジャイルやスクラムは他人事ではなく、自分自身も変わらないといけないし、変わることで、より多くの結果を受け取ることができるという理解が大事です。

とりあえず、徒然なるままに書いてみましたが…今日はこの辺で…