agile software development for newbies

99
アジャイル開発 基本のキ

Upload: naoto-nishimura

Post on 14-Aug-2015

770 views

Category:

Software


3 download

TRANSCRIPT

アジャイル開発

基本のキ

本日の先生

西村直人@nawoto

組織や現場をアジャイルにすることを生業と

しています株式会社リクルートジョブズ所属 アジャイルアカデミー学長、 スクラム道主宰、Agile Japan 実行委員、 Scrum Gathering Tokyo 2011 実行委員

コンサルタントnawo.to西村直人

アジャイル

この時間はアジャイル開発 とはどんな開発のやり方かを 伝えます

今日の掟

付箋一枚につき一つの事だけ書きましょう!!!!

他の人が読めるように

thenextweb - flickr

自己紹介

名前 ふだんのお仕事

参加した理由

名札をつくる

どう呼んで ほしいとかも

rintakumpu - flickr

モノをつくる

rintakumpu - flickr

何をつくる

何が必要かどう実現 するか

いつまでに 出来るか

作る

確認する

完成基本的なフロー

rintakumpu - flickr

何をつくる

何が必要かどう実現 するか

いつまでに 出来るか

作る

確認する

完成これまでのやり方

要件定義

設計

見積りと計画

開発

テスト

rintakumpu - flickr

何をつくる

何が必要かどう実現 するか

いつまでに 出来るか

作る

確認する

完成アジャイルに進める

インセプション デッキ

スプリント0

ストーリー 収集 スプリントスプリントスプリントスプリント

リリース スプリント

rintakumpu - flickr

何をつくる

何が必要かどう実現 するか

いつまでに 出来るか

作る

確認する

完成どっちのやり方

一緒

え!!??一緒なの!!??

これまでのやり方

Start

Goal一直線OK OK OK

cobaltfish - flickr

狙って射つ

rintakumpu - flickr

何をつくる

何が必要かどう実現 するか

いつまでに 出来るか

作る

確認する

完成ちゃんと狙うとは

準備 重要

,,,,,,,,

これまでの進め方

開発に着手する前に必要な事をどう実現するかまでをちゃんと準備しておく

要件

仕様

開発

テスト

Fix All

estoril - flickr

大変な時もある

WorldIslandInfo.com - flickr

的が遠い

たぶんここら辺

powazny - flickr

大荒れ

rhysasplundh - flickr

高速

的が外れると顧客にとって価値の無いものに時間と労力が...

リリースに 間に合わん

PVが伸びない

使いづらい... またバグで 強制メンテ

作り直しの噂が

アジャイル

cobaltfish - flickr

狙って射つ

bensutherland - flickr

まず近くを狙う

bensutherland - flickr

確実に当てる

calsidyrose - flickr

方向を 確認する

アジャイルでは

Start

Goal確認しながら

OK

,,,,,,,,

アジャイルでは

必要になるものから順番に確実に準備し、出来上がったものを確認していく。

FixIt

要件

仕様

開発

テスト

rintakumpu - flickr

何をつくる

何が必要かどう実現 するかいつまでに 出来るか

作る確認する

完成こういうフローとも言える

大切な事顧客の期待に答えれられる成果をくりかえし出して確認する

顧客 価値

Qなけなしのお金でプロジェクトをやるなら、どちらのチームに頼む?

1.計画書や大量の報告書を納め、依頼したソフトウェアは最後まで秘密にしてくれるチーム

2.あなたが大事だと考えている順に要求を形にし、テスト済みで毎週届けてくれるチーム

,,,,,,,,

お金を出す立場で考えると大切な事が見えてくる

フィードバックを求めよ

今やっている事が顧客のためになっているかは聞かないのか?

大きな問題を小さく解く時間が長いほどその間は顧客は待つしかできない

他にも■ちゃんと動く成果を届ける ■必要があれば進路を変える ■大事な事に集中する ■成果責任を果たす

大切な事頻繁に価値を届けるようにすると仕事の進め方は変化する

どう変化するのかな??

thenextweb - flickr

じゃ、やってみようか?

特定の目的を達成するために複数人で行なう有期限の活動

プロジェクト

ゲームbenalford - flickr

Special Thanks to @yattom

5hxxeRより顧客のためになる仕事の進め方を見つける過程をトランプで 体験しよう!!

プロダクトオーナー

開発チーム

スクラムマスター

やってほしい事を 伝える

形にする ソフトウェアや その他の成果物

教えたり 手伝ったり

制約内で価値の高いプロダクトとなるように要求を出す

要求をちゃんと意味のある成果物として提供し続ける

ちゃんと円滑に仕事のやり取りができるようにする

教えたり 手伝ったり

登場人物

今からやってもらう事要求を聞いて成果物を届ける事を繰り返してゴールを達成しよう

