はじめに
業務でアジャイル開発を行っている。アジャイルとは、特にこことでは説明しないが、興味のある人はググって欲しい。アジャイル開発の手法の中の1つ、スクラムに関して、この記事では簡単にまとめていきたい。
スクラムとは
スクラムとは、アジャイル開発の1つの手法だ。
スクラムのルールはスクラムガイドで定義されている。このスクラムガイドは、1〜2年に定義されているらしい。スクラムには5つのイベントと3つのロールと3つの作成物がセットで構成されている。ただ、これらはあくまで基本的なルールに過ぎないので、スクラムチームの性質によって自分たちでやり方を変えていく必要があることを忘れてはいけない。コードの書き方や、テストのやり方などはチームの状況を踏まえた取り組む必要がある。スクラムとは、フレームワークと表現されることもある。
3つのロール(役割)
上記でも述べたように、スクラムには3つのロールが存在する。
1.プロダクトオーナー
POと表現されることがおおい。プロダクトオーナーは1プロジェクトにつき、1人存在する。開発チームを活用して、そのプロダクトが生み出す価値を最大限に発揮するにはどうすれべきかを常に考え続けなければならない。
2.開発チーム
開発チームが必要。スクラムでは、開発チームの人数は多くても10人以内におさめたい。3人から10人が理想的と言われている。開発チームはプロダクトを作るために必要な作業全てができなければならない。設計、コードを書くこと、サーバー構築、テスト。ドキュメントを書くなど、すべての能力は必要だ。
3.スクラムマスター
スクラムというフレームワークを円滑に回して、プロダクトをうまく作れるようにプロダクトオーナーや開発チームを支えるのがスクラムマスターの役目。スクラムマスターは、スクラムを行う上でのルールや作成物、進め方などをPOや開発チームに理解をさせること、外部の人間からの妨害や割り込みからPOや開発チームを守ることが大きな役目となる。自分のイメージだと、なんでも屋さんのイメージがある。
いまの自分の役割
自分は今プロジェクトでスクラムマスターという役割にいる。スクラムマスターはこのアジャイル開発のスクラムという手法でプロジェクトを成功させるために、ありとあらゆることを行わないといけない。とてもやりがいのあるポジションで、最高の楽しい。その分、プレッシャーを感じることもある。
スクラムマスターとして重要なこと
POも開発チームもプロジェクトが進行していくと、なにが本当に最優先事項なのかを見失いがち。この最優先事項を常に気にすることがスクラムマスターの大きな役割だと感じている。この最優先事項に着手し、解決するためには開発チームが仕事を進めるうえで妨げになっているものを排除する必要がある。それは、技術的なことかもしれないし、スケジュールの問題かもしれない。もしかすると、外部からのなにかが関係しているのかもしれない。それにいち早く気がつき、解決をしていくのがスクラムマスターだ。