目的の重要性を示しているのがトヨタ生産式におけるカイゼンである。KPTはアジャイル開発におけるカイゼンのための手法として紹介されることがよくある。KPTはトヨタ生産方式におけるカイゼンとは直接の関係はない。
しかし、継続的な改善を目指す活動という意味では共通する部分も多い。ふりかえりを実践する上で参考になるポイントも多い。以下はカイゼンのフレームワークの1つである「7つのムダ」である。
- 作り過ぎのムダ
- 手待ちのムダ
- 運搬のムダ
- 加工そのもののムダ
- 在庫のムダ
- 動作のムダ
- 不良をつくるムダ
ここでは生産性と品質を高めて在庫(仕掛品)を減らすという方針を明確に述べている。カイゼンではこれらの観点でKeepやProblem、Tryを考えるわけだ。目的意識のない漠然とした改善活動は望むような成果には結びつかない。具体的な観点を持ってカイゼンを行うから効果が上がるのだ。ここが重要なポイントだ。
アジャイルのふりかえりについても同じことが言える。必要なのは、ソフトウェア開発における生産性と品質を向上させるための具体的な観点である。例えば、筆者は次のような観点でふりかえりを行っている。
- 同じ処理を作るムダ(DRY=Don't Repeat Yourselfになっていない)
- 共通化し過ぎのムダ(YAGNI=You Ain't Gonna Need Itに反している)
- 相談しないムダ(君がハマる処理は、他の人もハマっている)
- 技術調査のムダ(新技術を調べるのは楽しい。古い代替案も悪くない)
- 不良をつくるムダ(不良を作れば手戻りが増える)
あらかじめ、生産性を上げるには何をすべきか(何をしてはならないか)、品質を高めるためには何をすべきか(何をしてはならないか)、仕掛品(カンバンにおけるDOING)を減らすためにすべきこと(すべきではないこと)をチームで話し合う。それを仮説として共有し、その観点でふりかえりを行う。これによってチームがゴールを共有し、現状との差分を具体的なProblemとしてふりかえることができる。
遠慮しないこと
3つめのポイントは、本音で議論することだ。振り返る上での最大の障壁は遠慮である。
人はネガティブな意見を言うことに対して躊躇するものだ。一緒に仕事をするチームメンバーとなればなおさらだ。メンバー内に先輩後輩などの上下関係があるとその傾向は顕著になる。1つの意見に誰も反論することなく、チームの方針として是認されてしまうケースは珍しくない。
例えば、「テストコードを作成するのに時間がかかるので、自動テストをやめよう」といった意見がなし崩し的に受け入れられるシーンを目にしたことがある。その是非は脇に置くとしても、開発方針を左右する影響度の大きなアクションだ。十分な議論を要する類のものだろう。
人間関係を最優先して本音の議論ができず、チームの活動に悪い影響を及ぼすとすれば、何のためのふりかえりなのか分からなくなってしまう。
チームは混乱を経て、統一に向かうものだ。組織学習を語るときに有名な「タックマン」モデルがある。組織の進化の過程を5つのステージで定義したものである。
タックマンモデルでは2番目のステージに混乱期(Storming)を置いている。この混乱期こそがチーム内でゴールを擦り合わせる時期である。混乱期を経てゴールを共有できれば、チームは自己組織化に向けて大いに成熟することになる。
- 形成期(Forming)
- 混乱期(Storming)
- 統一期(Norming)
- 機能期(Performing)
- 散会期(Adjourning)
筆者もアジャイルコーチをするときに最も配慮するのは開発チーム内での垣根をなくすことである。垣根をなくすには、建設的な議論を恐れない勇気が必要である。今が混乱期にあるのだと理解し、自己改善するための前向きな反論であれば、喜んで受け入れる文化を作ってほしい。
- 吉原庄三郎(よしはら・しょうざぶろう)
- ウルシステムズ 主席コンサルタント、アジャイル推進室
- ウルシステムズでITグランドデザイン、プログラムマネジメント、開発運用プロセスデザイン、上流工程のコンサルティングを提供している。
- 著書に「はじめての設計をやり抜くための本」(翔泳社)がある。