happy adapting agile software development

90
変化を受け入れる アジャイルな プロジェクト マネジメントと現場 (株)永和システムマネジメント/ オブジェクト倶楽部 西村直人 / [email protected] Agile Japan 2010 2010.04.10 組織、意識改革編

Upload: nishimura-naoto

Post on 05-Dec-2014

2.690 views

Category:

Documents


1 download

DESCRIPTION

Presentation at Agile Japan 2010

TRANSCRIPT

Page 1: Happy Adapting Agile Software Development

変化を受け入れるアジャイルなプロジェクトマネジメントと現場(株)永和システムマネジメント/ オブジェクト倶楽部西村直人 / [email protected]

Agile Japan 2010 2010.04.10

組織、意識改革編

Page 2: Happy Adapting Agile Software Development
Page 3: Happy Adapting Agile Software Development

自己紹介★西村直人 id:nawoto★永和システムマネジメント所属★福井が本社、東京に支社にある220名程度SIベンダ★アジャイル手法を軸に変化を抱擁するITソリューションを提供することに力を入れています

★アジャイルコーチ★お客様先でアジャイル手法を導入するお手伝い

★開発リーダー★ Rubyとアジャイル手法での開発に3年以上従事

Page 4: Happy Adapting Agile Software Development

RubyxAgile

http://ruby.agile.esm.co.jp/

Page 5: Happy Adapting Agile Software Development

アジャイル導入支援

http://agile.esm.co.jp/scrum/

Page 6: Happy Adapting Agile Software Development

今日お話する事「変化を受け入れられるプロジェクトマネジメントと現場」を実現するためにアジャイル手法を導入や検討されている企業が増えてきています。

Page 7: Happy Adapting Agile Software Development

今日お話する事組織改革の第一歩は現場への導入から始まり、そこで得たものはアジャイル手法の導入に不可欠です導入の始め方も重要になります。現場の重要性と始め方の工夫についてお話します。

Page 8: Happy Adapting Agile Software Development

主な対象層

組織

経営層

マネジメント層

開発者層

Page 9: Happy Adapting Agile Software Development

アジェンダ1.なぜ現場が重要なのか?2.プロジェクトの選び方3.理解を促進させるには?

Page 10: Happy Adapting Agile Software Development

現場実際にプロジェクトを進めていくマネジメント層と開発者層

Page 11: Happy Adapting Agile Software Development

重要な理由1.実践するのは現場2.目的を理解するのは現場3.判断し修正するのも現場

Page 12: Happy Adapting Agile Software Development

変化

Page 13: Happy Adapting Agile Software Development

今、そこにある変化★西村の場合★ 2009年

★ Agile Japan 2009 で LT の司会★ 現場を中心にアジャイル手法を実践してました★ 認定スクラムマスター取得

★ 2010年★ Agile Japan 2010 で講演★ お客様の組織にアジャイル手法を導入するお手伝い

Page 14: Happy Adapting Agile Software Development

経営層のニーズ★ビジネス優先の開発をしたい★コストを削減したい★内製化を進めたい等

Page 15: Happy Adapting Agile Software Development

経営層のニーズ★ビジネス優先の開発をしたい★コストを削減したい★内製化を進めたい等

Q.アジャイル手法で実現できますか?

Page 16: Happy Adapting Agile Software Development

今、そこにある変化★経営層からの依頼★アジャイル手法を自社に導入したい!!

★お手伝い★初期教育★実際にプロジェクトに参画しての導入支援

★ コーチ、スクラムマスター、メンター

★組織での横展開の相談

Page 17: Happy Adapting Agile Software Development

例えば、★MTI様

Page 18: Happy Adapting Agile Software Development

今、そこにある変化★経営層の判断★アジャイル手法を自社に導入したい!!

★実際に導入するのは現場★マネジメント層★開発者層

★必然的に変化せざる得ない

Page 19: Happy Adapting Agile Software Development

実は今までも★従来の開発プロセスでも★他社とは細部はかなり異なっているでしょう★時期によっても変化していたでしょう★トップダウンで見直した事もあるでしょう

★現場で実践してきた事★自分達の組織やプロジェクトに合せて適応してきた

Page 20: Happy Adapting Agile Software Development

現場で実践する事で★なぜ効果があるのか?★自社に最適化するには?★何は変更してはいけないのか?★何は変更してよいのか?

★経営層は判断できない★自分達の答えを持つ

Page 21: Happy Adapting Agile Software Development

Scrum実際の開発現場の日々の作業に用いる開発手法はプロジェクトやチームに応じて採用する

Page 22: Happy Adapting Agile Software Development

重要な理由1.実践するのは現場2.目的を理解するのは現場3.判断し修正するのも現場

