135

Click here to load reader

価値ある製品を生み出すためのアジャイル実践ポイント

Embed Size (px)

Citation preview

Page 1: 価値ある製品を生み出すためのアジャイル実践ポイント

価値ある製品を生み出すための アジャイル実践ポイント

22 August 2015 13:30~17:00

株式会社日新システムズ

陸野 礼子・前川 直也

第63回 SEA関西プロセス分科会

Page 2: 価値ある製品を生み出すためのアジャイル実践ポイント

プロフィール

陸野 礼子(りくの れいこ) 株式会社日新システムズ 品質保証部

• 2004年より、パナソニック株式会社の組み込みソフトウェア開発のプロセス改善業務に従事し、ホームエレクトロニクス/カーエレクトロニクス製品等の開発現場を舞台に、QMS、CMMI・PSP/TSP、Automotive-SPICE、アジャイルを活用し、プロセスだけでなくチーム力アップをモットーに現場密着型の改善活動に奮闘。

• パナソニック研修所にて、TSP(Team Software Process)をベースに『成功するチーム』の運営法、Redmine活用事例といった研修講師を担当

• 2015年6月、日新システムズに転職

→“WakuWaku”をコンセプトに組織改革に取組み中!

Page 3: 価値ある製品を生み出すためのアジャイル実践ポイント

HU-3 【ET West 10周年記念】組込み10年のチャレンジ!これからの10年は!? 3

『システム開発現場のファシリテーション』 (技術評論社)

『これだけは知っておきたい組込みシステムの設計手法』

(技術評論社)

『わかりやすいアジャイル開発の教科書』

