[スクラム開発入門] わわわわたしがスクラムかいはつぅぅぅ!?


この記事の対象者

  • スクラムのキの字も知らない方
  • スクラムってなんだろう?ラグビーかな?って勘違いしてる良い子のみんな

スクラム is 何

  • アジャイルの開発手法の一つで、チームのコミュニケーションを重視したフレームワーク
  • 少しずつ作り頻繁に確認する」を繰り返すことでシステムを作り上げる

スクラムの特徴

  • クライアントの要求に優先順位をつけ、それに準じてタスク管理をする
  • 2週間あるいは1ヶ月間くらいの短いスパンを回すことで作業を進める
  • 短い作業スパンをチーム内で継続的にフィードバックを行うことで開発の改善を試みる
  • 定期的にクライアントの要求を満たしているか確認する機会を設ける

スクラム開発のメリットとデメリット

メリット

  • 日々の会議でチームメンバーの進捗状況を正確に把握できる
  • 定期的にフィードバックを受けるため、クライアントとの認識齟齬が少なくなる
  • 短い作業スパンごとにチームの生産性を出すので、次のスパンで改善を測れる

デメリット

  • 仕様変更が容易なため、タスクが肥大化することがある
  • 短いスパンで開発するため初心者がチームメンバーにいる場合、スケジュール通りに進めづらい
  • 開発中にチームメンバーが離脱すると、プロジェクトの進捗に大きな影響が出る

スクラムを行う上で必要な役割

下記3つの役割をまとめてスクラムチームと呼ぶ

一つずつ役割を見ていきましょう

  • プロダクトの結果責任をとる
  • プロダクトバックログ(= 実現したいクライアントの要求)を関係者が理解できるように説明する
  • プロダクトバックログの優先順位の決定を行う
  • プロジェクトに必ず一人必要
  • 開発チームに相談できるが干渉はできない
  • プロジェクトの目的を周りと共有する
  • おおよそのリリース計画を定める
  • 作られたプロダクトが要求を満たしているかを確認する

クライアントがプロダクトオーナーをする場合もある

  • 開発を円滑に回す
  • 開発の妨害を排除する
  • 開発の支援を行う
  • 教育、ファシリテート、コーチ、推進役
  • プロダクトバックログの書き方の統一を図る
  • プロダクトバックログの良い管理方法を探す
  • プロダクトオーナーや開発チームにアジャイル開発やスクラムのことを理解してもらう
  • 会議の進行役を必要に応じて行う
  • プロダクトオーナーと開発チームの会話を促す
  • プロダクトオーナーと開発チームの生産性が高くなるように変化を促す
  • 開発妨害リストを作り、一つずつ解決していく

  • プロダクトを作る
  • 3人~9人で構成する
  • 上下関係はなく、チームメイトのスキルを補い合う
  • なるべく個人が複数のことができるようになることが望ましい

スクラムの全体像

この記事を読み終わると上記の画像の意味がわかるはず!
一つずつ単語の意味を説明していきます

プロダクトバックログとは?

  • 実現したいクライアントの要求の一覧

スプリントとは?

  • 2週間あるいは1ヶ月間くらいの短いスパン、タイムボックス
  • 期間の延長は行わない
  • スプリントの終わりにベロシティ(= チームの生産性)を出し、次スプリントの参考にする

スプリント計画ミーティングとは?

  • スプリントを始めるにあたって、まずスプリントで何を作るかの計画する会議

スプリント計画ミーティングは二部構成で行われる

第一部

  • プロダクトオーナーは何が欲しいかをヒアリング
  • 開発チームはどれくらいできそうかをみる

第二部

  • 開発チームはどうやってそれを実現するか検討する

第一部と第二部を持って開発チームのスプリントバックログ(= 具体的なタスク一覧)を作る

また「タスク完了の定義」をきめることも重要

タスク完了の定義の例) 
1. コードレビューが通っている
2. ユニットテストが書いてある
3. ドキュメント作成が終わっている
4. プロダクトオーナーからokが出てる

1 ~ 4を達成して初めてタスク完了!

デイリースクラムとは?

スプリントの期間中に開発チームは毎日、同じ場所、同じ時間にそれぞれのタスク状況を共有する短い会議

  • 15分間で行われ、延長はできない
  • 報告は簡潔に行う
報告の例) 
・ 前回のデイリースクラムからやったこと
・ 次回のデイリースクラムまでにやること
・ 困っていること

スプリントレビューとは?

スプリントの最後にプロダクトオーナーがプロダクトを確認する会議

  • 動作するプロダクト提供し、プロダクトオーナーに確認をしてもらう
  • 開発チームが完了できなかったプロダクトバックログについて説明する
  • プロダクトの状況について説明する
  • プロダクトバックログについて追加すべき項目について議論する
  • プロジェクトの進行の問題点などを議論する
  • 現在の進捗を踏まえて、リリース日や完了日を予測する

スプリントレトロスペクティブとは?

スプリントの最後に行うふりかえり会

  • タスク進行やツールなどの観点から今回のスプリントをふりかえる
  • うまくいったこと、今後改善すべき点を整理する
  • 今後のアクションプランを作る

もう一度スクラムの全体像を見てみよう


上記の図がスクラムの何を示しているかわかると思います
お後がよろしいようなら幸いです