見出し画像

そして近視眼的な開発しかできなくなった

はじめに

本投稿ではアジャイル開発を6年間続けたチームで起きた問題について投稿します。

実際に起きた問題

チームでは案件に応じて、1スプリント1~2週間のアジャイル開発を行ってましたが、スケジュールに関係するトラブルが度々発生してました。

実例1

開発期間が8ヶ月間の案件において、半年間検討を続けても、開発する機能が決まってない状況になっていた。

実例2

「X月までにリリースしてほしい」という要望を受けていた機能群について、期日までにリリース可能であるかを誰も把握してなかった。

何が起きてたのか?

・スケジュールを誰も管理してない/意識してない
・チケットの準備不足
・社会人としての常識の欠如

スケジュールを誰も管理してない/意識してない

いずれの案件でも、全体のスケジュールを誰も意識してない状況だった。
また、各自が現在のチケットを消化することしか考えてない状況だった。

チケットの準備不足

次のスプリントに着手するチケットを誰も事前に確認しておらず、準備不足のチケットが着手直前まで放置されていた。

チケットの受け入れ条件について、十分な事前検討が行われておらず、チケットに着手してから、再検討・修正が必要になり、開発が非効率になっていた。

社会人としての常識の欠如

スクラムイベントで伝えればよいと考え、報連相やスケジュール調整を怠った結果、スプリントプランニング時点で、着手可能な状態になってないチケットが散見された。

何が原因だったのか?

1スプリント1~2週間のアジャイル開発を続けていった結果、「いまのスプリントのチケットを消化すれば良い。」「課題は次のスクラムイベントで共有すればよい。」など、日々の業務に対する意識が短期視点になったり、問題が後回しになってしまい、数ヶ月単位の長期視点が欠如してる状態になってました。

どう解決すればよいのか?

メンバー全員で、バックログを整備し、チケットの準備を行います。

チームで協力してバックログを整備しておくことで、メンバー全員がスケジュールや進捗状況を把握できる状態にします。

メンバー全員がスケジュール・進捗状況を把握できることで、将来を見据えた開発ができるようになります。

バックログの準備・整備
1. リリースまでに必要なチケットを作成する
2. チケットの優先順位を付ける
3. チケットの事前検討を行い見積もりを実施する
4. 着手可能なチケットをスプリントへ割り当てる
5. 未検討のチケットはバックログの上位に配置しておく

実際に行った解決方法

実例のケースに遭遇した際に、私は以下のように解決へ導きました。

実例1

開発期間が8ヶ月間の案件において、半年間検討を続けても、開発する機能が決まってない状況になっていた。

解決に導いた方法
1. 「このままでは、予定通りのリリースは難しい」ことを説明
2. ステークホルダー/責任者に対して、
 「残りの2ヶ月間でリリースできる機能・スケジュールを提案するので、
  自分にこの案件の管理を任せてほしい。」
 と提案して了承を得る
3. リリースに必要な最低限の機能をヒアリング
4. 機能を実現できる最低限の設計を行う
5. 開発チームの各メンバーに役割分担を指示する
6. 運用に必要最低限な機能をリリース
7. その後は継続的に機能追加を実施

実例2

「X月までにリリースしてほしい」という要望を受けていた機能群について、期日までにリリース可能であるかを誰も把握してなかった。

解決に導いた方法
1. 残チケットを確認
2. 予定通りのリリースが難しい可能性をチーム内で共有
3. 残チケットについて、仮見積もりを実施
4. 残チケットを、リリースまでのスプリントへ割り当て
5. スプリントへ割り当てられなかったチケット(機能)について、
 ドロップすることを、ステークホルダーに了承してもらう
6. スプリントへ割り当てたチケットに順次対応


この記事が気に入ったらサポートをしてみませんか?