84
ソフトウェア 開発における ムダの 減らし方 (株)永和システムマネジメント:オブジェクト倶楽部 西村 直人 : [email protected] v0.1 SP福井勉強会2009/07/15

How to eliminate the waste of software development v0.1

Embed Size (px)

Citation preview

Page 1: How to eliminate the  waste of software development v0.1

ソフトウェア開発におけるムダの減らし方 (株)永和システムマネジメント:オブジェクト倶楽部西村 直人 : [email protected]

v0.1 SP福井勉強会2009/07/15

Page 2: How to eliminate the  waste of software development v0.1
Page 3: How to eliminate the  waste of software development v0.1

自己紹介★西村 直人★ http://friendfeed.com/nawoto

★Rails案件専門の現場リーダー★ LLWG

★リーダー★偉くない方の西村

Page 4: How to eliminate the  waste of software development v0.1

今日、話したい事ソフトウェア開発は年々、要求される事が難しくなってきています。効率とか生産性の向上を求められています。

Page 5: How to eliminate the  waste of software development v0.1

今日、話したい事少しでも効率とか生産性を良くするために普段の仕事のムダを減らす事を考えてみます。

Page 6: How to eliminate the  waste of software development v0.1

アジェンダ1.何がムダなんだろう?2.なぜムダなんだろう?3.どうやって解決しよう?1.例えば Scrum の場合4.質疑応答

Page 7: How to eliminate the  waste of software development v0.1

何がムダ

Page 8: How to eliminate the  waste of software development v0.1

ムダとは?製造業では価値を付加しないあらゆるもの★作り過ぎのムダ★手待ちのムダ★不良を作るムダ★動作のムダ★ムダを改善しない等

Page 9: How to eliminate the  waste of software development v0.1

ソフトウェア開発?価値を付加しないあらゆるものはムダ

お客さん 開発側

要件

ソフトウェア

Page 10: How to eliminate the  waste of software development v0.1

ソフトウェア開発?価値を付加しないあらゆるものはムダ

お客さん 開発側

要件

ソフトウェア

Page 11: How to eliminate the  waste of software development v0.1

私の仕事★リーダー業★進捗管理、報告★タスクのアサイン★調整作業★要件、仕様の取りまとめ★基本設計

★開発★実装、テスト★各種ドキュメント作成

Page 12: How to eliminate the  waste of software development v0.1

Q.どれがムダですか?★リーダー業★進捗管理、報告★タスクのアサイン★調整作業★要件、仕様の取りまとめ★基本設計

★開発★実装、テスト★各種ドキュメント作成

Page 13: How to eliminate the  waste of software development v0.1

A.これがムダです★リーダー業★進捗管理、報告★タスクのアサイン★調整作業★要件、仕様の取りまとめ★基本設計

★開発★実装、テスト★各種ドキュメント作成

Page 14: How to eliminate the  waste of software development v0.1

何故ムダ

Page 15: How to eliminate the  waste of software development v0.1

どこにムダがあるのか★進捗管理、報告★タスクのアサイン★調整作業★要件、仕様の取りまとめ★基本設計

Page 16: How to eliminate the  waste of software development v0.1

それぞれの視点★開発メンバー★開発リーダー★お客様

Page 17: How to eliminate the  waste of software development v0.1

メンバーの場合★進捗管理、報告★タスクのアサイン★調整作業★要件、仕様の取りまとめ★基本設計

Page 18: How to eliminate the  waste of software development v0.1

メンバーの悩み★要件のまとめに時間がかかる★要件がころころ変わる★仕様の確認が発生する

Page 19: How to eliminate the  waste of software development v0.1

メンバーの悩み

★開発作業に着手できない★開発に手戻りが発生する

★要件のまとめに時間がかかる★要件がころころ変わる★仕様の確認が発生する

Page 20: How to eliminate the  waste of software development v0.1

メンバーの悩み

★開発作業に着手できない時間★手戻りが消費した時間

★要件のまとめに時間がかかる★要件がころころ変わる★仕様の確認が発生する

ムダ

Page 21: How to eliminate the  waste of software development v0.1

メンバーが感じるムダ★開発作業に遅れが発生する問題★過度な進捗管理で開発作業に支障がでる場合★タスクのアサインが適切でない場合★調整作業が難航している場合★基本設計がなかなか完了してない場合

Page 22: How to eliminate the  waste of software development v0.1

