こんにちは!3度の飯より牛タン好きなFRです!
2020年の春からSEとして働き始めました。
去年の夏頃にアジャイル開発専門のユニットに配属されました。その時の私の心境は正直に言うと、(え?アジャイルって何?)がずっと頭の中でぐるぐるしている状況でした。
当初は右も左も、上も下もわからない状態でしたが、約半年間アジャイル開発チームに参加したことでアジャイル開発のあれこれが分かってきました!
そこで今回は1スプリント中に私のチームが取り組んでいることについて取り上げてみました。
また、プログラミング未経験新卒がSEとしてアジャイル開発チームに入り、学んだことや気付いたことも書いてみました。
SEとして働く新社会人や、これからアジャイル開発やってみるぞ!という方の参考になれば嬉しいです。
用語集
今回の記事で出てくる用語についてここでざっくり解説していきます。
アジャイル
開発手法の一つです。一つのプロジェクトをある一定の期間に区切り、その期間の中で開発を行い、成果物を毎回リリースします。リリースを繰り返すことで全体の完成度を上げていきます。
私たちのチームはアジャイル開発の一つである「スクラム」という手法で開発を進めています!
スプリント
一つのプロジェクトを一定の期間で区切る時の区切り。私たちは2週間を1スプリントとしています。
プロダクトバックログリファインメント
お客様の要望をリスト化し、優先順位が付けられているものを「プロダクトバックログ」と言います。そのプロダクトバックログをお客様と共有し、次回以降のスプリントで何をやるのかを決めていくのがプロダクトバックログリファインメントです。
ポイント
プロダクトバックログの中に入っている一つ一つのアイテムが、それぞれどれくらいの作業量なのかを示すものです。
レビュー
スプリント内で出来た成果物をお客様にレビューしてもらいます。また、次のスプリントのゴールもこの時間に決めます。
振り返り
スプリント内での活動を改善するために、良かった点・課題・解決策をチーム全員で共有していきます。
私たちはKPT法というやり方で振り返りを行なっています!
1スプリント内のルーティーン
いよいよ本題です!1スプリント内で私のチームは一体何をしているのかについてお話ししていきます!
用語集にも書いた通り、私たちの1スプリントは2週間です。この2週間の中で2つの案件を並行して行っています。
《1週目 水曜日》プランニング
私たちの1スプリントは水曜日から始まります。スプリントの初めは必ずプランニングを行います。
今回のスプリントでやることを確定させ、その後タスクの洗い出しを行うことをプランニングと言います。
タスクの洗い出しを行うことで、今スプリントでやるタスクを細かく分解し、優先順位をつけることができます。これらを行うことでやるべき事が段々ハッキリと見えてきます。そのため、この時間中はとにかく話し合います。「この機能を追加するためには何が必要なんだろう?」であったり、「何をテスト観点に書くべきなんだろう?」などの疑問点を事細かく議論し、メンバー全員が仕様について理解することが重要です。
タスクの洗い出しが終わった後は、優先順位の高いタスク作業をどんどん行なっていきます。
《1週目 金曜日》プロダクトバックログリファインメント
時が少し飛び、次は金曜の午後です!毎週火曜と金曜に案件の打ち合わせがあります。(この記事では毎週金曜にある打ち合わせについてのみ記載しています。)この日はプロダクトバックログリファインメントを行います。
打ち合わせが始まる数時間前にチーム内で次回以降のスプリントでやるタスクについて話し合います。また、この時タスクにポイントが付いていない時はその場でポイントを付けていきます。
いよいよプロダクトバックログリファインメントの時間です!ここではお客様から次スプリント以降でやりたい要望を確認していきます。私のチームでは、このタイミングで現在のチームの進捗状況や仕様についての確認なども行っています。
私はこの時間、メンバーと一緒に議事録を取っています。タスクの洗い出しの時にこの議事録が役に立ちます。
打ち合わせが終わった後は再びタスクをコツコツと消化していきます。
《2週目 金曜日》レビュー
時は流れ、いよいよレビューの日です。この日はテスト作業やデプロイ作業など、レビュー前の準備でだいたい大忙しです。
もちろんチーム内の話し合いも忘れてはいけません。誰がどの機能について説明するのかや、次回のスプリントで着手する予定のタスクを決めたりします。
レビューの時間です。自分が機能説明をする時間はなかなか緊張します!自分が説明しない時はしっかりと議事録を取っていきます。
《2週目 金曜日》振り返り
無事にレビューが終わり、すっかり夕方になりました。やった!一週間終わり!...ではありません!!
スプリントの終盤には振り返りを行います。私たちのチームはだいたい2週目金曜のレビュー後にやっています。
チーム内の動きで良かったこと・見直した方がいいこと・次スプリントで試してみることをじっくりと考えていきます。振り返りを終わらせることで1スプリントが終わります。(正確には2週目の火曜にあるレビューで終わりです。)
この2週間を繰り返し、アジャイル開発を続けています。
気付いたこと・学んだこと
- チーム全体の様子を見ること
振り返りでチームの全体の動きで良かった点・悪かった点を挙げるため、それまでは自分のことで精一杯だった私も常にチーム全体を見るようになりました。
- タスクの洗い出しが一番大事
ここでタスクを出しきれないと、やらなきゃいけないタスクを作業中に発見することになってしまいます。(経験あり)
それをなるべく減らすためにも、この時間はとにかく話し合います。
- 程よいおしゃべりも大切
私たちはテレワーク期間中、一日中通話を繋いで作業を行なっています。チームメンバーと話しやすい環境で作業をしているので、休憩中はよく趣味の話や最近起きた出来事について話しています!
チーム内で打ち解けることで、話し合い時間に積極的に意見を言えるようになりました。
自分の中では心地良い作業環境だなと思っています。
おわりに
いかがでしたか?
今回はアジャイル開発のリアルな日常をお伝えしました。!
これからもアジャイル開発のあれこれについて、より深く学んでいきたいと考えています。