開発合宿Part2ふりかえり
作成日:2024/10/24
経緯
前回の開発合宿で手応えを感じ、またやりたいねということで新メンバー1人を加えた3人で再度開発合宿を行った。
今回の開発合宿では、前回の反省点を踏まえて狙った結果を出すこと(つまりソフトウェアの完成)を目指した。
成果物
今回は、特定のURLにアクセスした際にアノテーションを表示する Chrome 拡張機能を作成した。
開発合宿の流れ
1. 合宿前の準備
まずは、合宿前の準備として下記を行った。
- 合宿に対する期待値合わせ
- 当日のスケジュール計画
- 成果物決め
- 成果物に対する仕様書作成
- マイルストーンの作成
- メンバーの技術スタックの共有
- 合宿場所の手配
- 開発環境の作成
2. 開発(当日)
開発合宿当日は、基本的にモブプロで開発を行い、事前に作成した1つのissueごとにドライバを交代しながら開発を進めた。
3. ふりかえり
開発合宿の最後には、ふりかえりを行い、次回の開発合宿に向けての改善点を洗い出した。
開発合宿を通して学習したこと
今回の開発合宿から得た知見を下記にまとめる。
- 事前の計画はやるのとやらないのでは効率が全然違うこと
- 開発スコープを事前に決めることでスコープクリープによって狙った成果が素早く出せないケースを回避できること
- 事前の優先順位付けによって、開発中に発生する不確実性と向き合う際にスコープをどのように再定義するか議論できること
- 事前にユーザーの期待値を整理しておいたことで、期待値の実現方法に対して松竹梅プランを用意できたこと
- 広い部屋だったからか、空気が重くなく疲れなかったこと
- 知見がないテーマだったからか、モブプロ中の議論が活発だったこと
成果に対する考察と改善点
個人的には事前の計画がうまくハマってくれたのが良かったと考えている。特にスコープと優先順位付けによって、価値を届けるための過程で発生する不確実性に対して合理的な対応ができたと感じている。ここに関してはメンバーからのフィードバックでも良い反応をもらえており、今後も継続していきたいプラクティスである。
とはいえ、こだわりすぎて本筋ではないタスクに集中してしまった時間もあったので、次回はタイムボックスを区切って作業を進めることを意識していきたい。
また、品質に関するポリシーを決められていなかったのも改善点である。今回は、小さいソフトウェアだったので問題は特になかったが、規模が大きくなってくると品質のベースラインを管理しきれなくなると感じている。そのため、次回は事前に品質のポリシーを決定しておいて、それに従って開発を進めていきたい。
その他には、今回はモブプロで同期的の開発がメインだったが実際の開発では非同期で行う時間のほうが多いので、次回はある程度非同期で開発した場合の違いを体感してみたいと考えている。事前に作成した資料が非同期の開発ではどのように活かされるかを検証してみたい(ただ、ずっと非同期だと楽しくないので塩梅は調整したい)。
Next Action
- タイムボックスを区切って作業を進める
- 品質のポリシーを決定しておく
- 非同期の開発時に、必要な情報が何かを実際に検証してみる
おわりに
今回も実りある開発合宿ができてよかった👍️