step by step agile
TRANSCRIPT
STEP BY STEP AGILE
RICOH IT SOLUTIONS前鼻毅 @sandinist
Saturday, July 2, 2011
自己紹介
前鼻毅 @sandinist
「俺がAgileだ!」を目指すと#aj11でアジャイル宣言
札幌生まれの札幌育ち(幼年期は関東)
文系大学卒
スープカレー好き
Saturday, July 2, 2011
Saturday, July 2, 2011
Saturday, July 2, 2011
WORK
基幹系業務システム(MS系) 6年
Ruby on Rails 1年弱
iOS開発 1年ちょっと
Saturday, July 2, 2011
Saturday, July 2, 2011
Saturday, July 2, 2011
AGILEyou know?
Saturday, July 2, 2011
http://dictionary.goo.ne.jp/leaf/ej3/1490/m0u/
AGILE
Saturday, July 2, 2011
http://dictionary.goo.ne.jp/leaf/ej3/1490/m0u/
AGILE
Saturday, July 2, 2011
http://dictionary.goo.ne.jp/leaf/ej3/1490/m0u/
AGILE
Saturday, July 2, 2011
http://dictionary.goo.ne.jp/leaf/ej3/1490/m0u/
AGILE
Saturday, July 2, 2011
Manifesto for Agile Software Development
アジャイルソフトウェア開発宣言
Saturday, July 2, 2011
2001年に当時、軽量ソフトウェア開発手法と呼ばれていた分野において名声のある17人がアメリカ合衆国のユタ州のスノーバードという
スキーリゾートに会し、彼らがそれぞれ別個に提唱していた開発手法の重要な部分を統合することについて議論した。
Manifesto for Agile Software Development
アジャイルソフトウェア開発宣言
Saturday, July 2, 2011
http://agilemanifesto.org/iso/ja/
Saturday, July 2, 2011
http://agilemanifesto.org/iso/ja/
Saturday, July 2, 2011
http://agilemanifesto.org/iso/ja/
TDDXP
Crystalusecase
PragmaticProgrammer
PragmaticProgrammer
CleanCodeAgileSoftware~
ScrumWiki
RefactoringEAAP
XP
XP
TDDRubyScripting~
Saturday, July 2, 2011
アジャイル宣言の背後にある原則
私たちは以下の原則に従う:顧客満足を最優先し、価値のあるソフトウェアを早く継続的に提供します。
要求の変更はたとえ開発の後期であっても歓迎します。変化を味方につけることによって、お客様の競争力を引き上げます。
動くソフトウェアを、2-3週間から2-3ヶ月というできるだけ短い時間間隔でリリースします。
ビジネス側の人と開発者は、プロジェクトを通して日々一緒に働かなければなりません。
意欲に満ちた人々を集めてプロジェクトを構成します。環境と支援を与え仕事が無事終わるまで彼らを信頼します。
情報を伝えるもっとも効率的で効果的な方法はフェイス・トゥ・フェイスで話をすることです。
http://agilemanifesto.org/iso/ja/Saturday, July 2, 2011
アジャイル宣言の背後にある原則
動くソフトウェアこそが進捗の最も重要な尺度です。
アジャイル・プロセスは持続可能な開発を促進します。
一定のペースを継続的に維持できるようにしなければなりません。
技術的卓越性と優れた設計に対する
不断の注意が機敏さを高めます。
シンプルさ(ムダなく作れる量を最大限にすること)が本質です。
最良のアーキテクチャ・要求・設計は、
http://agilemanifesto.org/iso/ja/Saturday, July 2, 2011
Agile Manifesto10th Anniversary
Reunionat Agile 2011
Saturday, July 2, 2011
http://manifesto.agilealliance.org/Saturday, July 2, 2011
プロセス・プラクティス
eXtreaming Programming
反復、回顧、テスト駆動、ペアプロ、リファクタ、共同所有、CI、最適ペース、YAGNI、ストーリー、リリース計画、受入テスト、短期リリース
Scrum
スプリント、スプリント計画・レビュー、デイリースクラム、スクラムマスタ、プロダウトオーナ、スプリント・プロダクトバックログ
Lean
無駄をなくす、品質を作り込む、知識を作り込む、決定を遅らせる、早く提供す
Saturday, July 2, 2011
形容詞。状態、度合い(Degree)
計画するのではなく適応する
「人」を尊重
AGILE
Saturday, July 2, 2011
WHY?
AGILE
Saturday, July 2, 2011
既知の問題
ウォーターフォール
決定論的アプローチ
検証・リリースは最後に
Saturday, July 2, 2011
既知の問題
プロジェクトの成功率
2003年 26.7% 日経コンピュータ
2008年 31.1% 日経コンピュータ
Saturday, July 2, 2011
WORK
基幹系業務システム(MS系) 6年
Ruby on Rails 1年弱
iOS開発 1年ちょっと
Saturday, July 2, 2011
既知の問題
絵に書いたようなウォーターフォール
変更・隠れた要求に振り回されるプロジェクト
大きな保守コスト、やればやるほどしんどくなる
レガシーな負の遺産達
Saturday, July 2, 2011
どげんかせんといかん
Saturday, July 2, 2011
@sandinist meets Agile.
Saturday, July 2, 2011
the Gate.
Saturday, July 2, 2011
Saturday, July 2, 2011
Saturday, July 2, 2011
憧れと実践 . -―- . やったッ!! さすがディオ! / ヽ // ', おれたちにできない事を | { _____ | 平然とやってのけるッ! (⌒ヽ7´ ``ヒニ¨ヽ ヽ、..二二二二二二二. -r‐''′ そこにシビれる! /´ 〉'">、、,,.ィ二¨' {. ヽ _ _ あこがれるゥ! `r、| ゙._(9,)Y´_(9_l′ ) ( , -'′ `¨¨´‾`ヽ、 {(,| `'''7、,. 、 ⌒ |/ニY { \ ヾ| ^'^ ′-、 ,ノr')リ ,ゝ、ー`――-'- ∠,_ ノ | 「匸匸匚| '"|ィ'( (,ノ,r'゙へ.‾‾,二ニ、゙}了 , ヘー‐- 、 l | /^''⌒| | | ,ゝ )、,>(_9,`!i!}i!ィ_9,) |人 -‐ノ .ヘー‐-ィ ヽ !‐}__,..ノ || /-‐ヽ| -イ,__,.>‐ ハ } ''"//ヽー、 ノヽ∧ `ー一'´ / |′ 丿! , -===- 、 }くー- ..._ //^\ ヾ-、 :| ハ ‾ / ノ |. { {ハ. V'二'二ソ ノ| | `ヽ,ノ ヽ,_ ヽノヽ_)ノ:l 'ーー<. / |. ヽヽヽ._ `二¨´ /ノ ノ/ <^_,.イ `r‐'゙ :::ヽ \ `丶、 |、 \\'ー--‐''"//\___,/| ! ::::::l、 \ \| \ \ヽ / ノ
Saturday, July 2, 2011
オブジェクト指向にどっぷり
eXtreaming Programmingに憧れる
役割は中~大規模な案件のPM、開発メインはパートナー
VB.net, C#
憧れと実践
Saturday, July 2, 2011
Hiki
ふりかえり(プロジェクトの節目)
バージョン管理(subversion)
BTS(影舞)
自動ビルド(CC.Net)
フレームワーク作成 (O-RMap, CRUD自動生成, CoC指向)
できることから
Saturday, July 2, 2011
テスト駆動
反復・インクリメンタル開発
適応型
顧客の参加
フレームワークの展開
できなかったこと
Saturday, July 2, 2011
ある意味 挫折
Saturday, July 2, 2011
AGILE SOUL WAS SLEEPING A FEW
YEARS..
Saturday, July 2, 2011
Saturday, July 2, 2011
再出発
2名から
Unix/Linuxの文化、Webの洗礼
Ruby, Railsをお仕事で
札幌Tを立ち上げ
Saturday, July 2, 2011
Hikiに記録
バージョン管理(git)
計画・ふりかえり(週単位)
はじめたこと
Saturday, July 2, 2011
仮説:WIKIが育つところはAGILEになれる
~角谷信太郎http://gihyo.jp/dev/serial/01/agile/000402
Saturday, July 2, 2011
WikiとAgile(XP)の素敵な関係
パターンランゲージの実践という
同じ概念から生まれた兄弟である
その情報を読みたい当事者であること(ユーザ参加型の設計),ページを誰でも編集できること(コードの共同所有),小さく始めて大きく育てていく過程でサイトの構造が立ち現れること(進化的設計),よいWikiページの名前が重要であること(意図を表現するコード)
- 江渡浩一郎
http://gihyo.jp/dev/serial/01/agile/000402
Saturday, July 2, 2011
Saturday, July 2, 2011
外部作成のiOSアプリの内製化からスタート
バージョンアップ、機能追加を予定
テーマはチームメイキング
N=3 に増員
全員未経験者、1人RoRの残作業中
iOS開発へ
Saturday, July 2, 2011
暗黒期
既存のスパゲチーを解析
コードを読む、書籍を読む、学習
丸1ヶ月経って進捗に愕然とするレベル
技術的卓越性を持つメンター必要
Saturday, July 2, 2011
成長期へ
メンターを奇跡的に確保、N=4
メンバーもめきめきと上達
プラクティス導入
1週間のイテレーション(成長曲線、リリースなし)
Pivotal Tracker 導入
Saturday, July 2, 2011
Saturday, July 2, 2011
Saturday, July 2, 2011
Saturday, July 2, 2011
Saturday, July 2, 2011
プラクティスを導入1
ストーリーポイント(あなたの一人日は私と違う)
イテレーション計画
プランニングポーカー
バーンダウンチャート
ベロシティ
バックログ、アイスボックス
Saturday, July 2, 2011
朝会(スタンドアップより少し深く、全体で共有する時間)
コーディング規約
コードレビュー
ユニットテスト(モデル部分)
ゆるいペアプロ(日でペア交代、数時間/日)
LT (基本毎週で交代制、現在24回)
プラクティスを導入2
Saturday, July 2, 2011
顧客との関係
IRCで密な対話
月一くらいでフェイス・トゥ・フェイス
Pivotal Trackerにも参加(BTSのストーリー登録)
自社製品の活用(ドッグフーディング)
節目で報告会、提案会
Saturday, July 2, 2011
Saturday, July 2, 2011
一定の成功さらなる挑戦
Saturday, July 2, 2011
短期間での新サービス立ち上げ
企画・PM・サーバーT・スマホTがガッチリ連携
ひと月で基本動作、ふた月で内部評価へ
継続して素早いリリース
自己組織化チーム (密室って言われたw)
(震災で延期など…)
Saturday, July 2, 2011
第2次成長期N=5、テーマは「楽をする」、「一日一コミット」
イテレーションを2wに変更
ふりかえりをKPTHに(Happy? -しあわせになるためには)
カフェタイム導入(3時のおやつ)
ペアプロの強化(イテレーション間固定)
メモリチェッカーズ
Saturday, July 2, 2011
チームとしての立場を確立
Saturday, July 2, 2011
安定期へ社内勉強会を開始(チーム外へも価値を)
ポモドーロ導入(pom/story or iteで話せるように)
20%ルール発動
CI環境の構築(Jenkins+xcodebuild+OCUnit,OCMock)
テーマ追加:技術の軸を増やす(LT, 20%中心に)
(Web, Ruby, Rails, jQuery, jQueryMobile, node.js, MacApp, iPad)
Saturday, July 2, 2011
Saturday, July 2, 2011
もちろん課題も
Saturday, July 2, 2011
課題・残念なところ
ユニットテストの再構築が必要(遅い、状態依存で形骸化)
コードレビューが少なくなった
引継ぎの無駄が多い(not lean)
レディ・レディまでの仕様待ち、チームの速度差
ストーリーがタスク化
Saturday, July 2, 2011
Saturday, July 2, 2011
AGILE
Saturday, July 2, 2011
形容詞。状態、度合い(Degree)
計画するのではなく適応する
「人」を尊重
AGILE
Saturday, July 2, 2011
AGILE?
Saturday, July 2, 2011
アジャイル方法論の押しつけは、アジャイル方法論の根底にある価値、原則とコンフリクトするのである。
アジャイルではないものに「アジャイル」という名前がつ
くことを防ぐことはできない――厳格なアジャイルを取り締まる「アジャイル警察」はいないのだ。
我々にできることは、アジャイルが本当に意味することを説明できるよう、日々心がけることである。 「説得」ではなく「説明」しよう。
アジャイルの押し付け
http://capsctrl.que.jp/kdmsnr/wiki/bliki/?AgileImposition
~ Martin Fowler
Saturday, July 2, 2011
http://www.objectclub.jp/technicaldoc/xp/agile_misunderstanding#q6
Saturday, July 2, 2011
Punk is attitude, not style.
"パンクってのはファッションや音楽じゃなくて姿勢なんだ"
- Joe Strummer
Saturday, July 2, 2011
Agile is attitude, not style.
"アジャイルってのは流行や、なるものじゃなくて改善し続ける姿勢なんだ"
- @sandinist
Saturday, July 2, 2011