Page 23: Happy Adapting Agile Software Development

経営層のニーズ★ビジネス優先の開発をしたい★コストを削減したい★内製化を進めたい等

Q.アジャイル手法で実現できますか?

Page 24: Happy Adapting Agile Software Development

Answer

YES※効果には個人差がありますので注意して下さい

Page 25: Happy Adapting Agile Software Development

先人曰くアジャイル手法を正しく実践できるチームは従来のチームよりソフトウェアの早期提供、高い品質、コスト削減を提供することができる。

Page 26: Happy Adapting Agile Software Development

PMBOK調達

リスク

コミュニケーション

人材 品質

コスト

時間

スコープ

全体管理

Page 27: Happy Adapting Agile Software Development

日々の作業★進捗管理★どの程度遅れているのか?★遅れはとり戻せる状態なのか?★進捗の障害となっている課題は?

★課題管理★課題の重要度は?★解決可能なのか?★いつまでに解決が必要なのか?

Page 28: Happy Adapting Agile Software Development

アジャイル手法では★作業の効率化を提供します★時間の短縮★不要な時間を取り除く★作業に集中させる★同時に複数の目的を達成する★課題の早期発見★などなど

Page 29: Happy Adapting Agile Software Development

とあるリーダー★進捗は週次で報告★資料の作成は3時間程度でできてますよ★メンバーへのヒアリングもいれるともう少し時間が掛ってると思います

★報告する場は週二回あるので情報の更新もしてます

少なくとも毎週5時間くらいの作業

Page 30: Happy Adapting Agile Software Development

デイリースクラムScrumのプラクティス毎日15分程度、チーム全員が参加して行うスタンドアップミーティング日本では「朝会」として有名

Page 31: Happy Adapting Agile Software Development

プラクティスアジャイル手法を構成する要素現場で日々実践すべき項目についてを定義している。例えば、バージョン管理ツールの利用や毎週のデモ等も含む

Page 32: Happy Adapting Agile Software Development

実際の光景

Page 33: Happy Adapting Agile Software Development

確認する事★昨日やった事★今日やる事★作業を進める上で気になる事★オプション★連絡事項★今週のリリースは守れそうか★マネージャーに手伝ってほしい事は?

Page 34: Happy Adapting Agile Software Development

目的★進捗確認に要する時間の短縮★コミュニケーションの促進★早期の課題発見★メンバーの状況を確認★方向性や目的の周知

Page 35: Happy Adapting Agile Software Development

とあるマネージャーリリース直前で進捗は少し遅れてるけど、朝会でメンバーの顔を見ていると安心して任せれたよ。

Page 36: Happy Adapting Agile Software Development

理解してもらった★情報の信憑性★日次で確認している

★開発チームの作業スピード★作業の進行上に問題が無い事

Page 37: Happy Adapting Agile Software Development

管理コストの削減

導入前

導入後

進捗管理 その他

あくまでイメージです

Page 38: Happy Adapting Agile Software Development

他にやる事★課題への迅速な対応★調達★コスト計算★他のプロジェクトも担当する★などなど

Page 39: Happy Adapting Agile Software Development

プラクティス先人の知恵。

複数の目的を同時に実現する効率的なやり方

Page 40: Happy Adapting Agile Software Development

理解する★目的と効果を知っていたから、現状を正しく把握できた

★目的を意識して行動する事で、正しく効果を発揮できる

Page 41: Happy Adapting Agile Software Development

重要な理由1.実践するのは現場2.目的を理解するのは現場3.判断し修正するのも現場

Page 42: Happy Adapting Agile Software Development

プラクティス★デイリースクラム★スプリントレビュー★スプリント計画ミーティング★スプリントレトロスペクティブ★バーンダウンチャート等

Page 43: Happy Adapting Agile Software Development

背景

Page 44: Happy Adapting Agile Software Development

Scrumの理論★透明性★プロセスの様子が、成果を管理する人の目に見える事を保証する必要がある。

★検査★プロセスに受け入れ難い変化を頻繁に検査しておく必要がある

★適応★問題が発生した場合には迅速に対応する必要がある

http://www.scrum.org/scrumguides/

Page 45: Happy Adapting Agile Software Development

現場でしかできない★必要なプラクティスを選択する★目的と効果、背景を理解する

★プラクティスが導入可能か?★オフショアの場合にデイリースクラムできるの?

★カスタマイズして実現可能か?★かんばんはWebアプリで代替できるか?

Page 46: Happy Adapting Agile Software Development

重要な理由1.実践するのは現場2.目的を理解するのは現場3.判断し修正するのも現場

Page 47: Happy Adapting Agile Software Development

アジェンダ1.なぜ現場が重要なのか?2.プロジェクトの選び方3.理解を促進させるには?