リーダーの場合★進捗管理、報告★タスクのアサイン★調整作業★要件、仕様の取りまとめ★基本設計

Page 23: How to eliminate the  waste of software development v0.1

リーダーの悩み★色々と素早く対応していくのは大変

★タスクは一杯ある★ 某岡島さんはチームビルディングも...

★お客様に納得してもらう事は特に難しい

Page 24: How to eliminate the  waste of software development v0.1

リーダーの悩み★色々と素早く対応していくのは大変

★タスクは一杯ある★ 某岡島さんはチームビルディングも...

★お客様に納得してもらう事は特に難しい

★対応に予想より多く掛った時間ムダ

Page 25: How to eliminate the  waste of software development v0.1

リーダーが感じるムダ★一人では上手く対応できない★タスクのアサインが上手くいかない場合★仕様の整理が上手く進まない場合★基本設計がなかなか完了しない場合

★上手く納得してもらえない★整理した要件を納得してもらえない場合★進捗の報告に時間が掛かる場合★調整作業が難航している場合

Page 26: How to eliminate the  waste of software development v0.1

顧客の場合★進捗管理、報告★タスクのアサイン★調整作業★要件、仕様の取りまとめ★基本設計

Page 27: How to eliminate the  waste of software development v0.1

顧客の悩み★ちゃんと予算に見合うシステムが出来るのか分からない

★進捗に遅れがあるんだけど★問題が発生した場合の解決に時間が掛かる

Page 28: How to eliminate the  waste of software development v0.1

顧客の悩み★ちゃんと予算に見合うシステムが出来るのか分からない

★進捗に遅れがあるんだけど★問題が発生した場合の解決に時間が掛かる

★状況を納得するのに掛かる時間ムダ

Page 29: How to eliminate the  waste of software development v0.1

顧客が感じるムダ★プロジェクトの状況を把握するのに時間が掛かる

★要件を整理したものに違和感がある場合★進捗に遅れがある場合の原因が不明な場合★問題の対応策が中途半端な場合

Page 30: How to eliminate the  waste of software development v0.1

ムダの正体★開発作業の進捗に遅れが発生する問題★一人で上手く対応できない★上手く納得してもらえない★プロジェクトの状況を把握するのに時間が掛かる

お客さん 開発側

要件

ソフトウェア

Page 31: How to eliminate the  waste of software development v0.1

ムダの正体★開発作業の進捗に遅れが発生する問題★一人で上手く対応できない★上手く納得してもらえない★プロジェクトの状況を把握するのに時間が掛かる

お客さん メンバー

要件

ソフトウェアリーダー

仕様タスク進捗

調整

Page 32: How to eliminate the  waste of software development v0.1

ムダの正体★開発作業の進捗に遅れが発生する問題★一人で上手く対応できない★上手く納得してもらえない★プロジェクトの状況を把握するのに時間が掛かる

お客さん 開発側

要件

ソフトウェア

Page 33: How to eliminate the  waste of software development v0.1

中まとめ★顧客に最も価値のあるものは、ソフトウェアです。

★間に色んな作業が必要なので、開発に100%注力できるわけではない

★開発以外の作業は価値を提供しない

Page 34: How to eliminate the  waste of software development v0.1

注意点★開発以外の作業は不要だという事ではありません。

★お客さんは安心するために説明を求めています★タスクは適切に分割し誰かをアサインする必要がある★問題があった場合には何かしら調整する必要があります★要件は整理する必要があります★仕様は明確にする必要があります★設計せずにソフトウェアは作れません

Page 35: How to eliminate the  waste of software development v0.1

どうしよう

Page 36: How to eliminate the  waste of software development v0.1

スクラム

Page 37: How to eliminate the  waste of software development v0.1

スクラム

Page 38: How to eliminate the  waste of software development v0.1

重視している事★自己組織化★透明性★責任分担

Page 39: How to eliminate the  waste of software development v0.1

重視している事★自己組織化★透明性★責任分担

Page 40: How to eliminate the  waste of software development v0.1

私の仕事★進捗管理、報告★タスクのアサイン★調整作業★要件、仕様の取りまとめ★基本設計

Page 41: How to eliminate the  waste of software development v0.1

上手くいってる実感メンバーに色んな作業を任せる事ができはじめると良い感じになってきたと感じます。例えば、設計の一部や仕様の調整をお願いできた時

