スクラム開発とは?アジャイル開発との違いやメリット・デメリットを解説
スクラム開発とは?
スクラム開発とは、システム開発の際に用いられる手法の1つです。チームでの作業を成功させるためのフレームワークとして使われています。「スクラム」とは、ラグビーの試合で使われるフォーメーションから名付けられました。スクラムを組むかのように、チームで一丸になり開発するという意味合いがあります。
アジャイル開発との違い
システム開発には「アジャイル開発」「ウォーターフォール開発」など、さまざまな手法が存在します。 アジャイル開発は、素早く柔軟に開発を進めていくことが特徴の手法です。アジャイル開発の中でさらに種類が細分化されており、スクラム開発はその代表的な手法の1つという位置付けになります。
スクラム開発手法の特徴
スクラム開発にはどのような特徴があるのでしょうか。「2種類のバックログ」「チーム主体の開発手法」の2点をご紹介します。
2種類のバックログ
スクラム開発の特徴として、2種類のバックログがあるという点が挙げられます。バックログとは、今後やるべきだが、まだやっていない取り組みのことを指します。例として「作業する予定のシステムや機能」「達成したい目標」などがあります。
プロダクト・バックログ
1つ目のプロダクト・バックログは、プロダクトがどのような価値を提供するのか、機能や改善点などをまとめたリストです。関係者全員が閲覧できるようにすることで、現在のプロダクトの状況をチェックできる環境を作ります。 プロダクト・バックログの代表的な形式として「ユーザーストーリー」があります。開発するシステムを使うユーザーにとっての価値についてまとめたもので、「誰のために実現するか」「何のために実現するか」について明確にします。 仕様変更などの事態が発生した場合、ユーザーストーリーを見返し、プロジェクトの目的や本質に立ち返るといった使い方をします。プロダクト・バックログがあれば、チームの価値観の統一がしやすくなったり、伝達がスムーズになったりするメリットがあります。チームでの作業体制を重視するスクラム開発では、プロダクト・バックログがプロジェクトの方向性をまとめるのに役立ちます。
スプリント・バックログ
2つ目はスプリント・バックログです。短距離走を意味する「スプリント」という意味合いがあります。「タイムボックス」と呼ばれる1〜4週間などの短期間で行うべき作業をまとめたバックログで、チームのやることリストのような役割があります。 期間中は、チームの各メンバーが責任を持って担当のタスクを終わらせます。「自分のタスクさえ終わらせればいい」というわけではなく、チームの仕事として考える姿勢が重要です。スプリント・バックログはチームで共有し、チームとして責任を持って取り組みます。 スプリント・バックログに書かれた作業を遂行するためには「デイリースクラム」の取り組みが有効です。デイリースクラムでは毎朝チームの全員が集まり、各自の進捗を報告します。報告する内容は、以下の通りです。 ・昨日やったこと ・今日やる予定のこと ・作業の遂行において障害となっていること これらの情報を端的に報告することで、チーム全体の進捗具合を把握します。1回につき15分ほどの時間を使うのが一般的です。
チーム主体の開発手法
スクラム開発では、リーダーやマネージャーだけではなく、チームそのものが主体となってプロジェクトを進めます。チーム一人一人が当事者意識を持ってプロジェクトのあり方を考え、セルフマネジメントしていきます。開発チームのメンバーは、リーダーに責任を押し付けないようにするといった特徴があります。 メンバーが主体的に動くには、チームのコミュニケーションが取れている状態が望ましいとされています。そのためには、10人以下の小規模なチームで開発を進めることが理想的です。
スクラム開発でスプリントを実施する手順
スクラム開発の多くはスプリントを取り入れて開発を進めます。本項では、スプリントを使ったスクラム開発を実際の流れに沿って解説します。
バックロググルーミング
スプリントの計画を作成する前に、プロダクト・バックログの作成もしくは見直しを行います。1度目のスプリントの際は、プロダクト・バックログを作成することで実装すべき機能ややるべきことの洗い出しを行います。2回目以降のスプリントでも都度目を通し、プロジェクトの方向性を確認したり、必要であれば修正を行なったりすることが一般的です。また、バックロググルーミングは「バックログ管理」「バックログリファインメント」とも呼びます。
スプリントプランニング
スクラムのメンバーで集まり、今回のスプリントの計画を作成します。やるべきことを一覧にして、誰がどの工程を担当するのかを決定します。ミーティングを元にスプリント・バックログを作成し、やるべきことを具体的にしたのち、スプリント期間を開始します。
<スプリント・バックログに記載する項目>
・スプリントの目標
・開発期間
・システムの詳細や仕様
・作業の工程や内容
・作業の各担当者
デイリースクラム
スプリント期間中はメンバーが毎日集まり、デイリースクラムを行います。前項で作成したスプリント・バックログを的確に遂行することを目的に、各自の進捗状況を共有します。必要に応じて各自の知識を共有したり、助言しあったりするため、プロダクトの完成度を高めるのに効果的です。また、メンバーのコミュニケーションを促進し、プロジェクトを進めやすくするために役立ちます。
スプリントレビュー
プロダクトの完成度合いをチェックするスプリントレビューを行います。スプリント・バックログと比較し、必要な工程を遂行できたか確認する意味合いがあります。スプリントレビューは、スクラムのメンバーと依頼主であるクライアント様の間で行います。外部のコンサルティング担当者など、その他の関係者が参加する場合もあります。こまめにレビューの機会を設けることで、より質の高いプロダクトを早期に目指すことが可能です。
レトロスペクティブ
スプリントの終了時には、スクラム内で振り返りを行います。順調だった点や改善すべき点などを洗い出し、次のスプリントがよりよいものになるように検討します。レトロスペクティブの実施を通じて、より生産性の高いスクラムを目指し、チームとしての結束力を高めます。スプリントを取り入れたスクラム開発では、バックロググルーミングからレトロスペクティブまでの手順を2週間程度で繰り返すことが一般的です。
スクラム開発の開発人員・役割
スクラム開発では「プロダクト・オーナー」「スクラム・マスター」「スクラム開発メンバー」の3つの人員を配置します。それぞれの役割について解説します。
プロダクト・オーナー
プロダクト・オーナーには、システムの方向性を決定し、プロジェクトを正しい方向へと導く役割があります。 プロダクト・オーナーはプロジェクトが成功するよう、開発チームがより価値を生み出せる状況を作ります。実際の開発に入る前には、ユーザー像やシステムの要件の把握を行います。それに基づいて、以下の業務を行います。 ・プロダクトバックログを作り、管理する ・開発チームの作業に優先順位をつける プロジェクトの指標となるプロダクトバックログを作成するのは、特に大切な業務です。開発チームのメンバーと連携しながら、常に適切なバックログを提示することで、システムが価値のあるものになるよう努めます。日々変化するプロジェクトの状況に応じて、的確に対応することが求められます。
スクラム・マスター
プロジェクトを実際に推進していくのは、スクラム・マスターの仕事です。開発メンバーが無事にタスクを完了していくための調整を行います。具体的な業務は、以下の通りです。 ・開発メンバーの指導 ・チームのコミュニケーションや協力関係を促進 ・タイムボックス(短期間)の計画を作成、管理する スクラム・マスターは、開発が円滑に進んでいるかどうかチェックし、調整する役割があります。困りごとを抱えている開発メンバーがいれば、解決できるよう手助けします。時には責任者であるプロダクト・オーナーに対して意見する場合もあります。 スクラム開発で重要となる主体的な協力関係を促進するのも、スクラム・マスターの仕事です。自ら全ての問題を解決するのではなく、開発メンバー自身で解決できるように、考えや行動を促します。プロジェクトを円滑に進めることに加え、開発メンバーが課題を乗り越え、チームがともに成長することに貢献することが理想的です。 これらの業務を行うためには、開発メンバーが行う作業について理解していることが大切です。また、技術的なことはもちろん、スクラム開発の進め方についても詳しいことが求められます。
スクラム開発メンバー
実際に作業を行うのが、システムを設計したり、実際に構築したりする開発メンバーです。開発メンバーはタイムボックスの計画に基づき、作業を遂行していきます。 チーム一丸となって作業を行うスクラム開発では、コミュニケーションを重視します。他の開発メンバーと協力して作業を進めるため、チームとして助け合う気持ちを持ち、主体的に取り組む姿勢が重要です。 また、開発メンバーそれぞれが当事者意識を持ってプロジェクトを進めるために、スクラムを組む際には人数にも気を配ります。人数が多すぎると「誰かが何とかしてくれるだろう」という意識が出てくる可能性があるため、大人数にしないことが一般的です。開発メンバーは7人以下の少人数にする傾向があります。 開発メンバーは、協力的で主体性のある組織文化を醸成するために、特に重要な立ち位置と言えます。スクラム・マスターから事細かに指示を受けなくても、責任を持って業務に取り組むことができる人材が理想と言えるでしょう。
スクラム開発のメリット
生産性やプロジェクトの進めやすさといった観点から、スクラム開発のメリット4つをご紹介します。
問題発見と解決が迅速に行える
スクラム開発はデイリースクラムと呼ばれるミーティングを毎日行うため、問題が起きても発見しやすいという点にメリットがあります。 デイリースクラムでは、昨日と今日の作業内容や、現在抱えている問題について報告します。この取り組みにより、プロジェクトの状況を正確に把握し、問題に対しての対応がしやすい環境を整えます。また、必要に応じてスクラム・マスターが介入し、問題を解決するための指示や調整を行います。
メンバーが主体的に取り組める
スクラム開発では、チームの一人一人が主体的に取り組むことにより、高い生産性が実現する可能性があります。 プロダクト・オーナーやスクラム・マスターといった役職だけではなく、開発メンバーも含めたチーム全員が当事者意識を持って取り組みます。それぞれの得意な分野のスキルを把握・発揮するなど、パフォーマンスが高まりやすい状況を作ります。 チームのメンバーがお互いを助け合い、良好な関係を築くことで、モチベーションが生まれやすいという側面もあります。
スケジュール通りに開発が進みやすい
アジャイル開発は、計画から実装、テストといった工程を小さなサイクルで繰り返す点に特徴があります。 アジャイル開発の一部であるスクラム開発も同様に、短い期間で各工程に取り組んでいきます。1つの機能に対してどれくらいの作業量が出てくるのか見積もるため、スケジュール通りに開発が進められる可能性があります。 また、協力してプロジェクトに取り組むことで、問題発見や解決に至りやすいのがスクラム開発です。作成したスケジュールと大きくズレることなくプロジェクトが進むケースも多くあります。
仕様変更に対応しやすい
アジャイル開発には、プロジェクトの状況に応じて対応を変えていくという特徴があります。想定したシステムの仕様やスケジュールに縛られることなく、必要に応じて柔軟に変更していきます。スクラム開発も同様に、開発状況やユーザーの要望に応じて仕様変更しやすいというメリットがあります。
スクラム開発のデメリット・失敗ケース
スクラム開発のデメリットや、失敗しやすいポイントについてチェックしましょう。
初心者のメンバーがいる場合、スケジュール通りに進めにくい
短期間で集中的にタスクをこなしていくスクラム開発では、初心者の開発メンバーに対しての教育期間がうまく設けられないことがあります。また、初心者に対してのフォローの時間が発生し、スケジュールが読みにくくなるケースも考えられます。開発メンバーが力を発揮しやすいよう、スクラム開発ではメンバー選びが1つのポイントになります。
柔軟に変更しやすいゆえに、スケジュール自体がブレる可能性がある
アジャイル開発及びスクラム開発は、スケジュールを固めすぎずにプロジェクトを始めることが多くあります。 しかし、システムをよりよいものにしていこうと改善を続けたり、ユーザーからの意見を取り入れたりするうちに、スケジュールのコントロールが難しくなることが考えられます。スクラム開発は柔軟に進めていける反面、スケジュールがブレやすいというデメリットがあります。 また、機能ごとに各工程を繰り返して開発を進めていくという点も、スケジュールの管理を難しくさせる要因の1つです。
コミュニケーションが苦手なメンバーには不向き
スクラム開発では、コミュニケーションを取りながら開発を進めることが求められます。毎日のデイリースクラムでは、自分の進捗状況や課題を端的に言語化し、発表する必要があります。 また、日頃から他のメンバーの動きも頭に入れ、困っている様子であればフォローする場合もあります。自分のことに集中して黙々と業務を行いたいというタイプには、苦痛に感じる開発手法です。スクラム開発では、コミュニケーション能力を考慮してチームのメンバーを選ぶと良いでしょう。
スクラム開発に向いているシステム
アジャイル開発の一種であるスクラム開発は、スピーディに開発を進められ、仕様変更にも対応しやすい特徴があります。仕様が固まりきっていないシステムや、後から更新する必要があるシステムが適していると言えるでしょう。例として、継続的に更新する予定のあるWebサイトやアプリが挙げられます。アジャイル開発とは反対に、一度立てた計画に忠実に開発していくのがウォーターフォール開発です。ウォーターフォール開発はプロダクトの完成像が明確である場合や、確実性を求める場合などに適しています。例えば、金融機関や公的機関のシステムなど、障害が発生すれば多くの人に影響を与える可能性のあるシステムを開発する際に選択します。
ウォーターフォール開発に適したシステムついてはこちら
ウォーターフォール型開発とは? 定義やメリット・デメリット・最適なケースを解説!
アプリ開発についてはこちら
アプリ開発の企画プロセスとは?費用についてや開発手法も解説
ハイブリッドテクノロジーズの提供サービス
ハイブリッドテクノロジーズは、高い品質管理のもと、アプリケーション開発、システム開発の設計、デザインなどの上流工程から開発、運用、保守に至る全ての工程をトータルでご提供することで、クライアント企業のデジタルトランスフォーメーション(DX)推進をサポートいたします。 お客様の要望に合わせて、アジャイル開発やウォーターフォール開発等の開発手法やラボ(ストック)型サービスや受託(フロー)型サービスを柔軟に組み合わせて対応させていただきます。
【アジャイル開発ご希望のお客様】
【ウォーターフォール開発ご希望のお客様】
【ラボ(ストック)型開発サービスご希望のお客様】
【受託(フロー)型開発サービスご希望のお客様】
ハイブリッドテクノロジーズが選ばれる理由
01 ビジネス設計〜実装・保守までワンストップで提供できるサービス体制
既存サービスの変革や新規サービスを成功を導くための顧客体験発想による設計からプロジェクトをスタートし、MVP開発を通して顧客のビジネスグロースを一緒に共創していくサービスを提供します。
02 UCS(ユーザー中心設計)によるUI/UXデザイン
実際にそのサービスを使うユーザーを調査、分析しながら、人間中心設計を元にデザインを行なっていきます。
03 スピード感をもった開発体制の構築
要件定義で定めた機能の中から優先度の高い重要なものから、アジャイル・スクラム開発を用いて開発することでサービスインまでの期間を短縮。素早いリリースを実現し、機能の追加などのブラッシュアップを行います。 ベトナムにおける日系No1*1という知名度の高さと20,000人以上*2の候補者リスト*2を元に必要な人員リソースの確保が可能なため、スピード感をもった開発の実行が可能です。
04 累計290社の顧客のプロダクト開発実績
当社が創業以来、豊富なシステム開発・アプリ制作の実績があり、それらを通じて蓄積した知見やノウハウを持ち合わせています。企画段階から要件定義・デザイン・開発まで担当し、プロジェクトを成功に導きます。
05 低コストかつ自由度の高い開発
フルスクラッチ開発とパッケージ開発のいいところどりを実現。 フルスクラッチ開発だとコストが上がる傾向にありますが、当社はベトナムのリソースを活用することでコストを抑えられます。 また、パッケージ開発だと自由度が失われる傾向がありますが、当社はスクラッチ開発で顧客予算に合わせて、スコープを見定めながら、進めることができるので、低コストで自由度の高い開発が実現できます。
06 国際標準規格に則った品質管理体制
情報セキュリティマネジメントシステムの国際規格「ISO9001」、「ISMS(ISO/IEC270001)」、ソフトウェア・テストの国際規「ISTQB Platinum Partner」の認証を取得しており、国際標準規格に則った品質管理体制を提供しています。
- 株式会社マイナビが運営するベトナムITエンジニア専門の求人サイトITviecは、給与・教育・マネージメント・企業文化・オフィス環境の観点から、Best Companyを選定。Hbrid technologies Vietnam Co., Ltdは、2019年と2020年に、日系企業で最高位に選出されました。
- 過去の当社へ応募頂いた開発候補者のリストです。応募のタイミングでリクルートシステムに登録し、常にそのリストから候補者へのリサーチできる体制を持っています。
システム開発の成功事例
システム開発での成功事例をご紹介します。
見守りサービス (株式会社otta)
サービス内容
位置情報履歴を、無料スマホアプリやメールを通じて保護者様に伝えるサービス
サービス上の課題/目指したいサービス
課題
共働き世帯や高齢者の増加など、社会構造の変化により、子どもや高齢者の見守りへのニーズが急速に高まっている。一方で、見守る方々の高齢化や地域コミュニティの変化により担い手は減少方向にあり、この需給ギャップを埋めるには、見守りの仕組みの生産性を大幅に向上させなければならない。
目指したいサービス
IoTを活用した見守りサービスのパイオニア企業として、見守り活動の生産性の飛躍的な向上に貢献するとともに、従来のサービスでは困難であった、多くの方々にご利用いただける料金体系を目指すこと。
クライアントの課題/要望
・追加開発体制のリソースが不足している
・既存ベンダーの開発チームと組み合わせながら、チームを構築したい
・事業状況に応じて柔軟にリソースを調整したい
当社を選択していただいた理由
キャピタル案件であり、HTからの投資次第で開発も頼みたいという理由から
当社ご提案内容
業界ラボ型(ストック)開発+保守にて提案
toB向け見守り管理システム開発
・今後の基盤変更も意識しながら登園バス管理システムの管理画面を作成し、サービス展開をしていきたい
・今後の開発体制構築も視野に入れつつまずはスモールに体制を構築しつつ今後の足掛かりとしたい
リソース活用し柔軟に対応できることと、javaを中心に進めていたが、よりモダンな言語を基盤に開発を進めたいという要望に対し、得意分野であった。
学習履歴データの可視化システム(放送大学学園)
サービス内容
学習履歴データ可視化システムの開発
サービス上の課題/目指したいサービス
課題
オンライン授業システムのデータベースには多量の学習履歴データが蓄積されており、このデータを学内の担当者が活用できるよう整備し、学生指導のためのヒントとして、あるいは学生に受講を促すための情報源として活用したいという意向があった。
目指したいサービス
・学外に開示する「サービス」ではなく、学内担当者用の「ツール」であること
・コマンドラインで操作可能なツールであること
・追加機能の実装をできるようにすること
クライアントの課題/要望
・社内で開発体制を保持していないこと
・金額をミニマムに抑えながら安定的な運用を実現したい
当社を選択していただいた理由
充分に仕様を満たす提案内容と他社と比較して最も安価な金額で入札提示したため。
当社ご提案内容
学習履歴データベースとBIツールの開発
オンライン授業システムのデータベースに蓄積された学習履歴データを活用するにあたって、実運用されているDBの処理とバッティングしないように、MongoDBに格納する処理にて開発を進めました。またMongoDBにデータを格納する際、他データとの連携も考慮し、汎用的なExperienceAPIに準拠したデータ形式を採用しました。
個人情報の扱いにおいては、開発人員含め、学生の個人情報の漏洩を防ぐため、学生の識別子を匿名化しての実装を実施しました。
DocIT (株式会社ドキットメディカルサービス)
サービス内容
働き口を探す医療従事者と、働き手を求める病院をつなぐマッチングプラットフォーム
サービス上の課題/目指したいサービス
課題
高額な紹介料がネックとなりスポットで人が必要な際に苦心をする病院の課題解決
目指したいサービス
休日や長期出張の空き時間を有効活用したい医師と、長期連休などで一時的に人手が必要となる病院をマッチングすることで医師の働き方の多様化を実現するサービス
クライアントの課題/要望
・サービス構想はあるが、実現させる開発パートナーが必要
・上流工程からの開発サポートが必要
当社を選択していただいた理由
開発にあたってサービス設計から本開発まで、一緒に伴走し考えながら開発してくれるパートナーとして安心感を感じて頂き、当社を選ばれました。
当社ご提案内容
ラボ型(ストック)開発にて提案
1.医療求人の性質を鑑みた機能提案、システム設計・開発
本サービスでは失敗の許されない医療系求人を取り扱うため、求人マッチングをする前に信頼のできる医師・病院であることを確認できることが重要となります。 そこで、実際に求人マッチングした医師・病院による相互レビュー機能を実装することで、信憑性の高いレビュー情報を蓄積することを提案・実現しました。 また、求人マッチング前に病院担当者と直接チャット出来る機能も実装することでレビューでは分からない定性的な情報確認も可能としました。 アジャイルスクラム手法の開発を取り入れることにより、システム開発の進捗報告を実際に動くシステム画面をお見せしながらデモンストレーション形式で毎週行いました。
2.定期的なスプリントを繰り返し、顧客と一緒に品質を高めるプロセスにて進行
実際に動くシステムを毎週見ていただくことで、開発進捗についての安心感やお客様も気がついていなかった新たな改善点がを発見でき、それを修正して再度デモンストレーションを行いました。この一連の流れを回すことで、お客様の求めるものを高い品質でご提供しました。
3.デザインを用いた視覚的なアウトプットで、具体的なシステムイメージを共有
Webサービス開発に初めて挑戦するお客様のため、お客様が思い描くビジネスを実現するためのシステムイメージを具体化していくデザインサポートも担当。求人情報サービスという特性上、さまざまな情報要素が混在する中で、目に見える形でデザインを整理・提案し、お客様からのフィードバックを受け、再提案を繰り返すことで、よりユーザーにとっての最適なWebサービスのための設計・提案・実現を行いました。
THINK, Reviewers (株式会社スパイス ボックス)
サービス内容
独自の「ソーシャルリスニング」手法をもって、企業と生活者の 間に生きたコミュニケーションを構築するサービス
サービス上の課題/目指したいサービス
課題
インフルエンサーの評価指標としてフォロワー数とエンゲージメント数が重要視されているケースが多いが、商品販売施策においては保存数が重視される。保存数を把握した上でインフルエンサーと企業のマッチングを行うプラットフォームが存在していなかったため、新たなサービスとしてスピード感を持ってサービス開発を行いたい。
目指したいサービス
・サービス名「THINK」:Twitter調査における既存システムの安定的かつ継続的な運用を維持しつつ、インフラコストを削減すること。
・サービス名「Reviewers」:インフルエンサーマーケティングで投稿保存数という指標を重要視するインフルエンサーマッチングプラットフォームの新規立ち上げをすること。
クライアントの課題/要望
・開発が発生した際に、都度RubyonRailsの対応人員を増やすのが難しい
・インフラ周りに強いメンバーがいない
・金額をミニマムに抑えながら安定的な運用を実現したい
・追加開発が発生した場合には、知見を維持した状態で取り組める体制がほしい
当社を選択していただいた理由
・開発リソースの柔軟性とインフラなど対応範囲の幅広さが先方ニーズにマッチしていたこと
・定常運用の際にもコストを抑えて対応できること
当社ご提案内容
受託型開発(フロー)にて提案
インフラ知見を持つディレクション人材をアサインメントすることで、インフラ周りの調整や業務対応にスピード感を持って対応できる体制を構築
インフラ/保守/開発を幅広く対応可能、かつ、コストミニマイズなオフショア体制をご提案しました。
ディレクション人材がインフラの知見を持ち、定常作業はベトナム側で行えるようにマニュアル化を行い、コストミニマイズしながらも幅広い知見を活かせる体制提案を行いました。
新規の開発が発生した際に、既存チームの知見を活かしながら適宜開発者を追加して、素早く開発を実行できる体制を実現しました。
まとめ
スクラム開発は、メンバー全員が主役となって主体的に取り組むことで、高い生産性を目指す開発手法です。仲間とコミュニケーションを取りながら協力して取り組むことで、大きな達成感を感じられるでしょう。 スクラム開発のメリットを活かすには、協力関係を築ける仕組みづくりや、メンバーの人選が重要です。本記事を参考にスクラム開発の特性を理解し、開発に取り入れてみてはいかがでしょうか。