(ソフトバンククリエイティブ

株式会社 日新システムズ 社長付主査 兼 事業戦略部 主査

1994 ~ 日本コンピューター・システム株式会社 1998 ~ パナソニック株式会社 2015 ~ 株式会社日新システムズ

組込みアジャイル

プロジェクトファシリテーション

プロセス改善

産業カウンセラー

アジャイルでお困りの際は お気軽にメールください

ET West 実行委員

@nao_maru

http://www.facebook.com/NaoyaMaekawa

Page 4: 価値ある製品を生み出すためのアジャイル実践ポイント

Agenda

1. 組込みソフトの課題

2. アジャイルのツボ

3. チームビルディング

ワークショップ

4. 品質アプローチ

5. 価値を描く

4

Page 5: 価値ある製品を生み出すためのアジャイル実践ポイント

今日のベースは これです!

CM

5

http://www.sbcr.jp/products/4797371284.html

Page 6: 価値ある製品を生み出すためのアジャイル実践ポイント

6

-壱- 組込みソフトの課題

Page 7: 価値ある製品を生み出すためのアジャイル実践ポイント

以前は、狙っていけば的中する確率が高かった

今の組込み業界では、

環境の変化

ユーザニーズの多様化

競合他社との競争激化

などで、先の読めない状況・・・

環境変化

競合

ソフト業界の変化

7

『要求される価値』から『創り出す価値』の時代に突入!

Page 8: 価値ある製品を生み出すためのアジャイル実践ポイント

これまでのソフトウェア開発

設 計 テスト 実 装

チェック チェック

要求

価値

インプット アウトプット

決められた機能を要件に落とし込み 計画をほぼ変えることなくものづくりができた時代から・・・

8

Page 9: 価値ある製品を生み出すためのアジャイル実践ポイント

日程前倒し

課題/バグ

仕様変更

仕様追加

混沌とした組込み業界において、 ソフトウェアの変化が発生しないというのはありえない

変化を前向きに受け入れていく必要がある

ソフトウェア開発に変化はつきもの

9

Page 10: 価値ある製品を生み出すためのアジャイル実践ポイント

開発開始段階の課題

10

Page 11: 価値ある製品を生み出すためのアジャイル実践ポイント

開発中の課題

コミュニケーションギャップ 設計・実装上の都合・納期、等

11

Page 12: 価値ある製品を生み出すためのアジャイル実践ポイント

納品時の結果

12

Page 13: 価値ある製品を生み出すためのアジャイル実践ポイント

規模が大きくなった弊害

営業→企画→開発→QA→製造などのバトンが複雑化し その分、ドキュメントによるバトンリレーが発生しやすくなる そこに「ギャップ」は発生していないだろうか?

13

Page 14: 価値ある製品を生み出すためのアジャイル実践ポイント

ソフト業界 約60年の歴史

ソフトウェアが商業ベースになり それにつれて、工学的にアプローチ 『誰でも同じように作れるソフトウェア』

2000年頃から、もう一度初心に戻り 新たなアプローチが始まる

『ソフトウェアは人が作るものである』

14

Page 15: 価値ある製品を生み出すためのアジャイル実践ポイント

人にフォーカスする

What How

Who Where / When

15

Page 16: 価値ある製品を生み出すためのアジャイル実践ポイント

どちらがエンジニアを活かせますか?

16

Page 17: 価値ある製品を生み出すためのアジャイル実践ポイント

短い『タイムボックス』で回しながら、 細かくフィードバックし、価値を膨らませていく開発スタイル

今求められているソフトウェア開発

17

Page 18: 価値ある製品を生み出すためのアジャイル実践ポイント

製品の価値の最大化を考える

18

製品の価値を決めている主要な部門はどこですか?

Page 19: 価値ある製品を生み出すためのアジャイル実践ポイント

企画部門

ニーズ

エンドユーザ

開発部門

製品仕様

技術

販売

世界のTV市場

製品の価値の最大化を考える

19

製品の価値を最大化するために 作り手側に何が求められているのか?

Page 20: 価値ある製品を生み出すためのアジャイル実践ポイント

大規模メーカーにありがちな罠

一つの商品にかかわるステークホルダが多い

大人数の大規模開発になりがち (ソフトウェア子会社も巻き込んで)

ものづくりのステップ移行で重たくなる (必然的なウォーターフォールに?)

最終ユーザが見えない場合が多い

品質は重要だがQCDのQが大きくなりすぎる

価値のフローが流れにくくなる

20

Page 21: 価値ある製品を生み出すためのアジャイル実践ポイント

企画側(What) 製品企画段階で

価値ある要求が発見できない

開発側(How) 企画段階で

価値を高める提案ができていない

価値を共有できていないため、 開発に無駄が発生

21

Page 22: 価値ある製品を生み出すためのアジャイル実践ポイント

価値の最大化するためのプロセス

22

アジャイルは単に早い・高品質なだけではなく 価値を最大化していかなければ元の木阿弥

Page 23: 価値ある製品を生み出すためのアジャイル実践ポイント

変化を味方につけ お客様のビジネス価値を最大化する

23

Page 24: 価値ある製品を生み出すためのアジャイル実践ポイント

-弐- アジャイルのツボ

Page 25: 価値ある製品を生み出すためのアジャイル実践ポイント

ハード部門や工場など関連部門とは

どうしたらいいのか?

上司にどう説明すれば、アジャイルを

導入できるのか?

SQAはどこでステップ移行監査や品質をチェックすればいいのか?

既存の組織プロセスがあるけど、 どうしたらいいの?

~組織編~

組込み開発だと顧客が明確でない場合のフィードバックとは誰がするのか?

こんな不安、疑問を持たれてませんか?

25

Page 26: 価値ある製品を生み出すためのアジャイル実践ポイント

品質確保できるのか?

開発を委託している場合、どうしたらいいのか? 委託元の役割とは?

要素開発で、ハード系仕様がなかなか決まらない、変更が激しい場合はどんな形で導入したらいいのか?

アジャイルを熟知している人がいないと、上手くいかないのでは?

~開発現場編~

こんな不安、疑問を持たれてませんか?

26

Page 27: 価値ある製品を生み出すためのアジャイル実践ポイント

アジャイルを導入する前に・・・

[チェックポイント]

プロジェクトにエンジニアリング&プロセスの基本スキルはどのぐらい?

メンバが風土を変えるぐらいの改善意欲を持っていますか?

自分たちが作っているものに愛着を持っていますか?

• お客様が何を求めているのか考えてる?

改善指標を数値だけで判断していませんか?

• コミュニケーションは活発?

メンバとゴールを共有できていますか?

27

Page 28: 価値ある製品を生み出すためのアジャイル実践ポイント

http://agilemanifesto.org/

28

組込みでの開発の方がアジャイルは向いているといえます ただし、なぜアジャイルなのか?(目的) どんな価値を出すのか?(目標)をより明確にする必要があります

Page 29: 価値ある製品を生み出すためのアジャイル実践ポイント

スクラムにおけるチームモデル

スクラムチーム

プロダクト オーナー

スクラム マスター

開発チーム

自己組織化チームは、作業を成し遂げるための最善の策を、

チーム外からの指示ではなく、自らが選択する

「スクラムガイド」より

© 1991-2013 Ken Schwaber and Jeff Sutherland, All Rights Reserved

https://www.scrum.org/Portals/0/Documents/Scrum%20Guides/2013/Scrum-Guide-JA.pdf

29

Page 30: 価値ある製品を生み出すためのアジャイル実践ポイント

プロダクトバックログ

ユーザストーリを 集めたもの 優先順位を決める

スプリントプランニング

スプリントに落とし込み スプリントバックログを作る

スプリント スプリントに落とし込み 1 ~ 4 Week

デイリー スクラム

スプリントレビュー

動くソフトウェアで レビュー+フィードバック

スプリント レトロスペクティブ スプリントごとにふりかえり

開発チーム

プロダクトオーナー

スクラム マスター

開発チームの作業と プロダクトの価値の 最大化に責任を持つ

スクラムの理解と成立に 責任を持つ

スクラムの流れ

30

Page 31: 価値ある製品を生み出すためのアジャイル実践ポイント

従来のプロセスとの違い

31

Page 32: 価値ある製品を生み出すためのアジャイル実践ポイント

アジャイルソフトウェア宣言の背後にある原則

32

そんな時はもう一度『原則』に戻ってみる

Page 33: 価値ある製品を生み出すためのアジャイル実践ポイント

アジャイルとは?

アジャイルとは、 お客様のビジネス価値を最大化するための

「考え方」や「姿勢」のこと

33

Page 34: 価値ある製品を生み出すためのアジャイル実践ポイント

※ ご注意 ここからはとある大規模プロジェクトでの 事例を使いながら、ご説明いたします 決してパーフェクトな事例ではないかもしれませんが 組込みアジャイルのツボを実践するうえでヒントになるはずです

Page 35: 価値ある製品を生み出すためのアジャイル実践ポイント

AV機器の組込み ソフトウェア開発

• 開発人員約100名 (社員4割、協力会社6割) • ソフト開発チームリーダー(TL)

以下フラットな体制

開発規模 約2,800kstep

(約8~9割は流用)

SPLグループ

ソフト開発チームTL

ユニットA

UL

ユニットB

UL

ユニットC

UL

ユニットD

UL

ユニットE

UL

ユニットF

UL

機種①

SPL

機種②

SPL

ユニットはコンポーネント単位で分割され、それぞれユニットリーダー(UL)を任命、担当ユニットの開発日程と品質に責任を担う

機種ごとにSPL(ソフトウェアプロジェクトリーダー)を任命、機種のソフト開発の日程と 品質に責任を担う

事例:とある大規模ソフト開発現場

35

事例

Page 36: 価値ある製品を生み出すためのアジャイル実践ポイント

多機種・時間差・並行開発 による遅れの慢性化

年間20機種以上を開発 ハード構成の違い、機能差分に

対応しながらの開発

前機種の仕様変更やバグ収束遅れが 次々と連鎖!

バグ対応/仕様検討/設計/実装のプロセスが

同時に進行 ユニットでスケジュールを

調整しながらの 四苦八苦の対応

多機種・時間差・並行開発

ソフト構造がムダに複雑化(スパゲッティ化)

全体設計を意識したソースコードになってない (意図のないコードが増えバグの温床)

36

事例

Page 37: 価値ある製品を生み出すためのアジャイル実践ポイント

従来の開発の流れ

システムテスト

区切りがあるようでない/終盤は実装だけ?

設計着手 全機能実装版

仕様検討 要求分析

要求分析 要求分析

要求分析

・・・・・

設計

詳細設計 実装 基本設計 テスト

詳細設計 実装 テスト

詳細設計 実装

詳細設計 実装 基本設計 テスト

・・・・・

検証

実装 テスト

実装 実装

実装

テスト設計

ここが 最初のゴール 約3ヶ月

0次試作 1次試作

2次試作

ゴールまで 長いので ダラダラ…

37

事例

Page 38: 価値ある製品を生み出すためのアジャイル実践ポイント

自分たちで考え 成長を促すために

風土を進化

スムーズに流すため 体制と役割を進化

ゴールとリズムで 開発の流れを進化

メリハリつける!

協調する!

考える!

3つの改善ポイント

38

事例

Page 39: 価値ある製品を生み出すためのアジャイル実践ポイント

わかりやすい アジャイルの『ツボ』

ゴール

• 価値をゴールにし、優先順位をコミットする

• リズムとゴールをマッチングさせる

リズム

• プロジェクトを一定間隔のリズムで区切る

• プロジェクトのベロシティを把握する

見える化

• 状況を見えるようにしてリズムを伝播させる

• 変化を受け入れる

自律

• 自分たちでふりかえる

• 自分たちで変えていく

1

2

3

4

1

2

3

4

Page 40: 価値ある製品を生み出すためのアジャイル実践ポイント

①価値をゴールに設定し、コミットする

ゴール

• 価値をゴールにし、優先順位をコミットする

• リズムとゴールをマッチングさせる

リズム

• プロジェクトを一定間隔のリズムで区切る

• プロジェクトのベロシティを把握する

見える化

• 状況を見えるようにしてリズムを伝播させる

• 変化を受け入れる

自律

• 自分たちでふりかえる

• 自分たちで変えていく

Page 41: 価値ある製品を生み出すためのアジャイル実践ポイント

ゴールとリズムをつくる

設計基本のV字モデルをキープしながら いつまでに、何を、どう作るのか

ゴールを明確にして、一定期間のサイクルで回す

ゴールを分割して、プロセスの流れを作る

41

Page 42: 価値ある製品を生み出すためのアジャイル実践ポイント

要求分析

詳細設計

実装

基本設計 結合・機能テスト

単体テスト

システムテスト

Page 43: 価値ある製品を生み出すためのアジャイル実践ポイント

5W1Hで考えるのはアジャイルでも同じ

スプリント

#1

スプリント

#2

スプリント

#n

スプリント

#0

・・・・

スプリント

#3

仕様 一次Fix

全機能 実装版

Why なぜ作るのか?

What 何を作るのか?

How どうやって作るのか?

When いつまでに作るのか?

Who だれが作るのか?

Who どこで作るのか?

Page 44: 価値ある製品を生み出すためのアジャイル実践ポイント

設計着手 仕様一次Fix

スプリント #1

スプリント #2

スプリント #3

スプリント #4

機器仕様 検討

プロダクト 検討

関連部署とのコミットメント

設計者の概要見積りを ベースにリリース計画 (各スプリントの実装要件)

<Output> • プロダクトバックログ (ストーリー実装リスト) • リリース計画/スプリント計画 • その他、関連ドキュメント

ストーリーA:見積り 2ポイント ストーリーB:見積り 1ポイント ストーリーC:見積り 3ポイント

・・・

44

スプリントのゴール設定 事例

どんな機能を、何のために作るのかを決めてリストアップ 荒い見積は実施するが、ここで確定させてしまうわけではない

Page 45: 価値ある製品を生み出すためのアジャイル実践ポイント

プロジェクトのベロシティを把握する

スプリント #1

スプリント #2

スプリント #3

スプリント #4

・・・・

(画像提供:楽天株式会社 さま)

一つのスプリントで 実現できる作業量(ベロシティ)を 自分たちで把握することができる

一つのストーリ(要件でもあり、ファンクションでもある実現すべき価値)を日程や規模、ページ数などではなく 設計、レビュー、テストなど 全ての作業を合わせた

『ストーリーポイント』として見積る

ストーリーポイントは開発にかかわるチーム全員で見積る カードを使った「プランニングポーカー」を活用し 全員でコミュニケーションしながら見積を実施する場合もある

Page 46: 価値ある製品を生み出すためのアジャイル実践ポイント

②一定間隔をリズムを継続させる

ゴール

• 価値をゴールにし、優先順位をコミットする

• リズムとゴールをマッチングさせる

リズム

• プロジェクトを一定間隔のリズムで区切る

• プロジェクトのベロシティを把握する

見える化

• 状況を見えるようにしてリズムを伝播させる

• 変化を受け入れる

自律

• 自分たちでふりかえる

• 自分たちで変えていく

Page 47: 価値ある製品を生み出すためのアジャイル実践ポイント

価値を一緒に描き、共有していく

部門の壁を越えて、製品の価値を共有するには、 一緒に描き、一緒に作り、一緒に確認していく必要がある

47

Page 48: 価値ある製品を生み出すためのアジャイル実践ポイント

推進Lこうなる機能

設定した値以上の白が表示されている部分が、ライブビュー出力中に白黒縞々のパターンでマーキングされる(LCD、LVF、HDMI、外部モニターなどすべて)

企画優先度 A

難易度 B

どんな目的(どんな気持ちで)

撮影対象の中に、白トビが発生していないかをリアルに確認するライブビュー、撮影中も確認できる再生中は表示されない主担当U REC

ゼブラパターンを表示するリリーススプリント

要件番号 14A4079 どんな人が? プロの動画カメラマン(静止画カメラマンの一部も含む)

ユニットC ユニットB

設計着手 仕様一次Fix

機器仕様 検討

プロダクト 検討

関連部署とのコミットメント

SPLとULでレビュー どんな手順で開発を 進めるのか双方の イメージ合わせ

ユニットA

UL

ユニットごとに 要件別プロセス別見積りを実施 UL

機種

SPL フィード バック

48

メンバー全員で ゴールへのコミットメント

ゴールへのコミットメント形成

ゴールをシミュレーションし、自分たちがコミットする

プロジェクトでのコミットメント

事例

プロダクト詳細シート

Page 49: 価値ある製品を生み出すためのアジャイル実践ポイント

【お客様は誰?】

① フォーマットに合わせて、みんなで ディスカッションをしてみましょう

② 「お客様は誰ですか?」は、 名前など特定できればOK

③ 「どんな人ですか?」「求めているものはどんなもの?」を具体化していきましょう

④ 1人だけとは限りません いろいろなパターンを考えてみましょう

ご参考

49

Page 50: 価値ある製品を生み出すためのアジャイル実践ポイント

【お客様のハッピー】

① 「お客様は誰?」の結果を書きましょう

② お客様はどんなことをやってみたいと思っていますか? 求めているものは?

③ みなさんがつくり出すもので、どんなことが実現できますか?

④ 実際にお客様が使ってみると、 どんな気持ちになりますか?

ご参考

50

Page 51: 価値ある製品を生み出すためのアジャイル実践ポイント

【ストーリーテラー】

① フォーマットに合わせて、 シンプルに書いてみましょう

② 結果をもとに具体的なディスカッションにつなげてみましょう

ご参考

51

Page 52: 価値ある製品を生み出すためのアジャイル実践ポイント

設計着手 全機能 実装版

仕様一次Fix

スプリント #1

スプリント #2

スプリント #3

スプリント #4

1~2 week

スプリント 計画

2日程度の粒度のタスクで 開発実施

成果レビュー ふりかえり

機能ごとに V字モデルを回す

52

一定間隔のリズムで区切る 事例

プロダクトバックログをスプリントバックログに細分化することは基本的にWBSと似ているが、リズムが一定間隔なことが重要

<Output> • スプリントバックログ (作業タスク) • 作業成果物

Page 53: 価値ある製品を生み出すためのアジャイル実践ポイント

③常に状況を見えるようにして変化へ対応する

ゴール

• 価値をゴールにし、優先順位をコミットする

• リズムとゴールをマッチングさせる

リズム

• プロジェクトを一定間隔のリズムで区切る

• プロジェクトのベロシティを把握する

見える化

• 状況を見えるようにしてリズムを伝播させる

• 変化を受け入れる

自律

• 自分たちでふりかえる

• 自分たちで変えていく

Page 54: 価値ある製品を生み出すためのアジャイル実践ポイント

様々な見える化により透明性を実現する

54

Page 55: 価値ある製品を生み出すためのアジャイル実践ポイント

Redmineでのチケット駆動開発

進捗確認

55

プロジェクトの見える化

ゴールごとのチケット 完了状況の確認

各チケットの状況で どの作業が残っているか簡単に把握できる

リアルタイムにバーンダウンチャートを 見ることで進捗状況の共有化を図る

事例

Page 56: 価値ある製品を生み出すためのアジャイル実践ポイント

スプリントにあわせたRedmineの活用

L開発プロジェクト

ユニットA

ユニットB

ユニットC ユニットC ユニットC

親プロジェクトで全体計画 サブプロジェクトでユニット計画を管理し連携する

スプリントのゴール進捗をロードマップで管理

「ターゲットバージョン」で 全体計画と連携 ユニット単位の進捗は サブプロジェクトで設定

ロードマップにて、ゴール単位の各ユニット進捗を週次で確認 Redmineデータを元に

進捗状況の可視化

事例

Page 57: 価値ある製品を生み出すためのアジャイル実践ポイント

ターゲットバージョンの設定

ゴール名称を登録 →スプリントNo_機能名

期日を登録 (基本は週の最終稼動日)

チケットごとにゴールを設定する

Page 58: 価値ある製品を生み出すためのアジャイル実践ポイント

プロダクト 検討#3

プロダクト 検討#4

プロダクト 検討#2

設計着手 仕様一次Fix

スプリント #1

スプリント #2

スプリント #3

スプリント #4

プロダクトバックログはスプリントごとに変化がないか確認

リリースされ価値に変化が発生することもありえる

確認するためには品質の高いリリースが重要

Point

プロダクト 検討#1

58

ゴールは固定されるのではなく継続的にふりかえる

ふりかえり ふりかえり ふりかえり ふりかえり

事例

Page 59: 価値ある製品を生み出すためのアジャイル実践ポイント

④自分たち自身の価値も向上させる

ゴール

•価値をゴールにし、優先順位をコミットする

• リズムとゴールをマッチングさせる

リズム

• プロジェクトを一定間隔のリズムで区切る

• プロジェクトのベロシティを把握する

見える化

• 状況を見えるようにしてリズムを伝播させる

• 変化を受け入れる

自律

• 自分たちでふりかえる

• 自分たちで変えていく

59

Page 60: 価値ある製品を生み出すためのアジャイル実践ポイント

平鍋さんブログ「An Agile Way」より

http://blogs.itmedia.co.jp/hiranabe/2012/09/rightwing-and-leftwing-of-agile.html

アジャイルのレフトウィング

60

Page 61: 価値ある製品を生み出すためのアジャイル実践ポイント

Agile

【1990年代】 オブジェクト指向

モデリング

設計技術を どう回す?

時代にどう合わす?

【2000~02】 ペアプロ TDD

反復特有の技術アップ

【2002~】 コーチング ファシリテーション

人に向き合う!

【2005~】

プロジェクトファシリテーション TPS/SECIモデル

チームビルディング PM

【2007~】 要求開発

ビジネスアジャイル

ビジネスとして とらえる

【2000】 アジャイル宣言

ファシリテーション

トヨタ生産方式

アジャイル開発

プロジェクト ファシリテーション

【プロジェクトファシリテーション】とは? プロジェクトマネジメント(PM)が重要であることは昨今強く言われています。 PMが「計画達成のマネジメント」に重点を置くのに対してPFは「参加者の協調の場作り」に重点を置いています。PMは、計画の立案と実行、差異に注目し た管理が中心で、どちらかと言うと「コマンド・コントロール型」のマネジメントスタイルが背後にあります。これに対してPFは、その場その場の変化に対応 し、チームが協力し合って創発的に成果を出していく、「リーダーシップ・コラボレーション型」の新しいチーム作りの形です。 (オブラブ公式Webサイトより http://www.objectclub.jp/community/pf/)

アジャイルの変遷とプロジェクトファシリテーション

プロジェクトファシリテーションとは?

61

Page 62: 価値ある製品を生み出すためのアジャイル実践ポイント

プロジェクトファシリテーションの価値・原則

コミュニケーション

行動

気づき

信頼関係

笑顔

価値

見える化

リズム

名前付け

問題vs.私たちの構図

カイゼン

原則

朝会

かんばん

KPT

ペアボード

ニコカレ

アイスブレイク

偏愛マップ

MindMap

etc.

プラクティス

62

Page 63: 価値ある製品を生み出すためのアジャイル実践ポイント

スクラムは、経験的プロセス制御の理論(経験主義)を基本にしている。経験主義とは、実際の経験や既知に基づく判断によって知識が獲得できるというものである。スクラムでは、反復的で漸進的な手法を用いて、予測可能性の最適化とリスクの管理を行う。

「スクラムガイド」より © 1991-2013 Ken Schwaber and Jeff Sutherland, All Rights Reserved https://www.scrum.org/Portals/0/Documents/Scrum%20Guides/2013/Scrum-Guide-JA.pdf

63

スクラムの理論

63

Page 64: 価値ある製品を生み出すためのアジャイル実践ポイント

スクラムチームの特徴

スクラムチーム スクラムチームは、プロダクトオーナー・開発チーム・スクラムマスターで構成される。スクラムチームは自己組織化されており、機能横断的である。自己組織化チームは、作業を成し遂げるための最善の策を、チーム外からの指示ではなく、自らが選択する。機能横断的チームは、チーム外に頼らずに作業を成し遂げる能力を持っている。スクラムにおけるチームのモデルは、柔軟性・創造性・生産性に最適化されたものとなっている。

「スクラムガイド」より © 1991-2013 Ken Schwaber and Jeff Sutherland, All Rights Reserved https://www.scrum.org/Portals/0/Documents/Scrum%20Guides/2013/Scrum-Guide-JA.pdf

64

Page 65: 価値ある製品を生み出すためのアジャイル実践ポイント

【X理論】 人間は生来怠け者で、 できれば働きたくない 強制されたり命令されなければ 仕事をしない

【Y理論】 生まれながらに嫌いということはなく、働くことは人間の本性 条件次第で責任を受け入れ、 自ら進んで責任を取ろうとする 問題解決のための創意工夫をこらす能力は誰でも持っている

ダグラス・マクレガーのX理論Y理論

人間観・動機づけにかかわる2つの対立的な理論

or

65

Page 66: 価値ある製品を生み出すためのアジャイル実践ポイント

タイムボックスというリズムの効果

「変わらない時間の測定基準」を使って プロジェクトのパワーを測り引き出していく

66

Page 67: 価値ある製品を生み出すためのアジャイル実践ポイント

ジャンプして届くゴールの繰り返し

67

Page 68: 価値ある製品を生み出すためのアジャイル実践ポイント

-参- チームビルディング

Page 69: 価値ある製品を生み出すためのアジャイル実践ポイント

ここで、みなさまに質問です

今まで、成功プロジェクトを 体験したことありますか?

69

Page 70: 価値ある製品を生み出すためのアジャイル実践ポイント

今まで参加したプロジェクトで こんな失敗の経験はないですか?

6ヶ月で完了する計画だったのに

気がつけば、2ヶ月遅れ、さらに2ヶ月遅れ

やっとリリースした商品は欠陥が多く

リワークで多額のロスコストが発生した

この失敗の原因として 考えられることは何でしょうか?

70

Page 71: 価値ある製品を生み出すためのアジャイル実践ポイント

そもそもスケジュールが非現実的だった

適切な人員がそろえられなかった

仕様変更が多発した

進捗管理が不十分なため、 早い時期に遅れに気づくことができなかった

品質を保証できるテスト設計ができていなかった

火消し作業による不具合対策に追われ、 効率的な対策がうてなかった

一見、マネジメント(リーダー)の問題???

実は、チームワークの問題である場合が多い

失敗の原因を考えてみると...

71

Page 72: 価値ある製品を生み出すためのアジャイル実践ポイント

チームワークの問題=コミュニケーションの問題

リーダーとのコミュニケーション不足 リーダーから言われたスケジュールに対して、できないと知りつつ、

できないと言わない

課題があっても報告しない

開発者間のコミュニケーション不足 隣のメンバーが何をしているか知らない

自分の作業がどこに影響を与えるか知らない

外部(顧客や関連部門)とのコミュニケーション不足 仕様が決まらないか、決まった仕様に思い違いがあった

プロジェクトが失敗する原因①

72

Page 73: 価値ある製品を生み出すためのアジャイル実践ポイント

厳しい開発スケジュールにあわせる 「プレッシャー」

途中のプロセスの実施を省略する

十分な検証をしないまま、新しい言語やツール、手法を利用する

とりあえず手を動かすことを優先して、

計画的、効率的な取り組みが実施されない

プロジェクトが失敗する原因②

73

Page 74: 価値ある製品を生み出すためのアジャイル実践ポイント

開発規模の増大と開発期間の短縮化 今日の開発プロジェクトは、一人ではできないほど規模が大きい

多くのビジネスにて、市場へ出すまでの時間を できるだけ短くする必要がある

チームは幅広い才能と能力を提供する 一人で経験できることは、それほど多くはない

メンバーの才能を最大限に活用する

チームに参加する事で個人の仕事が改善する メンバーは補完しあうスキルをもち、お互いに学び助け合いサポート

レビューや設計のブレーンストーミングなどの場を活用して、

より高度なアドバイスや支援を得て、

個々のスキルを伸ばしていくことができる

「TSPガイドブック:リーダー編」 より ワッツ・S・ハンフリー著 秋山義博監訳 JASPIC TSP研究会訳

チームが必要とされる理由

74

Page 75: 価値ある製品を生み出すためのアジャイル実践ポイント

チームワークはスキルであり、高いパフォーマンスが要求される

チームの真の力は、その合成された力から生じる

自律的なチームを目指す メンバーは言われなくても何が必要か感じ取って、 協力して助け合い、仕事を成し遂げるために 必要なことはなんでもやる

開発業務における自律的なチームの必要性 創造的な開発業務では、全員の心からの参画が必要

質の高い作業は、考え、気を遣い、動機づけられた人々が行う

でも、動議づけってどうすればいいの?!

「TSPガイドブック:リーダー編」 より ワッツ・S・ハンフリー著 秋山義博監訳 JASPIC TSP研究会訳

チームに求められる力とは

75

Page 76: 価値ある製品を生み出すためのアジャイル実践ポイント

モチベーション(Motivation)=動機づけ、やる気

モチベーションがないと、多くのことはうまくいかない

個人でもチームでも、特に創造的な仕事にはモチベーションが重要となる

チームの動機づけ

「TSPガイドブック:リーダー編」 より ワッツ・S・ハンフリー著 秋山義博監訳 JASPIC TSP研究会訳

76

Page 77: 価値ある製品を生み出すためのアジャイル実践ポイント

コミットメント 個人とチームが約束したことをやりたいと思う気持ち

動機づけの種類

恐怖 指示したとおりにタスクを完了しないと職を失うぞ!

思考停止反応を引き起こす

保身的な行動や非合理な行動さえ生じさせる

金銭欲 もっと稼げると思うやり方で仕事をする

ノルマ分だけ働く

必要な努力を最小にして最大報酬を得ようとする

「TSPガイドブック:リーダー編」 より ワッツ・S・ハンフリー著 秋山義博監訳 JASPIC TSP研究会訳

77

Page 78: 価値ある製品を生み出すためのアジャイル実践ポイント

どのように動機づけをするかが重要 ソフトウェア開発では予期せぬことがあるのが普通

予期せぬことには時間と工数がかかるというのが常識

いかに注意深くコミットメントを作っておいても、 最後は超人的な努力が必要となる場面もある

では、開発者はどうしてそんな無理をしてくれるのか? コミットメントで動機づけされているから

この動機づけがないと、開発者が燃え尽きてしまうこともある

コミットメント

チームのコミットメントの方が 個人のコミットメントより動機づける力が強い

「TSPガイドブック:リーダー編」 より ワッツ・S・ハンフリー著 秋山義博監訳 JASPIC TSP研究会訳

78

Page 79: 価値ある製品を生み出すためのアジャイル実践ポイント

個人の目的を、チームの目標達成に融合させて、 最大のパフォーマンスを発揮するためのもの

チームのコミットメント

メンバー全員が

共通のゴールに向けて、

仕事をしている

効果的な協同作業を行うための

プロセスがあり、遵守している

成果物やプロセスは、

素早いフィードバックで、

常に改善されている

79

Page 80: 価値ある製品を生み出すためのアジャイル実践ポイント

KPTは成長を促すツール

Keepで、チームとしての共感を得る

よかったことを褒めあうと、チームを信頼できる

Problemを共有する

問題を誰かのせいにするのではなく、チームの問題であると認識する

そして、みんなでTry!

誰かがやってくれる、のではなく、自分が、そして誰もがやる!

80

Page 81: 価値ある製品を生み出すためのアジャイル実践ポイント

プロジェクトのリズムを使った成長

☞ 定期的に実施する

– 続けるためには、習慣にしてしまう

– 一定期間の短いリズムでふりかえる

☞ 「歩み」を実感しつづける

– 成長していることは、自信につながる

81

Page 82: 価値ある製品を生み出すためのアジャイル実践ポイント

結合テストシート

KPT みえる化

昼会

課題管理表

SPL朝会

改善プラン

トップダウンか ボトムアップか?

トップダウン ボトムアップ

Redmine改良

エンジニアリング

82

事例

Page 83: 価値ある製品を生み出すためのアジャイル実践ポイント

座談会 課題などについて、ユニットL、有識者、SPLとで意見交流をする「場」

83

ポイント:自由な雰囲気の中での、真剣な話し合い

就業時間内に開催、時間厳守

「会議」にならない配置、お菓子も用意した方がベター

SPLは進行係として「和気あいあい」を徹底、

全員が意見を自由に発言できるようにふるまう

どんな意見が出ても「否定しない」

いい意見が出たら「褒める」

いい案がまとまったら、実行計画をすぐにまとめて、

アクションプランを作成してしまう。

時間内に何もまとまらなかったら、次の機会を作る

トップダウンか ボトムアップか? 事例

Page 84: 価値ある製品を生み出すためのアジャイル実践ポイント

面談 個対個の面談で、 思いを引き出す「場」

84

ポイント プロセス改善担当者が開発メンバー全員と面談 目的:組織方針について、どんな考えを持ってるのか、

仕事に何を期待しているのか、正直な意見を引き出す。 聴き手(プロセス改善担当者)のスタンス:

相手に関心を持つ どんな意見でも受け入れて、さらに引き出す 褒める

メンバーの様々な想いを引き出し、まとめて、 組織改善プランにフィードバックする 全員に自分たちの「改善計画」だと認識してもらう

事例 トップダウンか ボトムアップか?

Page 85: 価値ある製品を生み出すためのアジャイル実践ポイント

85

最初は個人ごとに様々な目標を持っている

チームは偶然にできあがるものではない

チームを作り上げるには時間がかかる

プロジェクトを推進しながら、チームの成長を促す仕組みを取り

込むことが重要

朝会(スタンダップミーティング)

チームの評価

チーム全員が「メンター」になり、お互いのスキルアップを促す役割を担う

事例 チームの成長を促す

Page 86: 価値ある製品を生み出すためのアジャイル実践ポイント

定常的なFace to Faceのコミュニケーション

チーム全員が集まって情報を交換する効果的な方法

立ったままで短時間で済ませる(目安15分)

主に確認事項は3つ 昨日やったことは?

今日やることは?

進捗が遅れている問題点は何?

検討が必要な課題は別途、打合せの場を設定

問題を抱えている場合は、積極的に助力を求める

チーム全員が他のメンバーが何をしているか知ることができる

86

事例 チームの成長を促す ~朝会~

Page 87: 価値ある製品を生み出すためのアジャイル実践ポイント

Keep

Problem

Try

87

KPTの時にメンバーに確認してみる

新しいチームほど定期的に評価

フィードバックと改善を継続

チームの評価ポイント

全員、チームのメンバーだと共通の意識がある?

全員が共通のゴールに対してコミットしてるか?

チームの中で発生した問題を自分たちで解決してるか?

信頼関係が築かれているか?

正直であること(知らないことは聞く)

ありのままであること(誰でもミスはするもの)

チームのアイデアや意見が尊重されていること

事例 チームの成長を促す ~チームの評価~

Page 88: 価値ある製品を生み出すためのアジャイル実践ポイント

88

チームで効果的な協同作業をする

効果的な協同作業のために個々のスキルを高める

初心者でも「メンター」になれる エキスパートに質問することで、彼らを刺激し動機づけられる

エキスパートは他のメンバーに教えることで、 逆に自分も知識を深めることができる

問題に対して、解決のために全員で惜しみなく

知識を分け合うことは、メンバーだけでなく

チームワークのスキルアップにつながる

最初はスクラムマスターが「メンター」を担い、いずれは全員が!

事例 チームの成長を促す ~チーム全員が「メンター」~

Page 89: 価値ある製品を生み出すためのアジャイル実践ポイント

ワークショップ

89

レゴスプリント

ここで一度

Page 90: 価値ある製品を生み出すためのアジャイル実践ポイント

90

やってみないとアジャイルはわからない!

Page 91: 価値ある製品を生み出すためのアジャイル実践ポイント

メンバーで 最終ゴールをイメージする

Page 92: 価値ある製品を生み出すためのアジャイル実践ポイント

レゴスプリント

レゴを使ったグループワーク

『最高の飛行機を作ってください!』

92

Page 93: 価値ある製品を生み出すためのアジャイル実践ポイント

このグループで・・・

どんな 最高の飛行機 つくる?

5分

『Smiling Adventure』を使ってみましょう!

93

Page 94: 価値ある製品を生み出すためのアジャイル実践ポイント

【お客様は誰?】

① フォーマットに合わせて、みんなで ディスカッションをしてみましょう

② 「お客様は誰ですか?」は、 名前など特定できればOK

③ 「どんな人ですか?」「求めているものはどんなもの?」を具体化していきましょう

④ 1人だけとは限りません いろいろなパターンを考えてみましょう

ご参考

94

Page 95: 価値ある製品を生み出すためのアジャイル実践ポイント

【お客様のハッピー】

① 「お客様は誰?」の結果を書きましょう

② お客様はどんなことをやってみたいと思っていますか? 求めているものは?

③ みなさんがつくり出すもので、どんなことが実現できますか?

④ 実際にお客様が使ってみると、 どんな気持ちになりますか?

ご参考

95

Page 96: 価値ある製品を生み出すためのアジャイル実践ポイント

【ストーリーテラー】

① フォーマットに合わせて、 シンプルに書いてみましょう

② 結果をもとに具体的なディスカッションにつなげてみましょう

ご参考

96

Page 97: 価値ある製品を生み出すためのアジャイル実践ポイント

ビジネスゴールを常に意識した開発

プロジェクトメンバーと 最終形態を一緒に描くことで、 プロジェクトの基礎固めができる

ゴールを共有できてるかどうかは プロジェクトに大きく影響する

グループワークからのポイント

97

Page 98: 価値ある製品を生み出すためのアジャイル実践ポイント

みんなで描いたゴールをもとに

「タスクをピックアップ」

5分

レゴ飛行機は 約10分×2回で開発します! 2回とも(完成)させます

98

Page 99: 価値ある製品を生み出すためのアジャイル実践ポイント

グループワークからのポイント

みんなで考えること

みんなの得意分野は何?

計画段階はイメージ力が重要

短いサイクルでの繰り返し開発には工夫が必要 99

Page 100: 価値ある製品を生み出すためのアジャイル実践ポイント

ソフトウェアかんばん

ToDo 未実施

Doing 実施中

Done 完了

サザエ

カツオ

ワカメ

【使い方】

① カードを未実施に貼る

② 実施する前に実施中にカードを移動する

③ タスクが完了したら完了に移動する ※ 貼りかえはリアルタイムに

100

Page 101: 価値ある製品を生み出すためのアジャイル実践ポイント

KPTはプロセスを適応させるツール

Keepで、チームとしての共感を得る

よかったことを褒めあうと、チームを信頼できる

Problemを共有する

問題を誰かのせいにするのではなく、チームの問題であると認識する

そして、みんなでTry!

誰かがやってくれる、のではなく、自分が、そして誰もがやる!

101

Page 102: 価値ある製品を生み出すためのアジャイル実践ポイント

グループワークからのポイント

ほめると伸びる+欠点も認める

行動(スイッチ)につながる

「人」に視点を置くからこそ「成長」もできる 102

Page 103: 価値ある製品を生み出すためのアジャイル実践ポイント

『最高の飛行機」を 作ってください!

10分×2回

10分×2イテレーション

朝会+タスクの確認(1分)

グループ作業(6分)

KPT(3分)

KPTの「ふりかえり」は2回目に反映!

かんばんも活用してください

Page 104: 価値ある製品を生み出すためのアジャイル実践ポイント

ご完成 おめでとう ございます

Page 105: 価値ある製品を生み出すためのアジャイル実践ポイント

-四- 品質アプローチ

Page 106: 価値ある製品を生み出すためのアジャイル実践ポイント

平鍋さんブログ「An Agile Way」より

http://blogs.itmedia.co.jp/hiranabe/2012/09/rightwing-and-leftwing-of-agile.html

アジャイルのライトウィング

106

Page 107: 価値ある製品を生み出すためのアジャイル実践ポイント

技術品質を継続的にキープする

• コーディングミスが発生しにくい

• コーディングでの誤り混入から 発見までの時間が短い (数分~数10分程度)

• コードの可読性が向上する

107

スプリント

デイリー スクラム

テスト駆動開発 (Test Driven Development)

ペアプログラミング

• コードがきれいになる (レビュー率100%)

• システムやコード、ツールなどの知識を共有できる

• ペアの組み方によっては、 トレーニングの効果を得られる

• コミュニケーションが活発になり一体感を生み出す

• 1人で悩んで停止しまうことが少なくなり作業が着実に進む

コードの共同所有

その他にもノウハウはたくさん 作るもの、プロジェクトに合わせ 自分たちでプラクティスを活用していく

Page 108: 価値ある製品を生み出すためのアジャイル実践ポイント

Doneの定義

ストーリへの「完了条件を定義してない」 「共有していないこと」がズレの始まりに・・・

どんなテストを完了していますか?

レビューは完了していますか?

お客様視点で動作できますか?

『Doneの定義』を明確に!

Page 109: 価値ある製品を生み出すためのアジャイル実践ポイント

対立構図から「問題対私たち」へ

109

Page 110: 価値ある製品を生み出すためのアジャイル実践ポイント

製品品質を継続的に確かめ、価値をあげる

スプリントごとに価値をフィードバックするには?

価値が確認できるレベルに動作していること

シンプルに設計し、リファクタリングができること

今必要としていないものをムダに作りこまないこと

デバイスドライバ

ライブラリ

アプリケーション

レイア単位ではなく

ファンクション単位で

Page 111: 価値ある製品を生み出すためのアジャイル実践ポイント

-五- 価値を描く

Page 112: 価値ある製品を生み出すためのアジャイル実践ポイント

もちろんメーカーとしてのメリットもある!

ブランドの力はやっぱりすごい!

技術力は世界トップレベル!

ターゲットに応じて 組織体制を変えることができる!

マーケティングの4Pは手の内に!

お金ありまっせ!

112

Page 113: 価値ある製品を生み出すためのアジャイル実践ポイント

最も強い者が生き残るのではなく、

最も賢い者が生き延びるのでもない。

唯一生き残ることが出来るのは、

変化できる者である。

チャールズ・ダーウィン

しかも、自分たちだけでなく、まきこめるかどうかも重要

Page 114: 価値ある製品を生み出すためのアジャイル実践ポイント

ものづくり日本

Page 115: 価値ある製品を生み出すためのアジャイル実践ポイント

みなさんがつくっているものの価値はなに?

Page 116: 価値ある製品を生み出すためのアジャイル実践ポイント

システムの機能の利用度

全く使われない45%ほとんど使われな

い19%

たまに使う16%

いつも使う7%

よく使う13%

Standish group study report in 2000 chaos report

システム開発と組込み開発の違い

116

「たまに使う」に意味があったりしませんか?

Page 117: 価値ある製品を生み出すためのアジャイル実践ポイント

117

これだとどう思いますか?

1.世界初 4Kミラーレス一眼

2.他社に負けないAFスピード

3.動画プロフェッショナル対応

※実際のコンセプトとは違います

Page 118: 価値ある製品を生み出すためのアジャイル実践ポイント

製品の価値を最大化するには?

118

Page 119: 価値ある製品を生み出すためのアジャイル実践ポイント

変化を味方につける(価値の共有)

お客様の価値の最大化を考える 変化は当然(必要)ととらえ、

すばやく変化を取り入れられるように進める

119

Page 120: 価値ある製品を生み出すためのアジャイル実践ポイント

変化を味方につける(開発側から)

120

Page 121: 価値ある製品を生み出すためのアジャイル実践ポイント

「Why」を考えてみる

どうなりたいか(BE)がベースになる

Why

なぜ作らなければ

ならないのか?

企業・組織としての Why

個人としての Why

–利益をあげねば –競合他社に勝つ –生産性をあげる –高品質な商品

– リーダとしての成功 –新しい技術を得る –自分の時間を作る –残業しても高収入

いやなことはしたくない・・・

パワーを引き出す「素」は 結局のところ「欲求」につながる

スポーツ

ゲーム 趣味

家族 勉強

仕事

121

Page 122: 価値ある製品を生み出すためのアジャイル実践ポイント

「Why」の影響

Why? 企業・組織としての Why

個人としての Why

ビジネスで成功 自己成長 チーム成長

業績アップ 自分の時間

あせり・指示 やらされ感

Command Control 思考停止 成長停止

二つのプラスが マッチングしたとき 最高スペックに!

122

Page 123: 価値ある製品を生み出すためのアジャイル実践ポイント

クレドを作ろう!

みなさんとやりたいこと

Page 124: 価値ある製品を生み出すためのアジャイル実践ポイント

1.メンバを信頼し、リスペクトする

Sample

Page 125: 価値ある製品を生み出すためのアジャイル実践ポイント

2.勇気をもってまわりを巻き込む

Sample

Page 126: 価値ある製品を生み出すためのアジャイル実践ポイント

3.ビジネスとしての

成果を意識する

Sample

Page 127: 価値ある製品を生み出すためのアジャイル実践ポイント

4.チームは1+1を2以上にしてくれる

Sample

Page 128: 価値ある製品を生み出すためのアジャイル実践ポイント

5.チームの笑顔がお客様の笑顔につながる

Sample

Page 129: 価値ある製品を生み出すためのアジャイル実践ポイント

ハード部門や工場など関連部門とは

どうしたらいいのか?

上司にどう説明すれば、アジャイルを

導入できるのか?

SQAはどこでステップ移行監査や品質をチェックすればいいのか?

既存の組織プロセスがあるけど、 どうしたらいいの?

~組織編~

組込み開発だと顧客が明確でない場合のフィードバックとは誰がするのか?

こんな不安、疑問を持たれてませんか?(こたえ)

129

価値やゴールを もっと共有しませんか? フィードバックも重要です

上司が 目指すものは?

あなたが目指すものは?

ステップ移行も変化します タイムボックスを

有効に活用しましょう 大きく変える必要は ありません

何を変えるべきか ふりかえりましょう

顧客が明確でない 製品を作っているの? 価値判断できる人は?

Page 130: 価値ある製品を生み出すためのアジャイル実践ポイント

品質確保できるのか?

開発を委託している場合、どうしたらいいのか? 委託元の役割とは?

要素開発で、ハード系仕様がなかなか決まらない、変更が激しい場合はどんな形で導入したらいいのか?

アジャイルを熟知している人がいないと、上手くいかないのでは?

~開発現場編~

こんな不安、疑問を持たれてませんか?(こたえ)

品質も含めて タイムボックスで フィードバックします

目指す価値は同じはず お互いの役割を明確にして リズムを共有しましょう

今必要としていることを 明確にして

できるところからシンプルに! 何度か繰り返すと 形ができるはず

最後までそうではないです 一人ひとりがメンターを 目指しましょう!

130

Page 131: 価値ある製品を生み出すためのアジャイル実践ポイント

131

アジャイルとは、 お客様のビジネス価値を最大化するための

「考え方」や「姿勢」のこと

Page 132: 価値ある製品を生み出すためのアジャイル実践ポイント

アジャイルは 現場駆動 人駆動 です

Page 133: 価値ある製品を生み出すためのアジャイル実践ポイント

変化を受け入れるのではなく

社会に対して変化を生み出していく

組込みだから、アジャイルっしょ。

133

Page 134: 価値ある製品を生み出すためのアジャイル実践ポイント

実践こそが

アジャイル!

価値について考える

お客様はだれ?

ユーザーにとっての価値は?

考える習慣、意識を継続

まずは簡単なことからでもOK 実践してみる!

声のかけかた、会議のしかけなどでも現場は変わる

ボトムアップが組織を変える!

Page 135: 価値ある製品を生み出すためのアジャイル実践ポイント

13

5

Social Change starts with YOU!!

「未来」は自分たちで描き、自分たちの手で変化を生み出そう! 135

ご清聴ありがとうございました