Page 48: Happy Adapting Agile Software Development

すぐに理解できるの?★ある程度の時間は必要です★理解して行動できるまでの時間が必要★開発チームが形になるまで一ヶ月は必要と言ってます

★ それでも本当に習熟したとは言えない

Page 49: Happy Adapting Agile Software Development

早くする事はできます★適切な環境を用意する★色々な事を学習できる機会が多い★効果的に学習できる体制★正しく評価できる★などなど

プロジェクト

Page 50: Happy Adapting Agile Software Development

パイロットプロジェクト

アジャイル手法の導入を目的とした試験的なプロジェクト

Page 51: Happy Adapting Agile Software Development

パイロットプロジェクト

ここで学んだことが後に続く組織的な導入を成功させる要因の一つ

Page 52: Happy Adapting Agile Software Development

選び方

期間

プロジェクトの規模

組織からの支援

重要度

http://blog.mountaingoatsoftware.com/four-attributes-of-the-ideal-pilot-project

Mike Cohn

Page 53: Happy Adapting Agile Software Development

選び方★期間★あまり短いと学習機会が少ない★チームがある程度成長した後は続ける必要が無い

★プロジェクトの規模★大規模はコントロールが難しく、個別のケアもしにくい★あまり小さいと実プロジェクトとの乖離が大きい

Page 54: Happy Adapting Agile Software Development

選び方★組織からの支援★集中できる環境を用意してもらう

★重要度★失敗が会社に深刻な影響を与えるのは避けるべき

★ プロジェクト自体の成功を優先してしまう

★小さいと本気度が足らない

Page 55: Happy Adapting Agile Software Development

傾向と対策★集中させる★前プロジェクトと兼任させない★評価基準を現場に求めない★外野を決めておく

★情報を公開する★専任の窓口を用意する

★結果を正しく評価する★現場の評価と違う解釈をしない

Page 56: Happy Adapting Agile Software Development

アジェンダ1.なぜ現場が重要なのか?2.プロジェクトの選び方3.理解を促進させるには?

Page 57: Happy Adapting Agile Software Development

??最初から上手くいく?

Page 58: Happy Adapting Agile Software Development

実践できるまで1.やり方を教わる2.目的を教わる3.実行する4.実感する5.実践する

Page 59: Happy Adapting Agile Software Development

必要な支援★説明責任★課題を見つける★学習を促す

Page 60: Happy Adapting Agile Software Development

とあるマネージャ曰く★プロジェクト初期で進捗が良くない時

★君はどう考えてるのか?★何か対応策になるプラクティスは?★いつからプラクティスを導入するのか?

Page 61: Happy Adapting Agile Software Development

私の解答今は新しいプラクティスを導入する予定はありません。すいませんが、もう一週間我慢して下さい。

Page 62: Happy Adapting Agile Software Development

とあるマネージャ曰く★なぜ何もしないのか!?★大丈夫な理由を教えろ!!

Page 63: Happy Adapting Agile Software Development

当然の反応★プロジェクトの成功に責務★どういう状況か知る権利がある★必要な対応をする義務がある★失敗は組織での評価にも影響する

Page 64: Happy Adapting Agile Software Development

併用したプラクティス★かんばん★タスクの見える化を実現★スプリントバックログとして利用

Page 65: Happy Adapting Agile Software Development

目的★タスクレベルでの作業進捗★作業担当者の明示★作業間連携のロスを減らす★必要な情報の聞き先が分かる

★作業指示の負担軽減★本来、リーダーが指示★サインアップによる代替

★課題分析のインプット等

Page 66: Happy Adapting Agile Software Development

とあるチーム★かんばんを導入★進捗が見える化された事は理解★リーダーやマネージャーに作業進捗を聞かれない★朝会での報告で周りが安心するのを実感

Page 67: Happy Adapting Agile Software Development

とあるチーム★サインアップできない★作業指示はリーダーが主体で朝会の後で実施★本来は朝会の15分で済む話★開発作業の時間が減っている

★ 微々たるものかもしれない★ 長期や全社の視点では?

★リーダーはメンバー全員のタスク分担を考える★ 日に何度も発生する

Page 68: Happy Adapting Agile Software Development

とあるチーム★気付きつつあった★リーダーが開発に参加できていない★関連するタスクは基本的に自分の担当になる★作業の進捗は分かるので、手伝いが必要な所は自明

Page 69: Happy Adapting Agile Software Development

私が説明した事★進捗の報告に有効な事を理解したところです

★リーダーが開発作業に集中できれば、進捗の遅れは挽回

★サインアップできる事を定着させるべき

Page 70: Happy Adapting Agile Software Development

私が意識している事★学習機会を奪わない★一度に全ては理解し難い★適切なタイミングで段階的に理解してもらう

