84
地図を捨ててコンパスを頼りに進め 楽天株式会社 藤原大

地図を捨ててコンパスを頼りに進め

Embed Size (px)

DESCRIPTION

Throw away the map and let's go with the help of your compass. Agile Tour Osaka 2012 ( http://bit.ly/Tm3MNc )発表資料です。若手エンジニアとサービス開発を通して考えてきた「なぜ?」。その探求の旅の紹介です。

Citation preview

Page 1: 地図を捨ててコンパスを頼りに進め

地図を捨ててコンパスを頼りに進め 楽天株式会社 藤原大

Page 2: 地図を捨ててコンパスを頼りに進め

@daipresents藤原 大•楽天株式会社 開発ユニット アジャイルグループ マネージャ•プロジェクトファシリテーター、トレーナー•趣味は沖縄離島巡り•実家は箕面市牧落

http://daipresents.com/

Page 3: 地図を捨ててコンパスを頼りに進め

Agile Conference

Agile Conferenceには2010年から参加しています。記事を書いたりFacebookページを作ったりして、ちょっとでも自分が好きになった雰囲気が届けばなぁと。今年書いた記事はこちら => ManasLink - EM ONLINE http://bit.ly/QlZy9N

Page 4: 地図を捨ててコンパスを頼りに進め

集え、日本の活動家たちよ。

Ultimate Agilist Tokyo 11/17 開催!

http://ultimateagilist.doorkeeper.jp/events/1823

Page 5: 地図を捨ててコンパスを頼りに進め

集え、日本の活動家たちよ。

Ultimate Agilist Tokyo 11/17 開催!

http://ultimateagilist.doorkeeper.jp/events/1823

宝探しAgileゲーム - 安井 力 氏アジャイルプログラマの定義は俺たちが決める。そして、最速でそうなってみる - 牛尾 剛 氏アジャイル×テスト開発を考える - 細谷 泰夫 氏TDDと組織文化 - 天野 勝 氏家電商品を開発してみると目からウロコなAgileの本質 - 前川 直也 氏Ruby on Railsによるアジャイル開発事例と注意点 - 川端 光義 氏The Art Of Agile ProjectManager - 市谷 聡啓 氏Can you keep doing that? - 原田 騎郎 氏アジャイル開発における、システムテストの自動化 - 小井土 亨 氏リアルウェア - 濱 勝巳 氏アジャイルに対する見方の変化 - 太田 健一郎 氏これまでの開発から、これからの開発へのチェンジ - 倉貫 義人 氏テストを支える。テストを育てる。 - 井芹 洋輝 氏「ふりかえり」をふりかえってみよう。 - 串田幸江 女史

Page 6: 地図を捨ててコンパスを頼りに進め

http://www.flickr.com/photos/lombre/3052877393/

SIerでした•Javaエンジニア•業務向けWebアプリ•二次受け•一人でドナドナ•ほとんど滝

Page 7: 地図を捨ててコンパスを頼りに進め

上記以外にもサービスはあります。これだけいろいろなサービスがあると開発方法も様々です。

Page 8: 地図を捨ててコンパスを頼りに進め

アジャイル支援歴•リプレイス6ヶ月•リプレイス3ヶ月•若いサービス10ヶ月

私のチームごとサービスを担当するチームに合流し、席を並べて働きます。週1回とかじゃなくて、毎日一緒です。

Page 9: 地図を捨ててコンパスを頼りに進め

登場人物プロデューサー

エンジニア 私

Page 10: 地図を捨ててコンパスを頼りに進め

開発の流れ

•PROがアイデアを練って•ENGが実現する•この回転を支援

Page 11: 地図を捨ててコンパスを頼りに進め

朝礼の風景

はじめは私がファシリテーターとして運営し、徐々に周りに移譲していく形が多いです。

Page 12: 地図を捨ててコンパスを頼りに進め

12

Page 13: 地図を捨ててコンパスを頼りに進め

今日のおはなしl 開発のチェンジl マインドセットのチェンジl 変化から習慣へ

Page 14: 地図を捨ててコンパスを頼りに進め

今日のおはなしl 開発のチェンジl マインドセットのチェンジl 変化から習慣へ

Page 15: 地図を捨ててコンパスを頼りに進め

すぐ見えた壁•なぜかWF•開発スキル低(若者多)•一体感の無さ

