■ 1. 2時間スプリントの概要
- 2時間スプリント:
- 1〜2週間で区切ることが多いスプリントの期間を2時間にする手法
- デンキヤギで定着してきた開発の進め方
- 起源:
- スプリントを超短期サイクルにする発想は47機関の人たちがオリジナル
- 2018年に47機関のチームで1時間スプリントを体験し、デンキヤギに導入した
- 本家はのちに15分スプリントへ移行したが、デンキヤギは実態に合わせて2時間に落ち着いた
- 期間の長さ:
- 1時間、2時間、15分のどれにするかはチームの状況や練度で異なる
- 一般的な常識よりも超短期にすることが重要な要素の一つ
■ 2. 超短期間スプリントのメリット
- 導入を検討すべきチーム:
- 成果報告の時点で未完了や不要な作業、相談の遅れが発覚した経験があるチーム
- 本質:
- 時間経過をトリガーにして、他動的かつ適切な方法でチーム内の情報を同期する
- 高頻度に計画を見直す
- 報連相の属人性:
- 報連相を各自の判断に任せると、強い属人性が生じる
- 結果として、適切に動ける人と破滅する人に分かれる
- 破滅する人がいる場合の悪影響:
- チーム全体の生産性が下がる
- 当人の人事評価も自己評価も下がる
- 破滅しない人の場合:
- 忙しくなると報告が滞りがちになり、チームの生産性を下げる要因になる
- ムダ取り:
- 情報共有から属人性を排除すれば、作業ロスを減らせる
- トヨタ生産方式の『ムダ取り』を作業プロセスに適用する考え方
■ 3. 超短期間スプリントとリモートワーク
- リモートワーク専用ではない:
- 全員がオフィス勤務でも非常によく機能する
- オリジナルの1時間スプリントを体験した際もほぼ全員がオフィス勤務だった
- 同じやり方で両対応:
- オフィス勤務でもリモートワークでも、やり方を変えずに対応できる
- リモートワークが必須でなくなっても、やり方を変える必要はない
- デンキヤギの生産性:
- 2時間スプリントの習熟度が上がり、フルリモート化以前よりも生産性が上がっている
- リモートワークで生産性が落ちる原因:
- 対話のきっかけが減り、属人的な情報共有能力への依存が顕在化しただけ
- 超短期間スプリントはこの属人性をなくすため、生産性に影響しない
- オフィス勤務の優位点:
- ペアプロやモブプロ、付箋による情報ラジエーターなど、空間的な制約がリモートにはある
- 一方で、通勤による時間と体力の消耗は過小評価されている
- 実感としての生産性の差:
- フルリモートでもオフィス勤務でも生産性はほぼ同じ
- 差があってもオフィス勤務が1〜2%有利になる程度
■ 4. チーム構成と業務内容
- チーム構成:
- terurou(役員)1人、時短正社員(6時間勤務)1人
- 学生アルバイト4人
- フリーランス1人
- 学生アルバイトの勤務:
- 週2〜3日、14時〜19時の間で2〜5時間程度稼働する
- 学業や私用による突発休みを認めているため、勤務日と勤務時間はかなり不定
- フリーランスの関わり:
- 週8時間程度で時間帯を決めずに勤務する
- スプリントには参加せず、学生アルバイトの作業を技術面や管理面で支援している
- 勤務時間のばらつき:
- 始業と終業の時間にばらつきがあり、全員がそろう日はほとんどない
- 業務内容:
- 自社サービス(yagisan)の開発がメイン
- 内製ツール開発、OSSへのPR、受託の技術コンサルティング、サブスクリプション契約の開発も並行する
- 常時3〜5プロジェクトが動いている
- terurouの役割:
- コードを書くほか、PMやPO的なロールも担う
- 代表取締役的な業務や営業対応もある
- 管理面:
- 何も考えずに進めれば管理面が破綻しそうな体制だが、実際には問題なく回っている
■ 5. 1日のタイムライン
- 始業:
- 各自が任意の時間に始業する
- スプリントレビュー&プランニング:
- 11:00、14:30、16:30に実施する
- 昼休憩:
- 時間は各自でばらばら
- 14時ごろからアルバイトが始業し始める
- KPT:
- 17:00に実施する
- レトロスペクティブというより雑談の場
- 終業:
- 各自が任意の時間に終業する
■ 6. 計画の階層
- プロダクトバックログ:
- 作業リストをためる場所
- Azure DevOpsをメインに使い、開発対象によってGitHubも併用する
- 超短期間スプリント固有の要素はない
- 担当者レベルのプランニング:
- 作業の着手時や割り当て時に、各担当者が作業をタスクレベルに細分化する
- タスクの最小粒度は5分で、30分以下を推奨値とする
- かなり細かくタスクを分割することが重要なポイント
- タスク粒度の例:
- GitHubにprivateリポジトリを立てる(5分)、クラスの命名を考える(15分)
- バリデーションを実装する(20分)、ダミーレスポンスを返せるようにする(10分)
- 公式ドキュメントのGetting Startedを読む(20分)、インストールして起動する(30分)
- 細分化の方針:
- XXXを実装する、設計するといった粒度で止めず、さらに細かく切る
- 細分化しづらいタスクは無理に分けず、大きな粒度のまま残す
- 細分化によって、時間がかかりそうな箇所を着手前に可視化する
- ウィークリープランニングとマイルストーン:
- 月曜11時のスプリントレビュー&プランニングで、1週間の大まかな作業を決める
- 超短期間スプリントは超短期計画にすぎず、全体の方向性は決められない
- マイルストーンや週次計画は別途考え、一般的なスプリントのプランニングと大差はない
- デイリープランニング:
- 実施していない
- 11時や14:30に全員がそろわないため、朝会や昼会での計画は稼働実態に合わない
- 1日に何度もプランニングするため、どこかで参加すれば最新状況に追いつける
■ 7. 2時間スプリントレビュー&プランニング
- 目的:
- 前スプリントまでの作業成果を共有する
- 次スプリントの作業計画を補正する
- テンプレートの利用:
- 全員が参加し、テンプレートに沿って各自が話す
- テンプレートを使う発想も47機関から取り入れた
- 紙に印刷し、スプリントレビュー中に視界に入るようにしておくことを推奨する
- 計画の補正:
- 担当者レベルで細分化したタスク単位で会話する
- 計画に違和感がある場合や課題がある場合は、チーム全体で対応策を検討する
- 補正が入る場面の例:
- 半日かかる見込みの作業が、経験者の情報を足掛かりにすれば30分で終わりそう
- 30分で終わる見込みでも、周囲から見て明らかに見積もりが甘い
- 実装が想定以上に難しく、助けが必要になった
- 要求仕様がよくわからず悩んでいた
- 成果デモの実施:
- 完成前に方向性を確認してもらうことを、2時間ごとにワークフローとして強制する
- 作りきった後に方向性の誤りや過剰品質、品質不足が判明する不幸を防ぐ
- 生産性向上の仕組み:
- 超短時間でスプリントレビューを行い、ムダを早期に検出して対処する
- リモートワークのコミュニケーション不足による生産性低下を、属人性に頼らず仕組みで防ぐ
■ 8. スプリント期間の決め方
- 47機関との違い:
- スプリントをどこまで短くするかは、47機関とデンキヤギで考え方が大きく異なる点
- PMとしての仕事感覚:
- 半日分の工数を失っても、他に得るものがあれば仕方ないと考えられる
- 1日まるごと無駄にされるのは許容しがたい
- 2時間程度なら許容でき、眠気で30分ほど意識が朦朧とすることもある
- 1時間間隔のチェックポイントはせわしなく、逆にストレスが溜まる
- 結論:
- 上記の感覚から2時間に落ち着いた
■ 9. KPT
- 位置づけ:
- スクラムのレトロスペクティブに相当するものをKPT形式で行う
- 社員間の雑談の機会を優先し、業務に関係ない話題も認めている
- 参加者を社員に限定する理由:
- アルバイトは稼働時間が短く、打ち合わせ時間の割合が大きくなりすぎる
- 他プロジェクトの話題が出るため、アルバイトに不要なNDA的リスクを負わせたくない
- 今後:
- この匙加減が正解とは考えておらず、変わる可能性がある
■ 10. 細かなテクニックと適用条件
- 時報:
- スクラムイベントの時間に気づかないことがあるため、少し前に時報を鳴らす
- フルリモート化以前はチャイム、以後はチャットへの通知で行う
- 時報の効果:
- 超短期間スプリントを導入しなくても、時報を鳴らすこと自体に効果がある
- 時間の経過がプッシュされ、仕事のリズムを作るフックポイントになる
- 適用できないチーム:
- メンバーの働く時間帯がまったく重ならない場合は適用できない
■ 11. 導入に向けて
- アジャイルコーチ:
- 興味があるチームはid:kyon_mmにアジャイルコーチを依頼するとよい
- デンキヤギが高精度に導入できたのは、オリジナルを実際に体験できたことが大きい
- 手軽な始め方:
- 時報を導入し、鳴ったら強制的にチーム全体で話すところから始めてもよい
- 報告テンプレートを適宜改変して使うと、なおよい
- 報連相文化の撤廃:
- 属人性の塊である報連相の文化をなくすべき