Page 42: How to eliminate the  waste of software development v0.1

任せる事ができると★他の作業に注力できます★要件の整理★タスクのアサイン★進捗管理★調整作業★仕様の調整★基本設計★開発に参加できます

Page 43: How to eliminate the  waste of software development v0.1

全て任せてしまうと★他の作業にさらに注力できます★要件の整理★タスクのアサイン★進捗の管理、報告★調整作業★仕様の調整★基本設計★開発に貢献できます

Page 44: How to eliminate the  waste of software development v0.1

私の仕事★進捗管理、報告★タスクのアサイン★調整作業★要件の取りまとめ

Page 45: How to eliminate the  waste of software development v0.1

私の仕事★進捗管理、報告★タスクのアサイン★調整作業★要件の取りまとめ

Page 46: How to eliminate the  waste of software development v0.1

バックログスクラムでは一定期間毎に開発する機能を合意しながら進めていきます。その期間内の全作業を洗い出して一覧にしたものをバックログといいます

Page 47: How to eliminate the  waste of software development v0.1

バックログメンバーはバックログに挙げられているタスクをみんなで相談し、自分のやる作業を決定する仕様の調整、設計、開発も単なる作業です。

Page 48: How to eliminate the  waste of software development v0.1

私の仕事★進捗管理、報告★タスクのアサイン★調整作業★要件の取りまとめ

Page 49: How to eliminate the  waste of software development v0.1

Q.本当かよ?★そんなに色々と任せられるの?★メンバーが作業を決めれるの?★新人に設計とかムリだろ?★自分の作業を人にやってもらってるだけだから作業量は変わんないだろww

Page 50: How to eliminate the  waste of software development v0.1

A.いきなりはムリ★例えば、1年間続けてみたら?★任せられる部分が増えないだろうか?★一度やったタスクは一年後も取れないだろうか?★設計は学習できないものだろうか?★僕が複数の機能を並行して担当するより、各メンバーが各機能を責任持って担当するのと一緒?

Page 51: How to eliminate the  waste of software development v0.1

重視している事★自己組織化★透明性★責任分担

Page 52: How to eliminate the  waste of software development v0.1

私の仕事★進捗管理、報告★調整作業★要件の取りまとめ

Page 53: How to eliminate the  waste of software development v0.1

バックログスクラムでは二つのバックログを用意します。期間内の全作業一覧をスプリントバックログ。プロジェクト全体の要件を一覧にして管理するためのプロダクトバックログ

Page 54: How to eliminate the  waste of software development v0.1

ミーティング各期間の最初に対応する要件を決定します。各期間の終了後に実装した機能をレビューする。遅れているか、次をどうするかの調整等はそれで行なわれる。

Page 55: How to eliminate the  waste of software development v0.1

バックログどの作業が完了しているのか? どの要件まで実装が済んでいるのか一目瞭然です。進み具合の実績から今後のスケジュールもより正確になる

Page 56: How to eliminate the  waste of software development v0.1

Q.本当かよ?★バックログは何で管理するの?★お客は作業一覧とか見ないだろ?★そんなに簡単に調整できるの?★何時間のミーティングやるつもりなのww

Page 57: How to eliminate the  waste of software development v0.1

A.あとで説明する★あとで説明できるといいな★こういう話を2日間かけてやってきました。★ 1時間で話すのはムズカしいです...

Page 58: How to eliminate the  waste of software development v0.1

重視している事★自己組織化★透明性★責任分担

Page 59: How to eliminate the  waste of software development v0.1

私の仕事★進捗管理、報告★調整作業★要件の取りまとめ

Page 60: How to eliminate the  waste of software development v0.1

悩んでいる事要件を整理する時には、開発側ではコントロールできない問題に直面する事が多いです。例えば、先方で要件の詳細をまとめる宿題が終らない...

Page 61: How to eliminate the  waste of software development v0.1

悩んでいる事全部まとめてやろうとしているのが原因みたいです。重要な要件を提案して、優先してもらおうと提案すべきでしょうか?

Page 62: How to eliminate the  waste of software development v0.1

Q.どれがが重要?★ウナギの養殖★ウサギの養殖★人工衛星の部品選定

Page 63: How to eliminate the  waste of software development v0.1

決めれないのでは?お客さんの業務を理解するのは非常に重要ですが、最終的な判断は誰がやるべきしょうか?僕たちがやる事でムダな時間がかかっていませんか?