Page 16: 地図を捨ててコンパスを頼りに進め

考えなおしたこと

計画と仕様

Page 17: 地図を捨ててコンパスを頼りに進め

問い

仕様書は正しいのか?

photo - http://www.flickr.com/photos/richardvignola/4566774290/

Page 18: 地図を捨ててコンパスを頼りに進め

こういう意見が多数

”仕様がないと作れないから早く決めてほしい”

Page 19: 地図を捨ててコンパスを頼りに進め

一方で

”仕様どおりつくるだけだとつまらない”

もーわがままなんだからぁ

Page 20: 地図を捨ててコンパスを頼りに進め

”ソフトウェア開発とは、ユーザーのニーズやマーケティング上の目標をソフトウェア製品に変換する作業である。”

ソフトウェア開発 - Wikipedia http://bit.ly/A63xPS

Page 21: 地図を捨ててコンパスを頼りに進め

違った使い方されたPublicにメッセージが飛び合う事を想定していたのに、Closedなメッセージ交換に使われていた

Page 22: 地図を捨ててコンパスを頼りに進め

仕様がゴールか?

サービス開発だとこの考え方はリスクがあります。サービス開発だけなんですかね?ソフトウェア開発全般に当てはめてもいい気がします。

photo - http://www.flickr.com/photos/druclimb/480108350/

Page 23: 地図を捨ててコンパスを頼りに進め

今の答え

仕様は仮説でしかない

Page 24: 地図を捨ててコンパスを頼りに進め

詳細を決めすぎない•小さなプロトタイプを作る•どこまでも考え過ぎない•大事なら時間をかける

Page 25: 地図を捨ててコンパスを頼りに進め

25僕も実際に開発をやっていて違いを感じたのですが、こういうビルを建てるような開発じゃない雰囲気です。

photo - http://www.flickr.com/photos/nknh/2447013697/

Page 26: 地図を捨ててコンパスを頼りに進め

26ちょっとずつリリースを繰り替えいしているとこういう街のようなシステムを作っている気分になってきます。この中に赤いビルを建てようとは思わないですよね。そういう統一性は設計時に考えます。

photo - http://www.flickr.com/photos/brucehh/7627194894/

Page 27: 地図を捨ててコンパスを頼りに進め

メアリーさん ”なぜ全部計測しないの?”

社内トレーニングでお招きしたときの話。言われて悔しい思いをしました。

Page 28: 地図を捨ててコンパスを頼りに進め

効果測定の強化•リリース後に勝負が始まる•効果測定で見える化•使われているか?•想定した使われ方か?

Page 29: 地図を捨ててコンパスを頼りに進め

デモ、見える化•デモは途中で止めた•そのかわりにできたら集合•レビューとしてリリース後のKPIを共有

Page 30: 地図を捨ててコンパスを頼りに進め

photo - http://www.flickr.com/photos/maurymccown/1614878016/

再度、今の答え

リリースは出口じゃなく入り口だろう?

参考:AKB48 “GIVE ME FIVE!” http://bit.ly/TEH2sh

Page 31: 地図を捨ててコンパスを頼りに進め

問い計画は

守らなければならないのか?

photo - http://www.flickr.com/photos/richardvignola/4566774290/

Page 32: 地図を捨ててコンパスを頼りに進め

こういう意見が多数

“間に合うようにがんばってて欲しい”

Page 33: 地図を捨ててコンパスを頼りに進め

一方で

•丸投げはがんばれない•開発だけでがんばれない•いつまでもがんばれないただ、年に2~3回がんばらざるをえない時期はありますよね。

Page 34: 地図を捨ててコンパスを頼りに進め

不可能な計画を可能にするのがエンジニアの仕事ではない!

プロゴルファー猿Complete BOX-Vol.1 [DVD]: 頓宮恭子, 高木早苗, 峰あつ子: DVDhttp://amzn.to/R0jxNj

がんばりを続けるとつかれるリスクがあるってことです。参考:「不可能を可能にする男」Wikipedia http://goo.gl/Riu6V

Page 35: 地図を捨ててコンパスを頼りに進め

こういう意見も

“今の見積りは余裕やゆとりがあるように見える”

Page 36: 地図を捨ててコンパスを頼りに進め

見積もりで会話

