いまさら聞けない「スクラム開発」ってどんなもの?
近年、さまざまな企業で採用されることの増えている「スクラム開発」という手法。しかし、実はその概要やメリットがよく分からないという方もいらっしゃるのではないでしょうか?
そのような方のために、今回はスクラム開発の基礎知識について取り上げます。
スクラム開発ってどんなもの?
ソフトウェアの開発には、従来の主流である「ウォーターフォール開発」と2000年あたりから採用する企業の増加している「アジャイル開発」の主に2つの手法があります。
アジャイル開発では、1か所に集まった少人数の開発チームが目的の達成のために協力しあいながら作業を進めます。また、ウォーターフォール開発のように1度決定した計画を絶対のものとはしません。各メンバーや関係者からのフィードバックを定期的に得ながら柔軟に計画を調整し、さらに1度にまとめてすべての機能を作るのではなく1つの期間ごとにいくつかの機能を追加開発していく手法です。
アジャイル開発には、ソフトウェアプロセスから無駄を取り除くことを目的とした「リーン開発」や、ドメインのモデルを作成を基礎とする「機能駆動型開発(FDD)」など複数の手法がありますが、スクラム開発はアジャイル開発の代表的な手法の1つで、中でもチームのコミュニケーションを重視した手法であり、次のような要素を持っています。
スクラム開発の要素
・プロダクトへの要望を優先順位ごとに並べかえて、その順に機能を作る
・固定の短期間(1~4週間程度)の単位で開発を区切り、その中で計画を立てる
・プロジェクトの状況や進め方に問題がないか、メンバー同士で毎日確認しあう
・作っている機能が正しいかどうか、定期的に確認の場を設ける
※スクラム(Scrum)開発:
ラグビーで両陣が、8名ずつ肩を組んで一つの集団を作り、ぶつかり合う際のフォーメーション「スクラム」が語源。その姿から集団が力を合わせることを「スクラムを組む」と表現することもある。
スクラム開発のいいところって何?
短い期間で、最大限の成果をあげる
スクラム開発では、優先順位の高い機能から順に開発を進めていきます。
そのため短い期間であっても、あげられる成果が非常に高いのです。
作業の工数見積もりが正確になる
ウォーターフォール開発では、「プロジェクトの工数見積もりが上手くいかない」ということがデメリットとしてよく挙げられてきました。
それもそのはずで、ウォーターフォール開発ではプロジェクトの最序盤の段階で数か月・数年も先のことを見積もりするため、そもそも難易度が極端に高いのです。スクラム開発では短い期間ごとに開発を区切り、その単位で計画を立てていくため、作業の工数見積もりは比較的正確になります。人は、数週間先くらいのことであれば予想しやすいからです。
自立的なチーム作りができる
スクラム開発では短く区切った開発期間ごとの工数見積もりを、各開発メンバーが自分で立て、期限を切ります。それに対しチームからの了承を得て進行するため、より一層各自に責任が発生するのです。セルフマネジメントはもちろん、自分のタスク以外も、チームの成果として計画を達成するにはどうしたらいいかを全員で考える必要があるので、それぞれの視野が広がり、自立的なチーム作りが促進できます。
チーム内で発生している問題の検知が早い
スクラム開発では、日々ミーティングを行います。その中で、「困っていること」や「分からないこと」を素直に話すことが推奨されているのです。そのため、チーム内で問題が発生している場合でもすぐに検知することが出来ます。
早めに軌道修正が出来る
ウォーターフォール開発では、プロジェクトの最終盤にならなければ、顧客は動いているプロダクトを見ることが出来ません。そのため、納品した後に「思っていたものと違う!」とトラブルになるケースがよく発生していました。スクラム開発では、作っている機能が正しいか定期的に確認の場を設けるため、もし顧客の要望と違うものを作っていても早めに気付けるのです。
どんな役割の人がいるの?
スクラム開発の概要がつかめたところで、この開発手法で必要となる各メンバーの役割を見ていきたいと思います。
具体的には、「プロダクトオーナー」、「スクラムマスター」、「開発メンバー」という3つの役割があります。
プロダクトオーナー
作成するプロダクトの責任者です。「どのような機能が必要だ」、「この機能は優先順位が高い」といったプロダクトのビジョンを考えます。そして、それを他のメンバーに共有・説明することで実際に開発を進めてもらうのです。プロダクトオーナー自身は開発を行わず、
プロジェクトのスケジュールや予算の管理をします。
スクラムマスター
プロジェクトを円滑に進めるための「調整役」のようなポジションです。スクラムのルールや進め方をプロダクトオーナー・開発メンバーに説明し、効果的な実践を促します。また、プロダクトオーナーや外部メンバーの無理な要望から開発メンバーを守ったり、タスクを調整して特定のメンバーに負荷がかかりすぎないようにします。スクラムマスターは専任だけではなく開発メンバーとの兼任の場合もあります。
開発メンバー
実際に開発を行うメンバーです。すべてのメンバーは、設計、ドキュメント作成、コーディング、テスト、運用といった一通りのスキルを持っていることが求められ、「○○の分野しかやらない・出来ない」といったことは望ましくありません。もし苦手分野がある場合でも、作業を融通し合いながら全てのメンバーが全ての仕事を出来るようになることを目指します。また、メンバーはみな平等であり、役職や年齢による上下関係はありません。
スプリントの流れ
スクラム開発では、開発の1つの期間単位のことを「スプリント」と言い、以下の図のようなサイクルで開発が行われていきます。
※『スプリント(sprint)』:
陸上・水上競技やスピードスケートなどにおける短距離競走が語源。開発における1つの期間単位が短いことに由来している。
バックログを作る
バックログとは、プロダクトへの要望をまとめたリストのことです。プロダクトオーナーによって作成されることもありますし、開発メンバーからの意見が反映されることもあります。リストの各タスクは、優先順位に基づいて定期的に並べかえられます。
スプリントプランニングミーティング
スプリントを始めるにあたって、スプリントプランニングミーティングが開催されます。このミーティングでは、バックログの内容を元に、スプリント内で「何を作るのか」、「どれくらい作るのか」を決定します。バックログごとに工数の見積もりを行い、それぞれの作業を各メンバーに割り振ります。
デイリースクラム
チームの状況を共有するためのミーティングです。毎朝行うため、朝会とも呼ばれます。5~15分程度の時間で、昨日やったことや今日やること、そして起こっている問題などを報告します。
スプリントレビュー
スプリントの最終日には、プロダクトオーナーが成果物を確認する場を設けます。これをスプリントレビューと言います。スプリントレビュー内では、必ず動くアプリケーションを使って確認することが重要で、画面キャプチャや文書などで代用してはいけません。
スプリントレトロスペクティブ
同様にスプリントの最終日には、スプリントを振り返ることを目的としたスプリントレトロスペクティブを開催します。このミーティングでは、スプリントで良かった点や改善すべき点、そしてその要因と改善策などを各メンバーで議論し合い、次回のスプリントに活かせるようにします。
※レトロスペクティブ(retrospective)
和訳すると振り返り
おわりに
スクラムはサービスの開発スピードを高め、なおかつ変化に強い柔軟さも得ることの出来る手法です。
興味を持たれた方は、ぜひ開発の現場にスクラムの導入を検討してみてはいかがでしょうか?
ギークスジョブはITフリーランス専門エージェントとして20年以上にわたり、ITフリーランスのご支援を行っています。
フリーランスを初めて検討される方はもちろん、現在フリーランスとしての今後に不安を感じている方、今よりもっと充実したフリーランス生活を楽しみたい方は、ぜひお気軽に相談ください。ITフリーランス専任のキャリアアドバイザーがマンツーマンでサポートいたします。
▽ 無料登録(エントリー)はこちら
https://geechs-job.com/entry
まだフリーランスになることに迷いがある方へは、独立のご相談から承ります。これまでのご経歴やキャリアの目標をお伺いしながら、お一人おひとりに寄り添ったキャリアプランのご提案をいたします。
▽ 独立相談会への無料エントリーはこちら
東京:https://geechs-job.com/event/details/1
大阪:https://geechs-job.com/event/details/2
福岡:https://geechs-job.com/event/details/3
名古屋:https://geechs-job.com/event/details/189
その他のおすすめ記事
インターネットの新時代 WEB3.0サービスをつくるITフリーランスになる方法とは?|ITフリーランスをサポートするギークスジョブ
ITフリーランスの方のための『お役立ち情報』をご紹介しています。この情報のテーマはインターネットの新時代 WEB3.0サービスをつくるITフリーランスになる方法とは?です。geechs job(ギークスジョブ)では、「フリーに生きる」ためのノウハウをご紹介し、ご希望のキャリアやライフプランを実現できるように、サポート致します!
ITフリーランスの案件探しならgeechs job
IT業界・企業情報の専門知識を持ったコーディネーターが、あなたに合う案件をご紹介。
ITエンジニアとしてのキャリアに弾みを付けませんか?
- ・独立して新しいキャリアを築きたい
- ・スキルを磨いて、更なる高みを目指したい
- ・今よりも高い報酬を
ITフリーランスエージェントのgeechs jobが、あなたの未来に向けて伴走します。