agile development design by pattern language

37
アジャイル開発の デザイン 〜パタン・ランゲージを用いて〜 2013/05/25 Agile Japan 2013 四国・愛媛サテライト Agile459/カルチャーワークス 懸田 剛 / @kkd

Upload: takeshi-kakeda

Post on 18-Dec-2014

270 views

Category:

Documents


1 download

DESCRIPTION

Agile Japan 2013で実施したワークショップ。時間オーバー... パタン・ランゲージの説明は全くせずに通したWS。

TRANSCRIPT

Page 1: Agile Development Design By Pattern Language

アジャイル開発のデザイン〜パタン・ランゲージを用いて〜

2013/05/25Agile Japan 2013 四国・愛媛サテライト

Agile459/カルチャーワークス懸田 剛 / @kkd

Page 2: Agile Development Design By Pattern Language

アジャイル開発のデザイン?

Page 3: Agile Development Design By Pattern Language

=どうやって現場でアジャイル開発を始めるか

Page 4: Agile Development Design By Pattern Language

いきなり大きな変化を起すのは困難

Page 5: Agile Development Design By Pattern Language

まずは小さな変化から始める

Page 6: Agile Development Design By Pattern Language

どのようにはじめるかの練習

Page 7: Agile Development Design By Pattern Language

状況設定Rubyの特徴を活かした開発を実証することを目的に、県が公募し採択された実証事業プロジェクト。エンドユーザは県内の製造業メーカーで、自社工場内の日常点検をシステム化してコスト削減することが目的であった。開発会社はRubyの特徴を充分に活かした開発ができておらず、またエンドユーザも従来の内製システムに課題を抱えており、両者がRuby、アジャイル型開発、SIerと協働開発にチャレンジしようとしている。実証事業のため、エンドユーザと開発会社間では契約は結ばれていなく、県の予算で開発をまかなうことになっている。 アジャイル型開発について初の試みである。開発メンバーのうち2名がRubyの開発経験がない状態で開始した。 プロジェクト期間は5ヶ月間。当初2ヶ月は同一拠点で開発を行うが、途中から分散拠点で開発することになっている。

Page 8: Agile Development Design By Pattern Language

ユーザ企業

チーム

SIer

人物設定

プロダクトオーナー

初心者利用者

システム部門工場

初心者

経験者

経験者

Page 9: Agile Development Design By Pattern Language

5分状況についての質問気になる状況を質問してください。

可能な所は回答します。

Page 10: Agile Development Design By Pattern Language

未来の成功イメージ

Page 11: Agile Development Design By Pattern Language

(1) リリースの3ヶ月後に、顧客/利用者にどのような言葉をかけてもらいたい?

Page 12: Agile Development Design By Pattern Language

(2) リリース打ち上げでPOのどんなメッセージを聞きたい?

Page 13: Agile Development Design By Pattern Language

(3) リリースが完了したその瞬間どんな想いを抱きたいか?

Page 14: Agile Development Design By Pattern Language

心の中から沸き上がる表現へ~しなければならない

~でないようにする

(自分の意志で)~したい

~のようにしたい

~を達成する(~を達成した結果)~になりたい

Page 15: Agile Development Design By Pattern Language

5分間未来の成功イメージは?

(1) リリース三ヶ月後顧客の言葉

(2) 打ち上げのPOの言葉

(3) リリース直後の自分の感情

具体的な台詞、リアルな言葉で。

成功イメージ

Page 16: Agile Development Design By Pattern Language

未来の成功イメージの実現の障害になりそうなことは?

Page 17: Agile Development Design By Pattern Language

ユーザ企業

チーム

SIer

どこに障害がありそう?

プロダクトオーナー

初心者利用者

システム部門工場

初心者

経験者

経験者

Page 18: Agile Development Design By Pattern Language

5分間未来の実現を妨げる障害は?

顧客の言葉の実現の障害

POの言葉の実現の障害

自分の想いの実現の障害 障害

Page 19: Agile Development Design By Pattern Language

対応策は何か?期待する結果は?

Page 20: Agile Development Design By Pattern Language

対応策のヒント(ここに限りません)日次ミーティング 毎日、時間を決めて短い時間で関係者が顔を合わせる。その結

果、チーム全体が日々の必要な情報を共有できるようになる。  