見積りは正確に測定しないで、「間違ってたら気がついた時にフィードバックする」意識を持ってもらっています。正解か不正解は重要ではなく、はやく気がつくことを重要視しているからです。

Page 37: 地図を捨ててコンパスを頼りに進め

楽天ブックス: アジャイルな見積りと計画づくり - マイク・コーン http://bit.ly/RhGkCO

“見積りは確率だが、コミットメントは確率で

はない”

Page 38: 地図を捨ててコンパスを頼りに進め

今の答え

ちゃんと計画する計画は変更する

Page 39: 地図を捨ててコンパスを頼りに進め

計画l 1~2週間のタイムボックスl 比較的柔軟なリリース日l フェーズをやめる

Page 40: 地図を捨ててコンパスを頼りに進め

photo - http://www.flickr.com/photos/eesti/276022325/

ビジョン、マイルストーンは作る

大体の方向性とそこまでの距離は知っておきたいですよね。そのためのマイルストーンです。

Page 41: 地図を捨ててコンパスを頼りに進め

41

マイルストーン的なカード

Page 42: 地図を捨ててコンパスを頼りに進め

こういう意見も

“今回はサービスの手触りまで考える余裕がなかった”

Page 43: 地図を捨ててコンパスを頼りに進め

DONEの定義は?l 作った、動いたl レビュー終わった、UT終わったl システムテスト終わったl 手触りの良いサービスにしあげた

Page 45: 地図を捨ててコンパスを頼りに進め

今日のおはなしl 開発のチェンジl マインドセットのチェンジl 変化から習慣へ

Page 46: 地図を捨ててコンパスを頼りに進め

考えなおしたこと

成功と品質

Page 47: 地図を捨ててコンパスを頼りに進め

問い

成功とはなんだ?

photo - http://www.flickr.com/photos/richardvignola/4566774290/

Page 48: 地図を捨ててコンパスを頼りに進め

成功とは?•リリースが成功する•バグがない•トラブルがない

Page 49: 地図を捨ててコンパスを頼りに進め

今の成功とは•仕様どおり•ビジネス価値が正しかった•これを”安定”して”継続的に”繰り返すこと

Page 50: 地図を捨ててコンパスを頼りに進め

変更のコスト

時間

デリバリスピード

ユーザの信頼

技術的負債によるコスト肥大

理想のコスト

最悪の選択・なにもしない・リプレイス・お金をかけ続ける

ギャップ

Page 51: 地図を捨ててコンパスを頼りに進め

作らないへ

•大抵作ることができる•いかに必要な物だけ作るか?

Page 52: 地図を捨ててコンパスを頼りに進め

問い

品質とはなんだ?

photo - http://www.flickr.com/photos/richardvignola/4566774290/

Page 53: 地図を捨ててコンパスを頼りに進め

品質とは?•仕様書通り•バグがないこと

Page 54: 地図を捨ててコンパスを頼りに進め

例えば•レガシーシステム

•単体テストなんてない状態

•どう改善するか?

Page 55: 地図を捨ててコンパスを頼りに進め

55

テスト計画書

Page 56: 地図を捨ててコンパスを頼りに進め

アジャイルテストの4象限

単体テストコンポーネントテスト

機能テスト 例として ストーリーテスト プロトタイプ シミュレーション

探索的テストシナリオユーザビリティテストユーザ受け入れテストアルファ / ベータ

パフォーマンス / 負荷テストセキュリティテスト「~性」テスト

自動と手動

自動 ツール

手動

”我々のやり方には合わない”

Page 57: 地図を捨ててコンパスを頼りに進め

自分たち用に整理

単体テスト(UT)

ユーザ受け入れテスト(UAT)

探索的テストユーザビリティテスト

パフォーマンスツールセキュリティツール

自動

自動 ツール

手動

Page 58: 地図を捨ててコンパスを頼りに進め

58

テストのトレードオフシンプルな機能

複雑な機能

メジャーな機能マイナーな機能

超重要

重要

このへんは日々の画面チェックでカバーされてた

このへんは日々の画面チェックでカバーされてた

あきらめ対象

Page 59: 地図を捨ててコンパスを頼りに進め

選択と集中

単体テスト(UT)

ユーザ受け入れテスト(UAT)

探索的テストユーザビリティテスト

パフォーマンスツールセキュリティツール

自動

自動 ツール

手動

注力

