アジャイルカンファレンス tokyo 行ってきました
藤川 康之
アジェンダ
アジャイルカンファレンス tokyoとは
21世紀のソフトウェアデザイン
21世紀型ポートフォリオ管理への変革
アジャイルカンファレンス tokyoとは
ThoughtWorks社、株式会社テクノロジックアート
http://pw.tech-arts.co.jp/act2012/
21世紀のソフトウェアデザインマーティン・ファウラー氏(ThoughtWorks Inc.)
マーティン・ファウラー氏
Wikipediaより
アジャイルソフトウェア開発宣言から10年
当初の意味の希薄化(Semantic Diffusion)
起きてしまった
デリバリーまでに時間がかかりすぎる
意味のないシステムを作り上げる
品質の低いシステムとなったりする
すべてできて当たり前の状況であった
計画駆動型開発(Plan-Driven) ※日本で一般的なウォーターフォール型も この考え方に属する
CMM(Capability Maturity Model) ※能力成熟度モデル
適応的な計画(Adaptive Planning)
予測的な計画(Predictive Planning)
Agile Plan-Driven
人主導(People-first)
プロセス主導(Process-first)
適応的な計画(Adaptive Planning)
予測的な計画(Predictive Planning)
Agile Plan-Driven
人主導(People-first)
プロセス主導(Process-first)
「管理者が無能で要件を固定できなかった」
「顧客がわがままで最後まで要件を決めてくれなかった」
成功のために要件をいかに
安定させるかということに力を注いでいた。
要件の安定に依存するのは健全ではない。
要件が
不安定であるということを認める
作業が進められるように計画を適応させる
適応性外的な刺激や環境の変化に応じて,
それにふさわしいように自分を変えていく性質能力。
徐々にお互いが有効に機能する方向に収束していく
適応的な計画(Adaptive Planning)
予測的な計画(Predictive Planning)
Agile Plan-Driven
人主導(People-first)
プロセス主導(Process-first)
プロセスがはっきりしている→プロセスに従って働く人
プロジェクトのチームに対して
この人はプログラマこの人はテスター
この人はアナリスト など
優秀な人たちがよい関係で仕事をする
そうしなければ仕事は、うまくいかない
チームとして協力できるかを見極める
自分たちでやりやすい環境や プロセスを作る
プロセスありきから、人ありきになる
自分で選択しているというチームメンバーの考えが生まれ
自分で選択しているというチームメンバーの考えが生まれ
もっとプロセスを良くしようとしてプロセスが進化する
適応的な計画(Adaptive Planning)
Agile
人主導(People-first)
21世紀型ポートフォリオ管理への変革David Joyce 氏(ThoughtWorks Inc.)
プロジェクトが始まるときは、最終的な結果を考えて予算などが決められる。
スケジュールなどがちゃんとなっているかを「監視」している。
しかし、「価値」ということは見落としている。
現在地が分からないのであれば、より詳しいデータが必要だ
5.丸一年のプロジェクトを計画できる
詳細な計画を立てれば、今年は必ず成功する
合意された計画なのだから、実行する
こういうことを推奨しているヒーローに振り回され
残業残業ということになってしまう。
1919年のガントチャートと同じ物が今でも使われている
21世紀ということで違う思考でソフトウェア開発をしてもよいのではないか?
「WFでうまくいっているであれば、それでいいじゃないか」という考え方もある。
一昔は、3年後ならというプランニングができた。しかし、今は3ヶ月となっている。
WFでは、今の時代の速さについていけない。
真ん中の部分だけちょっとアジャイルを入れてみようという変化がある。
WF要件定義、設計
WF結合テスト etc
Agile製造、単体テスト
開発フロー
しかし、これではビジネスアジャリティ(俊敏性)
というのは「ない」
すべての開発フローをアジャイルにすること
詳細なビジネスケース&計画から研究、仮説、実験へ
作っているものは、コンスタントに確認していく。
プラン(計画)通り作成されていても
お客さまがその成果物で納得するかどうかは別問題
詳細な実行計画を作って実行を学習はできない。実験をしなければならない。
いきなり予算をボンッともらうわけではなくある小さなことを解決する予算をもらうようにする。
シードファンディングと呼んでいる。
少しずつ芽が出てきたら追加で予算をもらうようにする。
逆に芽が出なかったら別のことに使うということになる。
アジャイルという手法だから出来るやり方
大きなプロジェクトではこれができない