銀行員からのRailsエンジニア

銀行員からのRailsエンジニア

銀行員から転身したサービス作りが大好きなRailsエンジニアのブログです。個人で開発したサービスをいくつか運営しており、今も新しいサービスを開発しています。転職して日々感じていること、個人開発サービス運営のことなどを等身大で書いていきます。

【読書まとめ25】スクラムブートキャンプ(SCRUM BOOT CAMP THE BOOK)

勤めている会社で、スクラムで開発を進めているプロジェクトに初めて入ることになったので、先輩におすすめいただいた スクラムブートキャンプ(SCRUM BOOT CAMP THE BOOK) を読みました。

この本の紹介に書いてある「はじめて『スクラム』をやることになったら読む本」という言葉通り、マンガをはさんだストーリー仕立ての説明はとても分かりやすかったです。

後から見返せるように、ポイントをまとめてみました。このブログを読むだけでもスクラムの雰囲気は分かると思います。

SCRUM BOOT CAMP THE BOOK

SCRUM BOOT CAMP THE BOOK

 

f:id:ysk_pro:20200115221028p:plain

ソフトウェアをつくる上で大事なこと

  • できたものを使って利用者が便利になる等の成果をあげること。何かを作ることは目的ではなく、あくまで手段である。当初作ろうと思っていたものよりも良いアイデアが出れば、目的を達成するためにそれを受け入れながら、作るものを変えていく。そうすることで成果を最大化できる
  • このような考え方で、成果を最大化するために考案された開発の進め方がアジャイル開発である

アジャイル開発とは

  • 次のような開発の進め方をアジャイル開発と言う
    • 関係者は目的の達成のためにお互いに協力し合いながら進める 
    • 利用者の反応関係者からのフィードバック継続的に得ながら、計画を調整する 
    • 一度にまとめてではなく、少しずつ作る。そして実際にできあがったものが求めているものと合っているかを頻繁に確認する
  • あらかじめおおよその全体像を明らかにしたうえで、どのくらいの期間と人数で仕事をするかを決めて、その範囲の中で大事な要求から順にプロダクトを作っていく

スクラムとは

  • 目的を達成できるプロダクトをつくるために、常に進む方向を調整しながら全員が一丸となって行うべき作業、会議、成果物を定めたものスクラムと言う

スクラムの進め方

  • スクラムではプロダクトオーナー(後述)が要求を並べ替えて、開発チームがスプリント単位でプロダクトをつくっていく
  • 「プロダクトバックログ(プロダクトへの要求を抽出して順番に並べ替えたリスト)を作成し、常にメンテナンスして最新に保つ
  • スプリント(1週間〜4週間)の固定の期間内で、計画、設計、開発、テストなどプロダクトのリリースに必要なすべてのことを行う

スクラムのチーム編成

プロダクトオーナー

開発チーム

  • 通常3~9人で構成される。3人未満だと個人のスキルに依存してしまい、10人以上だとコミュニケーションコストが増えてしまう
  • 開発チーム内での仕事の進め方は、開発チームのメンバーの合意のもとに決められ、外部から仕事の進め方を指示されることはない

スクラムマスター

  • スクラムのプロセスを円滑を回して、プロダクトオーナーや開発チームを支える

スクラムで実施するミーティング

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

  • スプリントの開始時に行う
  • スプリントで何を作るのかを決める。プロダクトバックログの順位の上のものから順に今回のスプリントで開発する対象として検討を行い、選択した対象の開発に必要な作業を開発チームで洗い出す
  • 2週間スプリントであれば、4時間程度を使う

デイリースクラム

  • スプリント期間中、毎日、同じ場所、同じ時間に行う
  • 状況を確認するためのミーティング。前回のデイリースクラムからやったこと、次回のデイリースクラムまでにやること、困っていることを各メンバーから報告する
  • 開発チームの人数に関係なく 15分間で行う

スプリントレビュー

  • スプリントの終わりに行う
  • プロダクトオーナーがプロダクトを確認する実際に動作するプロダクトで確認する
  • 2週間スプリントであれば、2時間程度を使う

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

  • スプリントレビューの後に行う
  • スプリントの振り返りを行う。うまくいったこと、今後改善すべき点を整理し、今後のアクションプランをつくる。アクションプランのうち少なくとも1つは次のスプリントのスプリントバックログに含めると良い
  • 2週間スプリントであれば、1.5時間程度を使う

スクラムを行う上で知っておいた方がいいこと

  • インセプションデッキは、プロジェクトを始める前に明らかにしておくべきことを知るための活動。10個の質問という形でまとめられていて、それぞれの質問についてスクラムチーム全員で話し合う。話し合って明らかになったことは、プレゼン資料のようなスライドにまとめていく。スクラムではゴールやミッションを常に強く意識しながら行動することが重要であり、スクラムチーム全員で話し合うことが大切
  • 多くのスクラムチームでは、相対見積もりが使われる。基準となる作業とその時の数字を決めて、それとの比較で作業量を見積もる。実際のやり方としては、多くのチームではラニングポーカーという手法が使われる。それぞれの項目について、1人1人が見積もりを考えて、同時に公開してすり合わせる
  • スプリントごとに終わらせられるポイント数は、ベロシティと呼ばれている。ベロシティはスクラムチームのスピードのようなものである。ベロシティは決めるものではなく測るものであり、実際に行った数字を使うのが一番確実である
  • プロジェクトで調整できるものは次の4つしかない。品質予算期間スコープ である

 

 おわりに

本書は、最初にスクラムについてのポイントをまとめ、その後は実践編としてマンガをはさみながらのストーリー仕立てで解説していくという構成でした。

サクサク読めてとても分かりやすかったので、ご興味ある方は是非お手に取ってみてください。 

(2020/5 改訂版が出ていたのでリンクを差し替えました) 

 

スクラムについての基礎は理解できたので、初めてのスクラムプロジェクト頑張っていきます!

 

次は、会社の方におすすめいただいた カイゼン・ジャーニー (アジャイル開発の実例を書いた有名な本です)を読む予定です。