時間削減 時間削減

時間削減

Page 60: 地図を捨ててコンパスを頼りに進め

価値のある手作業へ•画面デザインは人の目を使う

•手動で操作して触り心地を確かめる

•「気づき」をFBにつなげる

「こうなっていたらいいのに」もここで洗い出し、受け入れ担当者に仕様変更か無視かの判断をしてもらう。開発者全員で時間をあわせ、せーのでテストしていくと盛り上がる

Page 61: 地図を捨ててコンパスを頼りに進め

ユーザ受け入れテスト(UAT)

•117 ケース•356 クリック•347 チェック

Page 62: 地図を捨ててコンパスを頼りに進め

•30min 環境作成•30min ペアプロレクチャー•2days + リファクタリング

コスト

Page 63: 地図を捨ててコンパスを頼りに進め

生まれた価値•QA前に125バグ•デグレード阻止多数•QAでのバグ率0.2%

Page 64: 地図を捨ててコンパスを頼りに進め

品質とは誰かにとっての価値である

“Quality is value to some person”

スーパーエンジニアへの道 - 技術リ-ダ-シップの人間学ジェラルド・M.ワインバ-グ http://bit.ly/Qf2SUk

by Gerald Weinberg

Page 65: 地図を捨ててコンパスを頼りに進め

今の品質ユーザの価値ビジネスの価値個人の価値

どれが一つだけだと食べていけなくなっちゃう

Page 66: 地図を捨ててコンパスを頼りに進め

今日のおはなしl 開発のチェンジl マインドセットのチェンジl 変化から習慣へ

Page 67: 地図を捨ててコンパスを頼りに進め

価値

原則

プラクティス

クラフトマンシップ?

サービス開発を

アジャイルに

ゴール

マインド

技術力

Page 68: 地図を捨ててコンパスを頼りに進め

1

地図を捨ててコンパスを頼りに進め

photo- http://www.flickr.com/photos/pedrobelleza/6255124245/

リーンスタートアップ 解説より

Page 69: 地図を捨ててコンパスを頼りに進め

地図を捨てる•地図は作るし時間もかける•地図は変更する•正しいを疑う

Page 70: 地図を捨ててコンパスを頼りに進め

コンパスを頼りに•ユーザのフィードバック•問題に俊敏に気がづく•少しだけ、少しづつ

Page 71: 地図を捨ててコンパスを頼りに進め

71

大体、まっすぐ進む

ちょっとぐらいのずれは気にしないで、大体まっすぐに進んでいること。半歩でも前に進んでいることを重視しています。

Page 72: 地図を捨ててコンパスを頼りに進め

ふりかえりを活用•週1回1時間•課題を掘り下げる•リリースの効果も確認

Page 73: 地図を捨ててコンパスを頼りに進め

Velocity

Page 74: 地図を捨ててコンパスを頼りに進め

タスクの統計

Page 75: 地図を捨ててコンパスを頼りに進め

スピードの安定

Page 76: 地図を捨ててコンパスを頼りに進め

初めてアジャイル開発に取り組んだチームが、数カ月間でユーザーストーリーをDoneできた割合

DONE率 .410

半分もDoneできないという気づきを得た。ただ、イチローより高い打率。

Page 77: 地図を捨ててコンパスを頼りに進め

効果はモチベーションに繋がり、次のアクションが明確になる。

20%のKPI向上

Page 78: 地図を捨ててコンパスを頼りに進め

1

Typhoon #14 "Nabi" | Flickr - Photo Sharing! http://bit.ly/x60eXR

地図を捨ててコンパスを頼りに進め

Page 79: 地図を捨ててコンパスを頼りに進め

理想の開発をしよう

Page 80: 地図を捨ててコンパスを頼りに進め

photo - http://www.flickr.com/photos/usfwssoutheast/7644512048/

地図を捨ててコンパスを頼りに進め

Page 81: 地図を捨ててコンパスを頼りに進め

誰かがやってくれると思うな

Page 82: 地図を捨ててコンパスを頼りに進め

photo - http://www.flickr.com/photos/jannem/2079422115/

地図を捨ててコンパスを頼りに進め

Page 83: 地図を捨ててコンパスを頼りに進め

これまでの当たり前を変化させよう

Page 84: 地図を捨ててコンパスを頼りに進め

習慣よ変われ