Page 71: Happy Adapting Agile Software Development

必要な支援★説明責任★課題を見つける★学習を促す

Page 72: Happy Adapting Agile Software Development

気付きにくい事も★複数のタスクが同時に完了する★担当者がサインアップしたタスクは一つだった★同時に上手くやれたので良かった★頻繁に発生していたので、進捗面でも貢献

Page 73: Happy Adapting Agile Software Development

実は課題です★正確な進捗報告ではない★いつも複数のタスクが同時に完了するのか?★あと何日で終わるの?

★管理者層は不安に感じます★プロジェクトの状況が悪い時ほど正確な情報が必要

Page 74: Happy Adapting Agile Software Development

原因★タスクが処理を基準に分割★ xxデータを取得★ xxデータのフラグを更新★ xxデータを保存

★設計ができていない★オブジェクト指向設計★本来は一つのメソッドで実現されるべき

Page 75: Happy Adapting Agile Software Development

必要な支援★説明責任★課題を見つける★学習を促す

Page 76: Happy Adapting Agile Software Development

とあるチーム★サインアップできない★作業指示はリーダーが主体で朝会の後で実施★本来は朝会の15分で済む話★開発作業の時間が減っている

★ 微々たるものかもしれない★ 長期や全社の視点では?

★リーダーはメンバー全員のタスク分担を考える★ 日に何度も発生する

Page 77: Happy Adapting Agile Software Development

とあるチーム★気付きつつあった★リーダーが開発に参加できていない★関連するタスクは基本的に自分の担当になる★作業の進捗は分かるので、手伝いが必要な所は自明

Page 78: Happy Adapting Agile Software Development

私がやった事★あとは促すだけ★昨日やった事に関連するタスクはありますか?★もう終わったのですか? どこか手伝ってあげて下さい★リーダーとちゃんと確認して下さい

★ 人に任せても安心できる事を体験★ かんばんで確認できる事を伝える等

★適当に作業指示を与え、効率を悪くしてみる★ 自分の判断が正しい確証を持ってもらう

★最後に目的を再度伝える

Page 79: Happy Adapting Agile Software Development

必要な支援★説明責任★課題を見つける★学習を促す

Page 80: Happy Adapting Agile Software Development

誰がやるべき?★導入時の各層では難しい★ある程度の経験が必要

★本来の仕事★マネジメント層

★ プロジェクトの運営を担当する

★開発者層★ プロジェクトの開発作業を遂行する

Page 81: Happy Adapting Agile Software Development

スクラムマスターアジャイル手法を指導する専門の役割チームがアジャイル手法への理解と実践ができるように支援する

Page 82: Happy Adapting Agile Software Development

他にも★アジャイルコーチ★経験の浅いスクラムマスターの相談役★プラクティスの導入方法等を指導

★メンター★習得に時間の掛るプラクティスを伝える

★ ペアプロ、TDD

★開発者層と一緒に開発作業に従事する★ 実践する見本となる

Page 83: Happy Adapting Agile Software Development

導入の段階に応じて★最初は学習する事が多い★マネジメント層への教育★開発者層への教育★適切な支援があれば、効果的な学習が可能

★成熟してけば★自分たちで学習していける★少しのアドバイスで良い★スクラムマスターは不必要になるのが目的

Page 84: Happy Adapting Agile Software Development

まとめ

Page 85: Happy Adapting Agile Software Development

今日お話する事組織改革の第一歩は現場への導入から始まり、そこで得たものはアジャイル手法の導入に不可欠です導入の始め方も重要になります。現場の重要性と始め方の工夫についてお話します。

Page 86: Happy Adapting Agile Software Development

導入時のポイント★導入の鍵は現場にあります★最初の一歩は現場から始まる★現場が得たものは次に必要になります

★学ぶための環境を用意するのが重要

★パイロットプロジェクト重要

★経験者によるサポートは有効★初めての時は経験者に教えてもらおう

Page 87: Happy Adapting Agile Software Development

先人曰く★導入の鍵は現場にあります★最初の一歩は現場から始まる★現場が得たものは次に必要になります

★学ぶための環境を用意するのが重要

★パイロットプロジェクト重要

★経験者によるサポートは有効★初めての時は経験者に教えてもらおう

Page 88: Happy Adapting Agile Software Development

あとがき先人達が導入時に挙げている事の重要性を強く感じています。これからアジャイル手法を導入する人達にもぜひ共有しておきたいと思い、今回の主テーマにさせてもらいました。

Page 89: Happy Adapting Agile Software Development

以上です。ご清聴ありがとうございました。みなさんのお手伝いをできる日を楽しみにしています。

Page 90: Happy Adapting Agile Software Development

HappyAdapting