見出し画像

Skillnoteのスクラム開発実践

※本記事は、各担当記事を広報チームが代行して公開しています。
この記事はSkillnote Advent Calendar 2024の16日目の記事です。

はじめまして、スクラムチームスパナの宇田です。

Skillnoteではプロダクトの成長を加速していくため、2024年後半より完全にスクラムに則った開発プロセスへ移行しました。

本日はスクラムの取り組みについて書いていこうと思います。

簡単な自己紹介
インフラエンジニアとしてのキャリアが長いのですが少しwebアプリ開発の経験があり、Skillnoteではインフラ/SRE兼スクラムチームのエンジニアリングマネージャーを務めています。

私は広島からフルリモートでの勤務で、その他北海道や東海、関西からのフルリモートメンバーや中国籍のメンバーもおり、とても多様性のある開発組織です。


なぜスクラムなのか

スクラム開発はアジャイル開発手法のひとつで、スプリントと呼ばれる短期サイクルで開発を行います。

Skillnoteの開発は少人数の経験豊富なエンジニアがそれぞれタスクを持ち、開発を進めていました。

プロダクト立ち上げ初期はそれでよかったのですが、プロダクトが成長期に入り、開発組織も人数が増えてジュニアメンバーを採用し始めると生産力や開発状況の透明性の向上、また負荷の偏りからバーンアウトを防ぐため、より安定した開発プロセスに変えていく必要が出てきました。

スクラムを取り入れた理由としては以下のようなものがあります。

  • 開発状況の透明化
    チームで機能開発が完結するためチームの生産力を可視化でき、中期的な計画を立てやすい

  • ビジネスニーズに柔軟に対応し、意思決定のスピードアップ
    短いサイクルで成果物をビジネスサイドに見せることができるので、顧客ニーズやビジネスサイドとの齟齬を減らし、スタートアップに必要な意思決定のスピードを上げることができる

  • 自己組織化
    開発に必要な意思決定をチームで行うことで、開発スピードと成長を促進。開発の意思決定に加わることで自己効力感や心理的安全性も向上。

  • チームの適応力の向上
    課題をチームで発見しチームでフォローしたり、属人化・サイロ化を防ぐことができる。

スクラムは難しい?

スクラムは3本柱(“透明性”、”検査”、”適応”)と呼ばれる概念があり、これを実現するための原則とプラクティスです。スクラムの原典”スクラムガイド”は16ページの短い文書ですが、この中にすべてのプロセスが含まれています。
スクラムは適切に導入・運用されないと失敗しやすいフレームワークです。”スクラムがうまくいかない”という記事はよく目にします。

スクラムはシンプルで取り入れやすいため始めるのは簡単ですが、メンバーひとりひとりが「(各スクラムのプロセスは)なんのためにやるのか?」を理解していないとエンジニアを短納期に追いやり、疲弊させることにもつながりかねません。

以下のサイトはそんな状態をゾンビにたとえています。

  • ゾンビスクラムを簡単に説明すると、スクラムに似ているが心臓の鼓動がない。それは霧の立ちこむ夜に、足を引きずりながらあなたに向かってくるゾンビのようだ。

  • 遠くから見ると、スクラムチームはスクラムフレームワークどおりの動きをしているように見える。<中略>しかし、仕事の進め方をサポートするどころか、スクラムは面倒な作業のように感じられる。心臓の鼓動がなく、脳もあまり働いていない。

出典:

このような状態を避けるためには、しっかりこの原則とプラクティスをチームメンバーひとりひとりが学び理解し、そこから必要に応じてカスタマイズしていくのがよいと思います。

スクラムの運用方法

Skillnoteでは現在2つのスクラムチームがあり、それぞれフロント、バックエンド、QA、SREなど開発に必要なメンバーが含まれるクロスファンクショナルチームです。

スクラムにおいて最適な人数は8人程度とされており、2チームとも現在8名近いため、来年度はもう1チーム増えるかもしれません。

現在2週間を1サイクルのスプリントとし、始めの月曜AMにスプリントプランニング、翌週金曜のPMをスプリントレビューやふりかえりを行う
セレモニーデーとしています。また、組織のイベントや勉強会などを月金に集め、火水木を開発に集中しやすくするなどの取り組みを行っています。

スクラムではチームメンバーが物理的に同じ場所で作業するのがよいとされていますが、Skillnoteの開発組織は私を含め、1/3がフルリモートのメンバーです。

オンラインでも密なコミュニケーションが取れるように仕組みを整え、以下のような大事な思想はチームのワーキングアグリーメントとして定めています。

  • 1日1つ以上のプルリクを出し、積極的に相互にレビューを行う

  • (バーチャルオフィスツールを使い)いつでも声掛けOK!

  • 開発方針やルールはチーム全員で意思決定する

  • 積極的にペアプロ・モブプロを取り入れる

  • ポジティブなコミュニケーションやフィードバックを心がける

エンジニアリングマネージャーとして意識
していること

スクラムチームにおけるエンジニアリングマネージャーの仕事は、スプリントゴールを達成するのに必要な意思決定や開発をチームメンバー自身がスムーズに行えるように、支援をしたり、働きやすい環境やルールを整えたりすることだと考えています。

スクラムはきっちりと決まったサイクルで開発を行います。

前述の通り、Skillnoteではスプリントは2週間、デイリースクラム20分、プランニング1.5時間、ふりかえり1.5時間としています。

スライス(タイムボックス)が決まっているためふりかえりがしやすく、メンバーやチームの成長や変化を過去と比較しながら、次への方針を相談していくことができます。

スクラムのイベントも自己組織化の貴重な機会であり、EMがファシリテーションはしません。デイリースクラム、ふりかえりはメンバーがローテーションで行い、スプリントプランニングやリファインメントはチームのスクラムマスターが担当してくれています。

これからやろうとしていること

プロダクトと組織のさらなる成長にむけて、まだまだ開発プロセスの強化を継続的に行っていきます。直近はフロー効率(開発に取り掛かってから完了までのリードタイムの効率)を重視したペア・モブプログラミング主体の開発や、チームが取り組む開発案件を1つに絞り仕掛り(WIP)を減らす”1スレッド化”、LeSSなどスクラムを拡張したフレームワークの導入などを検討しています。

まとめ

スタートアップは変化のスピードが早く、1年前と比べるとプロダクトも組織も開発プロセスも大きく変化していますが、一つ言えることはすべてが”確実に成長している”といえるということです。私もエンジニアとしてはミドルエイジですが日々新しいチャレンジを楽しみ、この1年での成長を実感しています。

1年後はさらに新しい視界が拡がっていることを楽しみに2025年もチャレンジしていきたいと思います!

引き続きSkillnote Advent Calendar2024をお楽しみください!