PONOS Advent Calendar 2022 の5日目の記事です。
昨日は@kerimekaさんの「Web決済比較(2022年12月)」でした。
スクラム開発とは
アジャイル開発の一種として用いられる、開発のやり方。
アジャイル開発のいくつかある種類の中で、一番用いられている手法。
そもそもアジャイル開発とは?
アジャイルとは、直訳で「すばやい」「俊敏な」という意味の英単語です。
スプリントやイテレーション等と呼ばれる、短い開発期間の小さい単位でリスクを最小限にしてサイクルを回していく手法です。
①計画
→どういったものを作りたいのか、厳密に仕様を決めない
→厳密に仕様を決めないのは、開発の途中段階で仕様や設計の見直しがあることを前提としているため
②イテレーション(反復)
→1週間〜2週間ごとの区切りで「計画」→「設計」→「実装」→「テスト」のサイクルを繰り返し回していく
③リリース
このサイクルを回していき、細かい単位でタスクを遂行することを目的とします。
ゲーム開発では、「実際にプレイすると想像していたものよりちょっと違う」だったり、「ここはこうすればもっと面白くなる」だったりに、後戻りできないタイミングで気づくことを未然に防げたりします。
いざ実装してみると、あんまり面白くないなんてことは多々あると思いますが、それを実装途中段階で発見できるので、マッチした手法となっています。
アジャイル開発を踏まえた上でのスクラム開発とは
スクラムとは、もともとラグビーのプレーの一つの「スクラム」にちなんで、スクラム開発と名付けられています。
アジャイル開発のいくつかのやり方の中でもスクラム開発は、チーム全員が一丸となって開発を進めていく手法のため、
チーム間のコミュニケーションがより重要になってくる手法
となっています。
チームとして「何が必要か」「必要になったタスクを誰がやるべきか」「いつまでにやるべきか」という観点からメンバーにタスクを割り振り、メンバーそれぞれがタスクを完遂し、イテレーションを回していくことでプロダクトの完成を目指します。
それぞれのメンバーに、一つのことだけをまかせるのではなくいろんなタスクをまかせるため、他の人のタスクが他の人のタスクを支えているので、チーム間での密なコミュニケーションが重要になってきます。
スクラム開発の役割分担
スクラム開発ではチームワークが重要だということは変わりないのですが、最低限の役割を分担しなければ作業効率が悪くなってしまいます。
作業の効率を良くするために、3つの役割があります。
・プロダクトオーナー
→タスクの作成を行う。
→仕様に関する決定権を持っている。
→スプリント終了時に確認作業を行う。
・スクラムマスター
→チームがうまく回っているか、困りごとがないかを確認する。
→プロジェクトがうまく回っていない原因を排除する、困りごとを解決する。
・開発チーム
→機能を実装し、各自で動作確認までテストする。
→動作するものを担当のプロダクトオーナーに提出する。
どの役割も欠けてはいけない要素で、各担当者が自分の役割をしっかりと認識・理解し、遂行することがプロジェクトを円滑に進めるために重要なことだと思います。
自分が関わったプロジェクトのスクラム開発について感じたことのまとめ
自分が関わったプロジェクトでは、途中から開発形態をスクラム開発に移行しました。
その中で感じたことをまとめていきます。
・良かったこと
→チーム間のコミュニケーションが増え、議論などが活発になった。
→短期間でタスクを切るので、こまめにゴールがありタスク遂行にやりがいを感じるようになった。
→チケットでタスクを管理するので、担当者とのやりとりがやりやすくなった。
→全員がいろんな実装箇所を把握している状況を作られた。(属人化は少なかった)
→KPTなどで振り返りを行ったりして、うまく回っていない原因を早急に排除するようにしていた。
・悪かったこと
→役割を兼任しているメンバーが一人いた。
→エンジニアのコミュニケーションは増えたが、他職種とのコミュニケーション量はあまり変わらなかった。
→エンジニアだけがスクラム開発をしているように感じた。
→スプリントに対する振り返りがなかった。(想定していた時間よりなぜ早く終わったか、なぜ時間がかかったか)
→成果物を共有する場がなかった。
→スクラム開発というより、タスク管理開発寄りになっていた。
まとめ
スクラム開発の最大の利点は、自分の課題を発見できることだと思います。
チーム全体が一丸となって開発を進めていくので、自分自身では見えにくい課題・問題もすぐに発見できます。
私自身、本プロジェクトを通して初めてスクラムを勉強し始めたので、まだまだ学べることが多々あると思います。
プロジェクトを通して、できたことを継続していき、できていなかったことを今後のプロジェクト業務の中で追求して活かしていきたいです。
明日は @sumborn さんです。お楽しみに!
参考にさせていただいた記事、サイト