はじめに
こんにちは、Product Division Division Headの吉田です。 2022年からプロダクト開発部はProduct Divisionという名前になりました。 ようやく新しい部署の名前にも慣れてきました。
昨年は開発体制について紹介させていただきましたが、今回はEmotion Techの開発プロセスについて紹介します。 10名程度の体制で開発手法について考えている方への参考情報になれば嬉しく思います。カンバンの導入プロセス、カンバン運用についても少し紹介させていただきます。
カンバン使う前はどうしていたのか
Emotion Techの開発チームでは、カンバンを使う前はスクラム(Scrum)を使っていましたが、数ヶ月たってKPTの中でいくつかの課題が見えてきました。
当時の課題
- 開発メンバーが互いの開発領域について詳しくないため見積工程が難しい(ストーリーポイントを決める活動が少しストレスになりつつある)
- 実績に基づかない見積もりになりつつある
- スプリントプランニングで選択したものがスプリント中にいつも終わらない
- 個別担当ごとのタスクになりチーム感が出ない
- スプリント後半で慌てている
- 欠陥に対する対処がとられていない(バグにどのように備えるか決められていない)
この課題に対して開発チームで議論し、いくつかの方針を決めました。
- チームのスキルやフェーズに合わせて手法は選択すべきである
- 製品価値が出ればよいので、スクラムじゃなくてもいい
- 守破離の考え方で、自分のやり方にカスタマイズすることが大事(自己流をいきなりやることがよいということではない。基本を知った上でカスタマイズをする)
この考えを意識して見直しました。
なぜ開発の進め方を変えるのかをまとめる
進め方をすぐに変えるのは簡単ですが、目的、目標のない中で変更するのはチームを混乱させてしまいます。変更する前に開発手法に求める内容をまとめてみました。
- チームが何をやっているかを把握しやすくする
- 隠れている仕事をなくす
- すべての開発活動の価値をはっきりさせる
- 優先度、完了条件がわかった状態で開発できるようにする
- リズミカルに製品価値を届ける
- タスク、チームの課題を明らかにして安定的な開発を目指す
- 着実に機能開発をDoneさせ、価値を届ける速度を向上させていく
- 開発チーム外がスプリント終了後の成果物を理解できるようにする
この内容自体は社内ポータル(Emotion Techではesaを使っています)に公開し、目的をいつでも見直すことを可能にしています。 特に変えたい事項は何か 今までから特に変更したい点も明確にしました。
- 過度な見積もりの削減
- スプリント内に収まるようにタスクを調整するなどの作業がない
- スプリント計画の時間の短縮
- 目標タスクの価値の確認に専念する
カンバンの狙いをまとめる
最終的にスクラムからカンバンに変えることにし、カンバンで何を実現したいかもまとめました。
- 特定の機能、タスクが実現されるまでのリードタイムを短くする
- 各作業のボトルネックが見えるようにする
- 各メンバーが過負荷にならずに効率よく作業できるようにする
- コミュニケーションを促進する
参考書を絞る
カンバンの参考書はいくつかありますが、今回はオライリーの「カンバン仕事術」を参考に整理をしました。
カンバンのガイドラインをつくる
カンバン自体はかなりシンプルな考えなので、少しガイドラインを作成しチームメンバーが混乱しないようにしています。そのいくつかを紹介します。
基本の考え方
- 基本的には「カンバン」の考え方を活用
- Work in Progressによるタスクの制限を行う
- 1人あたりのカンバン(タスク)個数を制限する
カンバンの構成
プロダクトの企画、開発等の開発における計画づくりに参加するメンバー、タイミングが異なることがあります。今回はカンバンは1つでなく、複数で構成するようにしました。
- 企画: プロダクト企画を考えるためのカンバン
- 優先順位付けボード: 企画完了したもので開発でどのように
- 開発: 優先度決定ボードで決定されたタスクで開発チームが取り組むカンバン
- SRE: 優先度決定ボードで決定されたタスクでSREが取り組むカンバン
イベント
タスクのサイズ
- ゴルディロックスの考え(カンバン仕事術 p.207)
- ちょうどいいサイズにする
- 最大で3日から5日ぐらいにする
- 「小さい」、「ちょうどいい」、「大きすぎる」をタスク整理会で担当分野ごとに整理するとよい
- 何回かくりかえると、担当分野ごとの「平均的なサイズ」のタスクが決まってくる
- 「平均的なサイズ」のリードタイムを測るとそのチームの1タスクの速度がわかる
優先順位の決定
優先度を1つのカンバンで整理すると大変な時があります。そこで、優先順位付けカンバンを用いることにしました。カンバン仕事術では、コーリー・レイダスの「優先順位フィルター」というテクニックが紹介されています。「タスク整理」のイベントで優先順位づけを整理する負担を減らします。
その他明確にしたこと
スタートアップかつ小さいチームであるため、話し合いで決められるようにしていきたいと思っています。そこで、カンバン運用以外に以下のような方針をチームで決めました。
- 多くのルールをつくらない。常に学習するチームであって欲しい(都度、誰かに委ねた最適な方法を考えないチームになるから)
- スタートアップはビジネスモデルを検証しながら顧客に価値を届けていくやり方をするので、細かなルールで阻害したくない(ただし、開発における話。1つ細かいルールをつくったことにより、他にも増えていくのを避ける)
- 基本的にカンバン等はよりよい運営するための仕組みの導入であり、ルールではない
- リリースに関してはチームで意識する
おわりに
いかがでしたでしょうか。小さなチームでどのように開発手法を見直し、目的を設定し、カンバンをどのように運用しているかを説明させていただきました。
Emotion Techではメインシステムの開発だけではなく、エンジニアの開発環境の見直しを一緒に考えていくメンバーも募集中です。この記事や他の記事を見て弊社に興味をもっていただけましたら、ご応募お待ちしております。