Page 64: How to eliminate the  waste of software development v0.1

プロダクトオーナーバックログの優先度を最終的に決定する権利を持つ。また予算に見合う費用対効果を保証する責任を持つ。

Page 65: How to eliminate the  waste of software development v0.1

POのお仕事★機能の特徴を定義する★リリースの内容と時期を決める★各期間の最初までに仕様や優先度を変更する

★各作業の成果に OK or NG を出す

Page 66: How to eliminate the  waste of software development v0.1

バックログ要件が決定したものを優先度を高くする事により、作業に着手できない事故を防ぐ。逆に決定が遅れてるものを理解する助けになるかも

Page 67: How to eliminate the  waste of software development v0.1

Q.本当かよ?★無理だろ??

Page 68: How to eliminate the  waste of software development v0.1

A.あとで説明する★あとで説明できるといいな★こういう話を2日間かけてやってきました。★ 1時間で話すのはムズカしいです...

Page 69: How to eliminate the  waste of software development v0.1

私の仕事★進捗管理、報告★調整作業★要件の取りまとめ

★開発にちゃんと貢献できます

Page 70: How to eliminate the  waste of software development v0.1

重視している事★自己組織化★透明性★責任分担

★開発チームのパフォーマンスは向上していませんか?

Page 71: How to eliminate the  waste of software development v0.1

中まとめ★やり方を工夫すると目的は変えずに間に発生する色んな作業は減らせます

★価値を最大化するためには開発チームのパフォーマンスを最大にする努力が必要です

Page 72: How to eliminate the  waste of software development v0.1

注意点★効果が出るまでには時間がかかるかもしれません

★実は具体的なやり方は存在しません......

Page 73: How to eliminate the  waste of software development v0.1

あとの部分★実は具体的なやり方は無いw★ Scrumは開発の進め方のフレームワーク★お客さん、自分の組織によって詳細な部分は違って当然★詳細な部分は自分たちで考えなさい

★ Scrumの導入に失敗するケースの多くは上辺だけやった場合★ 研修では一般的にはこうした方が良いとされるって話は一杯聞いてきた

Page 74: How to eliminate the  waste of software development v0.1

どうするの?★無理だろ?★バックログは何で管理するの?★お客は作業一覧とか見ないだろ?★そんなに簡単に調整できるの?★何時間のミーティングやるつもりなのww

Page 75: How to eliminate the  waste of software development v0.1

スクラムではこれらは問題です。作業を妨げる障害。放置しておけばどこかにムダが発生しています。

Page 76: How to eliminate the  waste of software development v0.1

重視している事★自己組織化★透明性★責任分担★ムダを取り除き続ける

Page 77: How to eliminate the  waste of software development v0.1

最初の一歩★プログラム以外のタスクをやってみる

★メンバーにタスクを任せてみる★お客さんと進捗の見せ方について話してみる

★仕様の決定が遅れている理由をちゃんと相談してみる等

Page 78: How to eliminate the  waste of software development v0.1

ふりかえりチームの問題を考え、みんなで知恵を絞る大事な時間です。明日から何か一つは改善できているはずです。

Page 79: How to eliminate the  waste of software development v0.1

スクラムマスター助けてくれる人がいます。進め方のアドバイスや問題の解決を支援します。外部の妨害からチームを守ります。リーダーと促進役です。

Page 80: How to eliminate the  waste of software development v0.1

スクラムマスター★お客様と開発チームとの間の障害に対処します

★お客様にスクラムのメリットと目標の達成方法を教えます

★チームに仕事のやりがいを伝授★効率向上に貢献します★管理もしないし、権限もない

Page 81: How to eliminate the  waste of software development v0.1

こんな体制

プロダクトオーナー

開発チーム

要件

ソフトウェア

スクラムマスター

支援 支援

Page 82: How to eliminate the  waste of software development v0.1

最後にスクラムは一つのアプローチにしか過ぎません。ただし、メリットはあります。幸いな事に東京には4人もスクラムマスターがいます

Page 83: How to eliminate the  waste of software development v0.1

Q.最後に★前期から改善できた点はどこでしょうか?

★競合他社がスクラムを採用してたら、永和のアピールポイントはどこなのでしょうか?

Page 84: How to eliminate the  waste of software development v0.1

以上です。ご清聴ありがとうございました。もし質問等があれば、懇親会とかで気軽に声を掛けて下さい。