スクラム

A brief look into using the scrum framework for software development

スクラム

Scrum is one of the most popular frameworks for implementing agile. So popular, in fact, that many people think scrum and agile are the same thing. (They're not.) Many frameworks can be used to implement agile, such as kanban for example, but scrum has a unique flavor because of the commitment to short iterations of work.

Scrum articles

[続き]

スクラムの特性

With scrum, the product is built in a series of fixed-length iterations called sprints that give teams a framework for shipping software on a regular cadence. Milestones–i.e., the end of a sprint–come frequently, bringing with them a feeling of tangible progress with each cycle that focuses and energizes everyone. ("Continuous inspiration" for the win!) Short iterations also reinforce the importance of good estimation and fast feedback from tests–both recurring struggles in waterfall projects.

Scrum calls for four ceremonies that bring structure to each sprint:

  • Sprint planning: A team planning meeting that determines what to complete in the coming sprint.
  • Daily stand-up: Also known as a daily scrum, a 15-minute mini-meeting for the software team to sync.
  • Sprint demo: A sharing meeting where the team shows what they've shipped in that sprint.
  • Sprint retrospective: A review of what did and didn't go well with actions to make the next sprint better.

スプリントの間、チームも第三者も同じように見ることができるタスクボードやバーンダウンチャートのような視覚的要素は、士気向上につながります。これらは当事者意識を高めます。スプリントのデモで新しい作業を見せる機会があることも同様にやる気を刺激します。デモのたびに利害関係者から一貫したフィードバックが積み上がることも、製品開発に大いに役立ちます。

Scrum Burndown chart | Atlassian agile coach

うまくいっているスクラム (「スタンドアップミーティングのあるウォーターフォール」ではありません) は、チームの生産性とやる気を高め、全体としての製品開発プロセスを改善する素晴らしい促進剤となる可能性があります。 

スクラムを成功に導く 3 つの基本的な役割

A scrum team has a slightly different composition than a traditional waterfall project, with three specific roles: product owner, scrum master, and the development team. And because scrum teams are cross-functional, "the development team" includes testers, designers, and ops engineers in addition to developers. 

プロダクトオーナー

プロダクトオーナーはその製品の舵取り役です。ビジネスと市場の要件を把握した後、それに応じてエンジニアリングチームが行う作業の優先順位を決めることが主な仕事です。有能なプロダクトオーナーとは:

  • プロダクト バックログの作成と管理を行う
  • 業務部門およびチームと緊密に連携し、すべての人がプロダクト バックログの作業項目を理解できるようにする
  • 次に完了させるフィーチャーに関して明確なガイダンスをチームに与える
  • デリバリー頻度が高くなりやすい傾向のある製品の出荷時期を決定する 

プロダクトオーナーはプロジェクトマネージャーではないことを銘記してください。プロダクトオーナーはプログラムのステータスを管理していません。プロダクトオーナーの仕事は、開発チームがビジネスにとって最大の価値を確実に生み出せるようにすることです。また、プロダクトオーナーが 1 人であることも重要です。複数のプロダクトオーナーからの様々なガイダンスは開発チームを混乱させます。 

スクラムマスター

スクラムマスターは、チーム内のスクラムの推進者です。スクラムプロセスにおいて、チーム、プロダクトオーナー、およびビジネス部門を指導し、それぞれの取り組み方を微調整する方法を探します。有能なスクラムマスターは、チームが行っている作業を深く理解し、チームがデリバリーフローを最適化できるよう支援します。主幹ファシリテーターとして、スクラムマスターはスプリント計画、スタンドアップ、スプリントレビュー、およびスプリントのふりかえりに必要なリソース (要員と物流の両方) のスケジュールを決定します。

また、スクラムマスターは、可能な時は常に外部の混乱から開発チームを守りながら、チームの障害物や妨げになっているものを解決しようとします。

スクラムマスターの仕事の一部は、スクラムを初めて経験するチームによくあるアンチパターン (スプリント開始後のスコープの変更) からチームを守ることです。プロダクトオーナーは、「これをさらに細分化して特別に重要な小さなものをこのスプリントに入れることはできませんか」と求めることがあります。しかし、スコープを完全に維持することで、優れた見積もりと製品計画が強化されます。開発チームに混乱を招く原因を回避することは言うまでもありません。

Scrum masters are commonly mistaken for project managers, when in fact, project managers don't really have a place in the scrum methodology. A scrum team controls its own destiny and self-organizes around their work. Agile teams use pull models where the team pulls a certain amount of work off the backlog and commits to completing it that sprint, which is very effective in maintaining quality and ensuring optimum performance of the team over the long-term. Neither scrum masters nor project managers nor product owners push work to the team (which, by contrast, tends to erode both quality and morale).

スクラムチーム

Strong scrum teams approach their project with a strong "we" attitude.

Scrum teams are the champions for sustainable development practices. The most effective scrum teams are tight-knit, co-located, and usually 5 to 7 members. Team members have differing skill sets, and cross-train each other so no one person becomes a bottleneck in the delivery of work. All members of the team help one another to ensure a successful sprint completion.

上述したように、スクラムチームは各スプリントの計画を推進します。チームは履歴に基づく速度をガイドとして使用し、そのイテレーションで完了できると考える作業量を予測します。イテレーションの長さを固定しておくことで、開発チームは見積もりとデリバリープロセスに関して重要なフィードバックを得ることができます。これにより、予測の精度は経時的に増します。 

But wait: there's more

Ok: so now you've been briefed. But understanding the philosophy of scrum and who is on a scrum team is only half of the equation. Keep reading to learn how scrum team members work together using common agile ceremonies as well as how the team in an agile program delivers work back to the business. 

Dan Radigan
Dan Radigan

Agile has had a huge impact on me both professionally and personally as I've learned the best experiences are agile, both in code and in life. You'll often find me at the intersection of technology, photography, and motorcycling. Find me on Twitter! @danradigan

次の記事
セレモニー