こんにちは、Insurtech研究所メンバーのモヒートです。
この記事は2023年9月アドベントカレンダー9日目の記事になっています。
社会人1年目の私は、ほとんど開発経験のない状態から、アジャイル開発の世界に足を踏み入れることになりました。
Insuretech研究所に参画してから2ヶ月が経ち、この記事では、私の振り返りと学びを共有したいと思います。
開発に本格的に参加する前
最初に「スクラム開発をします」と告げられ、私は「スクラム開発って何?」と戸惑いました。
そこで、Googleで検索してみると、スクラム開発(Scrum)はアジャイル手法のひとつで、少人数のチームが短期間の開発サイクルを繰り返すフレームワークであることがわかりました。
この段階で、「アジャイル開発って一つじゃないの?」と疑問に思い、アジャイル開発について調査しました。
アジャイル(Agile)は直訳すると「素早い」「機敏な」「頭の回転が速い」という意味で、システムやソフトウェア開発におけるプロジェクト開発手法のひとつです。
アジャイル開発では、大きな単位でシステムを区切ることなく、小単位で実装とテストを繰り返して開発を進めます。
アジャイル開発には様々な手法が存在し、その中でも代表的な3つの手法として以下が挙げられます。
・スクラム
・エクストリーム・プログラミング(XP)
・ユーザー機能駆動開発(FDD)
この調査を通じて、私が取り組むのことはアジャイル開発の一形態であるスクラム開発だと理解しました。
次に、スクラム開発についての詳細な調査に移りました。
情報源として「スクラムガイド」という文書を熟読しましたが、このガイドは初学者にとって抽象的で難しいと感じました。
スクラム開発の開始
スクラム開発が実際に始まると、最初にスプリント0と呼ばれるフェーズがスタートしました。
スプリント0は、スプリント開始前の準備期間であり、チームで共通の理解を形成することが目的です。
このフェーズで「必ずこれをやらなければならない」とか「これだけやっておけば大丈夫」といったテンプレートは存在せず、チーム内でやるべきタスクを洗い出す必要があります。
初めての経験として、どのタスクを選択すべきかについて不安を感じ、チームメンバーの議論に追いつくために単語の意味を調べつつ努力しました。
今回のスプリント0では、インセプションデッキと呼ばれる資料を作成しました。
インセプションデッキは、プロダクト開発に関与するメンバーが共通の認識や目標を持つために作成します。
これには、以下のような10個の「手ごわい質問」が含まれています。
我々はなぜここにいるのか?
エレベーターピッチ
パッケージデザイン
やらないことリスト
「ご近所さん」を探せ(プロジェクトコミュニティ)
解決案を描く(ざっくりアーキテクチャ図)
夜も眠れなくなるような問題は何だろうか?(リスク)
期間を見極める
何を諦めるのかはっきりさせる(トレードオフスライダー)
何がどれだけ必要なのか
私が経験したのは4つだけですがそれでも多くの時間を費やし、議論も多く発生しました。
スプリント0が終了し、いよいよ本格的にスクラム開発が始まりました。
スプリント1では、スクラムガイドに記載されている以下5つのスクラムイベントをこなすことになります。
・スプリント
スプリントは、固定期間で行われる開発の単位です。通常、2週間から4週間程度の期間で実施されます。
スプリントでは、特定の目標を達成するための作業が計画され、その期間中に開発チームがその目標に向けて取り組みます。
スプリントの終了時には、完成した成果物が提供されることが期待されます。
・スプリントプランニング
スプリントプランニングはスプリントの起点であり、ここではスプリントで実⾏する作業の計画を⽴てる。
結果としてできる計画は、スクラムチーム全体の共同作業によって作成される。
・デイリースクラム:
デイリースクラムは、毎日行われる15分程度の短いスタンドアップミーティングです。
チームメンバーは、前日からの進捗、今日の計画、および遭遇した問題や障害について報告し合います。
・スプリントレビュー:
スプリントレビューの⽬的は、スプリントの成果を検査し、今後の適応を決定することである。
スクラムチームは、主要なステークホルダーに作業の結果を提⽰し、プロダクトゴールに対する進捗について話し合う。
スプリントレビューは、スプリントの最後から 2 番⽬のイベントであり、スプリントが 1 か⽉
の場合、タイムボックスは最⼤ 4 時間である。
スプリントの期間が短ければ、スプリントレビューの時間も短くすることが多い。
・スプリントレトロスペクティブ:
スプリントレトロスペクティブの⽬的は、品質と効果を⾼める⽅法を計画することである。
スプリントレトロスペクティブをもってスプリントは終了する。スプリントが 1 か⽉の場合、スプリントレトロスペクティブは最⼤ 3 時間である。
スプリントの期間が短ければ、スプリントレトロスペクティブの時間も短くすることが多い。
これらのイベントをこなしましたが、スクラムガイドを読むだけでは理解できない部分が多くあり、戸惑うことも多くありました。
ふりかえり
私の経験したスクラム開発を振り返ってみると
・自分で考えて動くことが大切
・専門用語が多く、覚えることが多い
・イベントが多い
・単語を聞いただけでは想像できないものも多い
などこれからの課題が多く見つかりました。
今後もアジャイル開発を効果的に行っていくために、必要な知識を習得し、行動するマインドを身につけていきたいと思います。
参考
スクラムガイド
https://scrumguides.org/docs/scrumguide/v2020/2020-Scrum-Guide-Japanese.pdf