ペアプログラミングチームの中で知識やコードの共有ができていない場合は、ペアを組んで作業をする。その結果、開発チームの中で業務知識やコードについての知識が共有でき、品質や作業効率も向上できる。  

タスクボードチームのタスク状況を可視化するために、タスクカードを用意し、状態を管理するタスクボードにはりつける。その結果、だれがどのタスクを担当しているか、どこかに異常が起きていないかなどをチーム

全員が把握できるようになる。  

ユニットテストの自働化

動作しているソースコードに手を入れることに不安がある場合は、ユニットテストを自動化する。その結果、修正をしても、ユニットテストコードを実行して結果を見ることで、元のコードが壊れていないかを確認することができ、万が一不具合があった場合でもすぐにわか

る。  

Page 21: Agile Development Design By Pattern Language

5分間障害への対応策

自分達できそうなこと

すぐに開始できそうなこと

障害をまとめて解決できそうなこと

対応策

Page 22: Agile Development Design By Pattern Language

実施する上での懸念点は?

問題の発見が遅れてしまう

毎朝ミーティング

朝に弱いメンバーがいる

大丈夫?

Page 23: Agile Development Design By Pattern Language

8分間実施の懸念点と対策再検討

実施する上で考慮しないとまずい点

本当にできそう?

懸念点を考慮した対応策を再検討する

懸念点

対応策再検討

Page 24: Agile Development Design By Pattern Language

5分間対応策に名前を付けよう

「一言でわかる」よい名前を!!

必ず名詞で。難しければ体言止め。

「~する」は不可

対応策名前

Page 25: Agile Development Design By Pattern Language

ストーリーを描く

これまでの結果を元に未来からみたストーリーを描く

説得力はあるか?実現したいと思え

るか?

Page 26: Agile Development Design By Pattern Language

大きな問題がプロジェクト終盤に起きることなく無事にプロジェクトを完了させたかった。問題発見の遅れが発生しないように毎朝のスタンドアップミーティングを開いてメンバーが抱えている問題を安心の場を作り夜も眠れない不安も気兼ねなく開示できるようにした。メンバー全員がちょっとした事でも気軽に全員に相談できるようになり問題を一人で抱えることがなくなった。

Page 27: Agile Development Design By Pattern Language

納品三ヶ月後にお客様に「あのサービスの利用者にとても好評です。ありがとう。」と感謝の言葉をかけてもらいたかった。納品後に利用者の期待とのギャップが生まれないように、早期からイテレーションレビューに加えて真の利用者レビューを定期的に行いフィードバックを受けるようにした。利用者の生の声を聞けるようになり、思い込みで開発することがなくなった。利用者から直接意見を貰えると開発にやりがいが出てきた。

Page 28: Agile Development Design By Pattern Language

5分間ストーリーを書こう!

[望む未来]を実現したかった。[妨げとなる問題]に対応すべく[対策名]を行うことで[期待する結果]を実現できた。

全員で考えよう「過去形」で書く単に言葉を繋げて文章

を書くだけでなくシーンを想像して表現してみる

Page 29: Agile Development Design By Pattern Language

2分×全チーム各チーム発表ストーリーを読み上げる

各対応策の補足説明をする

気づいた点があれば

Page 30: Agile Development Design By Pattern Language

この後の流れは?

定期的に検査・更新する

幅と深さを広げる

状況の変化に合わせ変えていく

チーム内から外へ技術や製品へ

ストーリーを実現する

少しづつ段階的に実施

未来をみつめ続ける

実現したい未来を忘れない

Page 31: Agile Development Design By Pattern Language

皆さんの現場で...自分の望む未来を語っていますか?

起こりそうな障害を語っていますか?

現実に即した対応策をとっていますか?

全員で望む未来をみつめながら行動していますか?

Page 32: Agile Development Design By Pattern Language

状況望む未来

障害期待結果

解決

懸念新たな懸念

Page 34: Agile Development Design By Pattern Language

まとめ

Page 35: Agile Development Design By Pattern Language

今日のおさらい望ましい未来を描く

未来を妨げる障害を見出す

障害への対応策を考える

懸念点も含めて

対応を検討

対応策に名前を付ける

これまでをストーリーとして書く

状況を把握する

Page 36: Agile Development Design By Pattern Language

未来を自分達の言葉に

Page 37: Agile Development Design By Pattern Language

現実に未来を引寄せる