アジャイル開発におけるスクラムマスターの役割について

f:id:ryoutaku_jo:20190126213022p:plain

【結論】
アジャイル開発とは、短期間で開発を見直すことで
 柔軟な仕様変更に対応する事が可能な開発手法。

スクラムとは、アジャイル開発の手法の一つで、
 開発チームが一体となって、作業を進める手法。

スクラムマスターは、スクラムを円滑に運用する為の
 調整役の様な存在。


【目次】


【本題】

スクラムマスターをやる事にしました

今日から、スクールでチーム開発の課題が始まりましたが、
立候補して、スクラムマスターをやる事にしました。

とはいえ、全くスクラムマスターの役割を理解しているとは
言えない状態なので、ここでスクラムマスターの
役割を整理して行きたいと思います。

アジャイル型開発について

まず、スクラムマスターについて説明するには、
アジャイル型・ウォータフォール型開発の説明が必要なので、
そこから解説します。

アジャイル
一度にまとめてでは無く、少しずつ確認をはさみながら開発を進めていく手法。
利用者の反応や、関係者からのレビューを得ながら、柔軟に計画を調整する事が可能な方法です。

・ウォータフォール型
あらかじめ全体の機能設計を済ませてから機能を実装する手法。
スケジュールや進捗を把握しやすいですが、開発着手までにどうしても時間が掛かる事と、
実装途中での仕様変更などを柔軟に対応できないデメリットがあります。

従来は、ウォータフォール型の開発手法を採用する現場が多かったですが、
サービスリリースまでの早さが重要な昨今は、
アジャイル型が採用されるケースが多くなっています。

スクラムについて

アジャイル開発手法の一つで、行うべき作業と目的を明確にし、
リアルタイムで開発メンバー全員に共有することで、開発を円滑に進める手法。

具体的な流れは、下記の通りです。

スクラムの流れ
(初回)
1:アプリの要件を決定する
2:アプリ開発の目的を、開発者全員が把握する
3:作業を全て洗い出す(プロダクトバックログに記述)
4:大よその作業量を見積もる
5:作業の優先順位を決める

(週毎・スプリントの始まり)
1:1週間の作業を決める(スプリントバックログに記述) ※予め担当者は決めない
2:各作業の完了の定義を決める
3:完了に向けた必要な作業を洗い出す

(週毎・スプリントの終わり)
1:実施した作業が完了定義を満たしているか確認する(スプリントレビュー)
2:本スプリントにおいて「良かった点」「改善点と対策」を洗い出す

※スプリントレビューまでに下記を実施しておく
・プロダクトバックログを最新の状態にしておく
・レビューすべき機能については全て、本番環境にデプロイしておく

(日毎)
1:前回のデイリースクラムからやっていたことの共有
2:今回のデイリースクラムまでにやることの共有
3:担当作業をスプリント内で完了させるにあたっての課題を共有

スクラムにおける役割分担

そして、スクラムにおいては、下記の様な役割分担がなされます。

プロダクトオーナー
・プロダクトの結果責任を追う
・プロダクトバックログの管理をする
・開発チームを活用して、プロダクトの価値を最大化する

スクラムマスター
スクラムが上手くいくようにサポートする
・妨害を排除する(依頼者との折衝、人間関係の調整も含む)
・教育、ファシリテート、コーチ、推進役となる

開発チーム
・計画に沿って、プロダクトを作っていく
・日々開発計画について話し合い、必要であれば計画の変更を申し入れる

今回のチーム開発では、メンターがプロダクトオーナーを担当して下さります。

但し、殆どメンターはアプリ開発に不干渉なので、
スクラムを円滑に回す為には、スクラムマスターの役割は非常に重要になります。

そもそもなんでやろうとしたか

最近、外部との勉強会に参加する機会を多く持つことで、
自分のエンジニアとしての力量不足をまざまざと感じさせられて、
更に挑戦的な課題を自らに課すべきだと考えて、立候補しました。

総括

正直、ここまでの説明は表面上の内容なので、
本当の意味でスクラムマスターの役割を理解するには、
実践の中で経験を積み重ねていく必要があると感じます。

《今日の学習進捗》

チーム開発のミーティング後、
課題アプリのデータベース設計に着手。
ノーヒントでメルカリのクローンアプリを作成するというものだが、
今まで製作したアプリよりデータ構造が複雑な為、
どの様に設計すべきかで停滞中。DB設計の手法を改めて勉強し直す必要性を感じた。

学習開始からの期間 :50日
今日までの合計時間:485h
今日までに到達すべき目標時間:457h
目標との解離:28h
「10,000時間」まで、

残り・・・「9515時間!」