準備■6名前後のグループになる ■テーブル内で役割を決める ■要求を伝える人(PO)一名 ■開発チーム(それ以外の人) ■テーブル毎にトランプがあるか ■トランプをシャッフルして数字を下にしてテーブルの中央に置く ■開発チームは1人?枚づつカードを引きます(後でやります)

ルール■POが欲しいカードを伝える ■ハートの3がほしい ■開発メンバーはカードを一枚引く ■好きなカードを出す ■メンバーが全員出し終わったら、POはそこから一枚好きなカードを選んで保持する ■選ばれなかったカードは使わない

ルール■POが要求を言って、カードを保持するまでが1周 ■合計で5周やります ■制限時間は5分 ■5枚そろったらリリース

一つお願いがあります

プロダクトオーナー全員集合!!

jakecaptive - flickr

ルール■POが欲しいカードを伝える ■ハートの3がほしい ■開発メンバーはカードを一枚引く ■好きなカードを出す ■メンバーが全員出し終わったら、POはそこから一枚好きなカードを選んで保持する ■選ばれなかったカードは使わない

Qリリースできましたか?

確認しましょう■顧客が求めていたのは? ■それを分かっていたか? ■作業の進め方は上手くいってたか?

話し合おうもう一回やるとしたらどうすれば上手くいくでしょう?

ルール■POが欲しいカードを伝える ■ハートの3がほしい ■開発メンバーはカードを一枚引く ■好きなカードを出す ■メンバーが全員出し終わったら、POはそこから一枚好きなカードを選んで保持する ■選ばれなかったカードは使わない

ルール■POが要求を言って、カードを保持するまでが1周 ■合計で5周やります ■制限時間は5分 ■5枚そろったらリリース

jakecaptive - flickr

Re !!

Q1回目より 上手くいきましたか?

確認しましょう■価値をより提供できたか? ■作業は上手くいきました? ■もっと良くできそうか?

大切な事一番の変化は、現場が自分達で仕事の進め方を変更した事

大切な事確認するのは成果物だけじゃない。仕事の進め方も絶えず見直さないといけない

改善

トランプだと簡単だけど......

実際の現場■全員がカードを出し終わるのが1日程度 ■5枚揃えるまでが1~2週間

大切な事成果物も進め方も正しくゴールに向かい続けていくための仕組みが必要

透明性 検査 適応

プロジェクトが順調かを判断できる情報を標準化し、関係者全員で正しく共通理解を持つ

透明性

例えば■どういう役を作るかを宣言 ■手札を公開して作業する ■POの手札も公開する ■全員先にカードを引いて見せあう

成果物や進んでる方向がゴールに向かっているか絶えず確認する 検査

例えば■狙っている手が達成可能か話しあう時間を取る ■より良い手が作れるかを考える時間を取る ■間違ったカードを出さないように話しあう時間を取る

何らかの不備があった場合、ゴールの逸脱を最小限するためにできるだけ早期に調整する適応

例えば■作業を見直す時間を取る ■Wikipediaで役を確認しながら作業する ■間違えたカードを出したら即座に次の作戦を話す

アジャイルにやるプロジェクトの

方向付け 実現したい事を 漏れなく列挙する

どれぐらい かかりそうか?

重要な事を 明確にする

明日からコードを 書けるようにする

アジャイルにやるプロジェクトの

方向付け 実現したい事を 漏れなく列挙する

どれぐらい かかりそうか?

重要な事を 明確にする

明日からコードを 書けるようにする

ストーリー収集

見積りポーカースプリント

0

方向付けこのプロジェクトは何を期待され、何を達成しないといけないのか?

ビジョン

ゴールリスクなど

計画づくりこのプロジェクトで実現したい事はどんだけあって、どれぐらいかかるのかを明らかにする

収集リスト 作成見積り

準備運動少なくとも開発を円滑に進むための準備はしておく

jurvetson - flickr

支えるもの

isafmedia - flickr

コミュニケーション

これまで

関心

自主性共通認識

良い チーム

アジャイル一部分

良いゴール

良いチーム 良いコード

ビジネスモデルアイデア

プロジェクトの進め方支える組織

技術的基盤エンジニア

良いゴール

良いチーム 良いコード

ビジネスモデルアイデア

プロジェクトの進め方支える組織

技術的基盤エンジニア

さまざまなプラクティス

何をつくろう?

どうつくろう?

アジャイル

良いソフトウェアを

届けるためのやり方

可能性を高める

大切なこと

フィードバックを求めよ本当に大事なことに集中し、

それ以外を忘れる

必要とあれば進路を変える大きな問題を小さくするちゃんと動くソフトウェアを届ける

成果責任を果たす

もっと アジャイルに やってみませんか?