Download - Agile Development Design By Pattern Language
![Page 1: Agile Development Design By Pattern Language](https://reader033.vdocuments.mx/reader033/viewer/2022042713/5492a408b479595b4d8b466d/html5/thumbnails/1.jpg)
アジャイル開発のデザイン〜パタン・ランゲージを用いて〜
2013/05/25Agile Japan 2013 四国・愛媛サテライト
Agile459/カルチャーワークス懸田 剛 / @kkd
![Page 2: Agile Development Design By Pattern Language](https://reader033.vdocuments.mx/reader033/viewer/2022042713/5492a408b479595b4d8b466d/html5/thumbnails/2.jpg)
アジャイル開発のデザイン?
![Page 3: Agile Development Design By Pattern Language](https://reader033.vdocuments.mx/reader033/viewer/2022042713/5492a408b479595b4d8b466d/html5/thumbnails/3.jpg)
=どうやって現場でアジャイル開発を始めるか
![Page 4: Agile Development Design By Pattern Language](https://reader033.vdocuments.mx/reader033/viewer/2022042713/5492a408b479595b4d8b466d/html5/thumbnails/4.jpg)
いきなり大きな変化を起すのは困難
![Page 5: Agile Development Design By Pattern Language](https://reader033.vdocuments.mx/reader033/viewer/2022042713/5492a408b479595b4d8b466d/html5/thumbnails/5.jpg)
まずは小さな変化から始める
![Page 6: Agile Development Design By Pattern Language](https://reader033.vdocuments.mx/reader033/viewer/2022042713/5492a408b479595b4d8b466d/html5/thumbnails/6.jpg)
どのようにはじめるかの練習
![Page 7: Agile Development Design By Pattern Language](https://reader033.vdocuments.mx/reader033/viewer/2022042713/5492a408b479595b4d8b466d/html5/thumbnails/7.jpg)
状況設定Rubyの特徴を活かした開発を実証することを目的に、県が公募し採択された実証事業プロジェクト。エンドユーザは県内の製造業メーカーで、自社工場内の日常点検をシステム化してコスト削減することが目的であった。開発会社はRubyの特徴を充分に活かした開発ができておらず、またエンドユーザも従来の内製システムに課題を抱えており、両者がRuby、アジャイル型開発、SIerと協働開発にチャレンジしようとしている。実証事業のため、エンドユーザと開発会社間では契約は結ばれていなく、県の予算で開発をまかなうことになっている。 アジャイル型開発について初の試みである。開発メンバーのうち2名がRubyの開発経験がない状態で開始した。 プロジェクト期間は5ヶ月間。当初2ヶ月は同一拠点で開発を行うが、途中から分散拠点で開発することになっている。
![Page 8: Agile Development Design By Pattern Language](https://reader033.vdocuments.mx/reader033/viewer/2022042713/5492a408b479595b4d8b466d/html5/thumbnails/8.jpg)
ユーザ企業
チーム
SIer
人物設定
プロダクトオーナー
初心者利用者
システム部門工場
初心者
経験者
経験者
![Page 9: Agile Development Design By Pattern Language](https://reader033.vdocuments.mx/reader033/viewer/2022042713/5492a408b479595b4d8b466d/html5/thumbnails/9.jpg)
5分状況についての質問気になる状況を質問してください。
可能な所は回答します。
![Page 10: Agile Development Design By Pattern Language](https://reader033.vdocuments.mx/reader033/viewer/2022042713/5492a408b479595b4d8b466d/html5/thumbnails/10.jpg)
未来の成功イメージ
![Page 11: Agile Development Design By Pattern Language](https://reader033.vdocuments.mx/reader033/viewer/2022042713/5492a408b479595b4d8b466d/html5/thumbnails/11.jpg)
(1) リリースの3ヶ月後に、顧客/利用者にどのような言葉をかけてもらいたい?
![Page 12: Agile Development Design By Pattern Language](https://reader033.vdocuments.mx/reader033/viewer/2022042713/5492a408b479595b4d8b466d/html5/thumbnails/12.jpg)
(2) リリース打ち上げでPOのどんなメッセージを聞きたい?
![Page 13: Agile Development Design By Pattern Language](https://reader033.vdocuments.mx/reader033/viewer/2022042713/5492a408b479595b4d8b466d/html5/thumbnails/13.jpg)
(3) リリースが完了したその瞬間どんな想いを抱きたいか?
![Page 14: Agile Development Design By Pattern Language](https://reader033.vdocuments.mx/reader033/viewer/2022042713/5492a408b479595b4d8b466d/html5/thumbnails/14.jpg)
心の中から沸き上がる表現へ~しなければならない
~でないようにする
(自分の意志で)~したい
~のようにしたい
~を達成する(~を達成した結果)~になりたい
![Page 15: Agile Development Design By Pattern Language](https://reader033.vdocuments.mx/reader033/viewer/2022042713/5492a408b479595b4d8b466d/html5/thumbnails/15.jpg)
5分間未来の成功イメージは?
(1) リリース三ヶ月後顧客の言葉
(2) 打ち上げのPOの言葉
(3) リリース直後の自分の感情
具体的な台詞、リアルな言葉で。
成功イメージ
![Page 16: Agile Development Design By Pattern Language](https://reader033.vdocuments.mx/reader033/viewer/2022042713/5492a408b479595b4d8b466d/html5/thumbnails/16.jpg)
未来の成功イメージの実現の障害になりそうなことは?
![Page 17: Agile Development Design By Pattern Language](https://reader033.vdocuments.mx/reader033/viewer/2022042713/5492a408b479595b4d8b466d/html5/thumbnails/17.jpg)
ユーザ企業
チーム
SIer
どこに障害がありそう?
プロダクトオーナー
初心者利用者
システム部門工場
初心者
経験者
経験者
![Page 18: Agile Development Design By Pattern Language](https://reader033.vdocuments.mx/reader033/viewer/2022042713/5492a408b479595b4d8b466d/html5/thumbnails/18.jpg)
5分間未来の実現を妨げる障害は?
顧客の言葉の実現の障害
POの言葉の実現の障害
自分の想いの実現の障害 障害
![Page 19: Agile Development Design By Pattern Language](https://reader033.vdocuments.mx/reader033/viewer/2022042713/5492a408b479595b4d8b466d/html5/thumbnails/19.jpg)
対応策は何か?期待する結果は?
![Page 20: Agile Development Design By Pattern Language](https://reader033.vdocuments.mx/reader033/viewer/2022042713/5492a408b479595b4d8b466d/html5/thumbnails/20.jpg)
対応策のヒント(ここに限りません)日次ミーティング 毎日、時間を決めて短い時間で関係者が顔を合わせる。その結
果、チーム全体が日々の必要な情報を共有できるようになる。
ペアプログラミングチームの中で知識やコードの共有ができていない場合は、ペアを組んで作業をする。その結果、開発チームの中で業務知識やコードについての知識が共有でき、品質や作業効率も向上できる。
タスクボードチームのタスク状況を可視化するために、タスクカードを用意し、状態を管理するタスクボードにはりつける。その結果、だれがどのタスクを担当しているか、どこかに異常が起きていないかなどをチーム
全員が把握できるようになる。
ユニットテストの自働化
動作しているソースコードに手を入れることに不安がある場合は、ユニットテストを自動化する。その結果、修正をしても、ユニットテストコードを実行して結果を見ることで、元のコードが壊れていないかを確認することができ、万が一不具合があった場合でもすぐにわか
る。
![Page 21: Agile Development Design By Pattern Language](https://reader033.vdocuments.mx/reader033/viewer/2022042713/5492a408b479595b4d8b466d/html5/thumbnails/21.jpg)
5分間障害への対応策
自分達できそうなこと
すぐに開始できそうなこと
障害をまとめて解決できそうなこと
対応策
![Page 22: Agile Development Design By Pattern Language](https://reader033.vdocuments.mx/reader033/viewer/2022042713/5492a408b479595b4d8b466d/html5/thumbnails/22.jpg)
実施する上での懸念点は?
問題の発見が遅れてしまう
毎朝ミーティング
朝に弱いメンバーがいる
大丈夫?
![Page 23: Agile Development Design By Pattern Language](https://reader033.vdocuments.mx/reader033/viewer/2022042713/5492a408b479595b4d8b466d/html5/thumbnails/23.jpg)
8分間実施の懸念点と対策再検討
実施する上で考慮しないとまずい点
本当にできそう?
懸念点を考慮した対応策を再検討する
懸念点
対応策再検討
![Page 24: Agile Development Design By Pattern Language](https://reader033.vdocuments.mx/reader033/viewer/2022042713/5492a408b479595b4d8b466d/html5/thumbnails/24.jpg)
5分間対応策に名前を付けよう
「一言でわかる」よい名前を!!
必ず名詞で。難しければ体言止め。
「~する」は不可
対応策名前
![Page 25: Agile Development Design By Pattern Language](https://reader033.vdocuments.mx/reader033/viewer/2022042713/5492a408b479595b4d8b466d/html5/thumbnails/25.jpg)
ストーリーを描く
これまでの結果を元に未来からみたストーリーを描く
説得力はあるか?実現したいと思え
るか?
![Page 26: Agile Development Design By Pattern Language](https://reader033.vdocuments.mx/reader033/viewer/2022042713/5492a408b479595b4d8b466d/html5/thumbnails/26.jpg)
大きな問題がプロジェクト終盤に起きることなく無事にプロジェクトを完了させたかった。問題発見の遅れが発生しないように毎朝のスタンドアップミーティングを開いてメンバーが抱えている問題を安心の場を作り夜も眠れない不安も気兼ねなく開示できるようにした。メンバー全員がちょっとした事でも気軽に全員に相談できるようになり問題を一人で抱えることがなくなった。
![Page 27: Agile Development Design By Pattern Language](https://reader033.vdocuments.mx/reader033/viewer/2022042713/5492a408b479595b4d8b466d/html5/thumbnails/27.jpg)
納品三ヶ月後にお客様に「あのサービスの利用者にとても好評です。ありがとう。」と感謝の言葉をかけてもらいたかった。納品後に利用者の期待とのギャップが生まれないように、早期からイテレーションレビューに加えて真の利用者レビューを定期的に行いフィードバックを受けるようにした。利用者の生の声を聞けるようになり、思い込みで開発することがなくなった。利用者から直接意見を貰えると開発にやりがいが出てきた。
![Page 28: Agile Development Design By Pattern Language](https://reader033.vdocuments.mx/reader033/viewer/2022042713/5492a408b479595b4d8b466d/html5/thumbnails/28.jpg)
5分間ストーリーを書こう!
[望む未来]を実現したかった。[妨げとなる問題]に対応すべく[対策名]を行うことで[期待する結果]を実現できた。
全員で考えよう「過去形」で書く単に言葉を繋げて文章
を書くだけでなくシーンを想像して表現してみる
![Page 29: Agile Development Design By Pattern Language](https://reader033.vdocuments.mx/reader033/viewer/2022042713/5492a408b479595b4d8b466d/html5/thumbnails/29.jpg)
2分×全チーム各チーム発表ストーリーを読み上げる
各対応策の補足説明をする
気づいた点があれば
![Page 30: Agile Development Design By Pattern Language](https://reader033.vdocuments.mx/reader033/viewer/2022042713/5492a408b479595b4d8b466d/html5/thumbnails/30.jpg)
この後の流れは?
定期的に検査・更新する
幅と深さを広げる
状況の変化に合わせ変えていく
チーム内から外へ技術や製品へ
ストーリーを実現する
少しづつ段階的に実施
未来をみつめ続ける
実現したい未来を忘れない
![Page 31: Agile Development Design By Pattern Language](https://reader033.vdocuments.mx/reader033/viewer/2022042713/5492a408b479595b4d8b466d/html5/thumbnails/31.jpg)
皆さんの現場で...自分の望む未来を語っていますか?
起こりそうな障害を語っていますか?
現実に即した対応策をとっていますか?
全員で望む未来をみつめながら行動していますか?
![Page 32: Agile Development Design By Pattern Language](https://reader033.vdocuments.mx/reader033/viewer/2022042713/5492a408b479595b4d8b466d/html5/thumbnails/32.jpg)
状況望む未来
障害期待結果
解決
懸念新たな懸念
![Page 33: Agile Development Design By Pattern Language](https://reader033.vdocuments.mx/reader033/viewer/2022042713/5492a408b479595b4d8b466d/html5/thumbnails/33.jpg)
http://sec.ipa.go.jp/std/ent02-c.html
![Page 34: Agile Development Design By Pattern Language](https://reader033.vdocuments.mx/reader033/viewer/2022042713/5492a408b479595b4d8b466d/html5/thumbnails/34.jpg)
まとめ
![Page 35: Agile Development Design By Pattern Language](https://reader033.vdocuments.mx/reader033/viewer/2022042713/5492a408b479595b4d8b466d/html5/thumbnails/35.jpg)
今日のおさらい望ましい未来を描く
未来を妨げる障害を見出す
障害への対応策を考える
懸念点も含めて
対応を検討
対応策に名前を付ける
これまでをストーリーとして書く
状況を把握する
![Page 36: Agile Development Design By Pattern Language](https://reader033.vdocuments.mx/reader033/viewer/2022042713/5492a408b479595b4d8b466d/html5/thumbnails/36.jpg)
未来を自分達の言葉に
![Page 37: Agile Development Design By Pattern Language](https://reader033.vdocuments.mx/reader033/viewer/2022042713/5492a408b479595b4d8b466d/html5/thumbnails/37.jpg)
現実に未来を引寄せる