スクラムを導入するチームで最初にする話
はじめに
私はスタートアップを中心にWebエンジニアをしながら、アジャイルの展開をしています。いろいろな会社のいろいろなチームでアジャイルの展開をしてきました。今所属しているHITOTSU社ではVPoEやVPoTをやらせて頂きながら、開発エンジニアやスクラム寄りのアジャイルコーチをしています。
大体どのチームでも同じような話をさせて頂きまして、スクラムを始めるチームやスクラムが上手く回っていないチームに対して、アジャイルの価値観やマインドを理解せずに盲目的にスクラムイベントなどを実践するのは止めようという話をします。
まずアジャイルってなんだっけ
基本的にはアジャイルソフトウェア開発宣言(アジャイルマニフェスト)やアジャイルソフトウェアの12の原則)に則っていればアジャイルと言えます。
- アジャイルソフトウェア開発宣言: https://agilemanifesto.org/iso/ja/manifesto.html
- アジャイルソフトウェアの12の原則: https://agilemanifesto.org/iso/ja/principles.html
これらは所謂アジャイル手法(スクラム、エクストリームプログラミング…)の創始者などが集まって共通部分をまとめあげた文書です。著名者の名前が書いてありますが、スクラムの創始者のKen SchwaberとJeff SutherlandやエクストリームプログラミングのKent Beckの名前が記されています。先にアジャイル手法があってそれぞれ生み出されたのではなく、様々な 開発が上手く行く手法
の考案者が集まって共通部分を抽出したのです。
有名な言葉(下記4つ)がありますが、これらは(印刷して壁に貼った方がいい程)基礎的な考え方です。注意は左よりも右が良いと言ってるだけで、左側にあるプロセスやツールは使いますし。ドキュメントは書きますし、計画は立てて従います。
- プロセスやツール < 個人と対話
- 包括的なドキュメント < 動くソフトウェア
- 契約交渉 < 顧客との協調
- 計画に従うこと < 変化への対応
アジャイルで重要となるのはフィードバックループ(変化への対応)になります。フィードバックループとは「計画を立て実行をした後に、実際どうだったか確認したり振り返りをする、その後に改善活動をする」というのを一つのサイクルとして、何度も繰り返すということです。アジャイルはアダプティブ(適応)というの名前になった可能性もあるという噂もあります。
じゃあスクラムってなんだっけ
スクラムは認定資格もありますが(個人的にはかなりオススメします)、基本的にはスクラムガイドに書いてあることが全てになります。スクラムガイドは定期的に更新され新バージョンが出ますが、最新の2つである2020年版と2017年版を見ると良いです。
- スクラムガイド2020版: https://scrumguides.org/docs/scrumguide/v2020/2020-Scrum-Guide-Japanese.pdf
- スクラムガイド2017年版: https://scrumguides.org/docs/scrumguide/v2017/2017-Scrum-Guide-Japanese.pdf
スクラムガイドの読み方ですが、定期的に何度も読み返した方がいいです。ある意味抽象的に取れるように書いてある部分もあるので、何人かで集まって議論してみるのも面白いです。
スクラムには狙いがあり、スクラムイベントなどそのまま実行すれば効果を得られるものではありません。考え方を理解せず、イベントなど形だけ真似たものを 壊れたスクラム
(ゾンビスクラムとも) と呼びます。むしろスクラムでやりたいことを実現するためにスクラムイベントなど邪魔になることもあるため、チームにフィットする方法をカスタマイズ(適応)することを推奨します。難しいので外部のアジャイルコーチに相談するのも良い方法だと思います。
スクラムは実は逆輸入で トヨタ生産方式
から触発されています。海外からきたから日本に馴染まない方法と思われる方がいるかもしれませんが、実はかなり日本的な手法だと思います。
スクラムガイドには スクラムは「経験主義」と「リーン思考」に基づいている
と記載があります。 経験主義
とは自ら経験して知見を増やしていこうという考え方で、過去経験したことを重視するというのは誤解です。 リーン思考
とはリーンスタートアップから来ていますが、ムダを省いて本質に取り組もうということです。
スクラムで一番やりたいことは 透明性
検査
適応
の3つで、スクラムの三本柱(経験主義の三本柱)と呼ばれるものです。
-
透明性
とは、正しい情報が、種類ごとに一箇所に整理され、次の行動が誘発されていることを指します。ただそこにあって確認することができるだけは透明性ではありません -
検査
とは、現在の目標と目的が明確であり、目標と目的に対する現在が明確であり、現在の目標と目的と現在の差を把握され続けている状態です -
適応
とは、現在の目標と目的が明確であり、目標と目的に対する現在が明確であり、現在の目標と目的と現在の差を埋め続けている状態です
スクラムの柱を意訳すると 常に現状を把握し、目標との差分を継続的に埋める活動をすること
です。スクラムでは継続的にプロダクトとプロセスにおいて改善活動することを目指しています。
これらは上記のアジャイルのフィードバックループであり、これらを実現するためにスクラムイベントやアーチファクトが組まれています。スクラムの三本柱を意識せずに、ただスプリントを繰り返して最後にリリースするだけになっている、スプリントレビューがただの報告の場になっている、などは多くの現場で行われているかと思います。しっかり理解することでスクラムの効果を得られます。
おわりに
私がスクラムを始めるチームやスクラムを実践しているが上手くいっていないチームで最初にする話をまとめました。施策というのは狙いや目的があるもので、スクラムに関しても同様です。どうすれば目標に近づけるのか、どういった改善活動が効果的か、そういうものを狙ったり議論するのがアジャイルやスクラムかと思います。しっかり理解することで、より有意義な開発を実践できると思います。
Discussion