スクラム未経験者が約1年スクラムを経験した話について
はじめまして、ネクストビートでWebエンジニアとして働いている石崎です。
2021年5月入社にして、1ヶ月の研修後、保育士バンク!コネクトというプロダクトに配属され、1年ほどが経過しました。
保育士バンク!コネクト ではスクラムを導入しており、今回は入社前までスクラムを経験していなかったエンジニアがスクラムを経験した話を書こうと思います。
簡単に私の経歴を話すと、エンジニア歴は9年ほどで、4社ほどSES会社を転々とし、参画したプロジェクトではウォーターフォールでの開発ばかりでした。
スクラムの知識は「アジャイルサムライ」などの書籍を読んだり、スクラム経験者からの話を聞く程度のスクラム未経験者で、ネクストビートに入社して初めて本格的にスクラムを経験しました。
保育士バンク!コネクト でのスクラムについて
まず、保育士バンク!コネクト で行っているスクラムについて説明します。
保育士バンク!コネクト では、Large-Scale Scrum (LeSS)を取り入れています。
保育士バンク!コネクト は元々1チームで行っていたプロダクトでした。
保護者アプリのリリースに伴い、今後施設と保護者の間を繋げるサービスを充実させていくためには、施設向けのサービス(toB)と施設・保護者間向けのサービス(toC)で2チームに分けた方がいいという意見が出ました。そこでチーム内で相談しあった結果、プロダクトとしては1つなので、LeSSというスクラムのスケール手法を取り入れています。LeSSといっても、普通のスクラムと大きくは変わらない感じだと思っています。
保育士バンク!コネクトでは、下記のようなチーム構成を行っています。
PO: 2名(各チームのリードエンジニアで開発と兼任)
SM: 1名(別プロダクトと兼務)
開発者: toB…4名、toC…3名
デザイナー: 1名
スクラムイベントは以下の通りです。
保育士バンク!コネクト でそれぞれどんなことをしているのかを説明します。
- デイリースクラム
- スプリントレビュー
- バックログリファインメント
- スプリントプランニング
- スプリントレトロスペクティブ
- モブプロ
デイリースクラム
月〜木で決まった時間に行っています。
まず、全体で共有事項や各曜日ごとに確認することを行い、
各チームに分かれ、「昨日までやったこと」「今日やること」「困っていること」などを共有し合います。
各曜日ごとに確認することは、リリース内容の確認やロードマップ施策の確認だったり、プロダクトとして意識すべきことを共有しあいます。
各チームに分かれてからは、困っていることがあるとデイリースクラム後にモブプロを行い、チーム全体で問題解決を行なったりします。
スプリントレビュー
週1回、営業、CS(カスタマーサクセス)や開発で、成果物の確認を行う場です。
保育士バンク!コネクトでのステークホルダーは、営業、CSや開発で、開発者でもプロダクトの施策について意見が出しやすい風潮だと思います。
営業目線、CS目線からの指摘をいただける場で、エンジニアだと気づけない部分があるのでとても重要なレビューだなと思っています。
バックログリファインメント
週1回、前半と後半に分かれて行っています。
前半は、営業、CSや開発の代表者が集まり、次スプリントや今後のスプリントでやるバックログの優先順位などについてを話します。
後半は、各チームに分かれて行っています。
前半で話し合った内容を元に、開発内でより詳細の仕様を検討し合います。後半で開発内で方針について再度検討が必要となった要件に関しては、改めてリファインメントやスプリントレビュー などで営業、CSに確認を取る形で進めています。
エピックをストーリーに切り分ける作業やストーリーポイント付けはリファインメント(後半)で行っています。
エピックのMVPをもとに、必要なタスクを書き出し、ストーリーの単位を決めます。そして、ストーリーごとに受け入れ条件を書き出し、フィボナッチ数列でストーリーポイントを出し合い、平均値をストーリーポイントとしています。
本来は1回で済ませる部分かと思いますが、営業とCSの限られた時間を有効的に使用するため、敢えて前半・後半と分けています。
スプリントプランニング
週1回、各チームに分かれて行っています。
リファインメント(後半)で話し合った内容を元に、実際のコードを見ながら仕様を固めていきます。
スプリントレトロスペクティブ
週1回、全体で振り返りを行います。
保育士バンク!コネクト での振り返り手法は、KKPT(感謝、Keep、Problem、Try)を使用しています。
元々は、KPTを使用していたのですが、Keepにチームメンバーへの感謝などが増えてきて、レトロスペクティブで「感謝とKeepは分けた方が感謝が埋もれずに伝わるのでは?」という意見が出て、感謝とKeepを分けた経緯があります。
このKKPT手法はネクストビートの他のプロダクトでも増えていっています!
他にも、「LeSSを導入しよう」や「リファインメントを前半・後半に分けた」のもレトロスペクティブで話し合った結果を試しています。
中には、同じ問題が出ることもありますが、別の解決方法を考えたりして、トライアンドエラーで問題解決を進めています。
モブプロ
週2回、全体でモブプロを行います。参画時期にバラツキがあるので、プログラム言語やプロダクトの理解度にもバラツキがあります。誰でも気軽に相談できるようにモブプロの時間を設けています。
行う内容としては、お題は自由で、開発中に躓いた内容の共有やチームで解決できなかった問題を全体で相談したりしています。
スクラムとウォーターフォールの違いについて感じたこと
実装する上で、「スクラムだから〜」、「ウォーターフォールだから〜」とかの違いは感じないですが、個人的にこういう部分が違うなと思ったのが2つあります。
1つ目は、ミーティングに関してです。
スクラムは必要なミーティングはスクラムイベントとしてスケジューリングされているため、イレギュラーなミーティングはほとんどありません。(祝日や長期休暇など重なった場合に移動するくらいですかね!)
ウォーターフォールでも定期ミーティングはありましたが、それ以外にも必要なミーティングがあり、その度にスケジュール調整して、会議準備して〜の労力がありました。
無駄な会議が減らせたり、会議の準備が減らせることで開発に集中できる時間が増えるのは開発者としては嬉しいですね!
2つ目は、振り返りのネクストアクションの違いです。
ウォーターフォールでも振り返りを行なっていましたが、工程ごとの振り返りで、すぐにネクストアクションが行えなかったり、あまりいい振り返り方をした記憶がありませんでした。
スクラムではスクラムイベントとしてレトロスペクティブがあり、スクラムの振り返りを行うことで次のスクラムでネクストアクションが行えて、改善したりしたので、振り返りの大切さを改めて知ることができました。
保育士バンク!コネクトでは振り返りで決めたネクストアクションが行えているかをデイリースクラムで確認する曜日があるので、うっかり忘れてたっていうのも対策できています!
スクラムを経験した感想
スクラムはあくまでも手法で、スクラムを行う側がきちんと理解してスクラムを行わないと意味ないんだなと思いました。
保育士バンク!コネクトでも、スクラムを運用する上でまだまだ解決しなければいけない課題などはあるので、模索してプロダクトをより良くしていきたいなと思います。
最後までお読みいただきありがとうございました。
We are Hiring!
「人口減少社会において必要とされるインターネット事業を創造し、ニッポンを元気にする。」
を理念に掲げ一緒に働く仲間を募集しております。
バックエンドにはPlay Framework(言語はScala)、フロントエンドの開発には主にAngularを用いています。フルスタックに開発したい!という方のご応募をお待ちしております。