toolbox of agile software development
DESCRIPTION
Lightning Talks at XP Festival 2014TRANSCRIPT
アジャイルソフトウェア 開発の道具箱
(株) 永和システムマネジメント アジャイル事業部
Ruby x Agile グループ 伊藤 浩一 (@koic)
2014.09.06 (Sat)早稲田大学理工学部キャンパス
XP祭り 2014 ライトニングトークス
永和システムマネジメント 勤続10周年記念講演
大事なことは 最初に
ご清聴 ありがとうございました
受託開発での明確なリーダー
Q. あなたにとって アジャイルとはなんですか?
2014年某月某日お客様からの質問
自分たちのやり方を 自分たちで決めて作っていける(株)永和システムマネジメント
アジャイル事業部 事業部長 木下 史彦 氏
俺 (たち) のやり方と 俺たちの道具をご紹介
俺たちの道具
などなど
!開発環境の構築 レビュー マージ
デプロイ & デベロッパー テスト
カスタマー テスト
本番デプロイ リリースモニタリング
ミーティング!
プログラミング
俺 (たち) のやり方
!開発環境の構築 レビュー マージ
デプロイ & デベロッパー テスト
カスタマー テスト
本番デプロイ リリースモニタリング
ミーティング!
プログラミング
マッピング (だいたい)
!開発環境の構築 レビュー マージ
デプロイ & デベロッパー テスト
カスタマー テスト
本番デプロイ リリースモニタリング
ミーティング!
プログラミング
今回のお話しするコース
Goal
Start
10年の大きな変化
•仮想化技術 •ソーシャルコーディング •クラウド
やり方と 道具のについて ひとめぐり
!開発環境の構築 レビュー マージ
デプロイ & デベロッパー テスト
カスタマー テスト
本番デプロイ リリースモニタリング
ミーティング!
プログラミング
スタートStart
立ち上がりにも使える道具
10年前
• プロビジョニングツールによる手順化
• ゲストOSへのインスコ
現在1.共有 2.実行1.共有 2.実行
• ドキュメントや独自スクリプトによる手順化
• ホストOSへのインスコ
カジュアルに壊せる時代> vagrant destroy > vagrant up
悲しみの連鎖を断ち切る
• ORA-XXXXX: 無効な○○です
• 仮想化 (Vagrant) と Provisioning (Ansible)
• 偉大な先人によるバッドノウハウのコード化
https://twitter.com/kenchan/status/425613696094593024
環境破棄は善http://ja.wikipedia.org/wiki/%E3%83%90%E3%83%99%E3%83%AB%E3%81%AE%E5%A1%94#mediaviewer/File:Pieter_Bruegel_the_Elder_-_The_Tower_of_Babel_(Vienna)_-_Google_Art_Project_-_edited.jpg
!開発環境の構築 レビュー マージ
デプロイ & デベロッパー テスト
カスタマー テスト
本番デプロイ リリースモニタリング
ミーティング!
プログラミング
まずはミーティングStart
日々の道具
ミーティング全員参加のすすめ• 期待する振る舞いの全員理解により、後の Pull Request のレビューにおいて、仕様と実装のチグハグがないかの観点を含められる
• 打ち合わせにできるだけ全員同席をして、伝言ゲームや知識の偏りを減らしたり、要求に対する早い段階での提案を気づいたメンバーが早い段階でフィードバックできる
• お客様に覚えて頂いて、人対人の信頼関係を作る
• 明確なフロントはできるだけ作らない
見積りと設計• 見積りと設計はだいたいイコール
• Done の定義
• コードを読めなければ書けない、書けなければ見積もれない (プログラミングの読み書きそろばん)
• “コードにしたものとしなかったことがプログラミング” by @kakutani (Developer Summit 2012)
• どう実装するかを議論したのちポイントを見積もる
!開発環境の構築 レビュー マージ
デプロイ & デベロッパー テスト
カスタマー テスト
本番デプロイ リリースモニタリング
ミーティング!
プログラミング
プログラミング~レビュー
Goal
Start
便利なハイパーリンク
thx @ffu_
Pull Request を出したら URL を Pivotal Tracker の Activity に貼っておくとストーリーからGitHub での実装状況を辿ることができて、たいへん便利。おすすめ。
!開発環境の構築 レビュー マージ
デプロイ & デベロッパー テスト
カスタマー テスト
本番デプロイ リリースモニタリング
ミーティング!
プログラミング
レビュー~マージ
Goal
Start
Pull Requestのマージ
• PR は master に入る前の最後の機会 • master に入った後のコード読んでいますか?
• “永和のmasterには変なコードがない” by @akiinyo • https://speakerdeck.com/akiinyo/puroguraminguwei-jing-yan-nantebu-kunai-ritanzu#15
• LGTM画像にするhttps://f.cloud.github.com/assets/1606673/2307945/6ef72b40-a2b5-11e3-9708-9a7e6f7486a8.png
‘‘コードの一行、 血の一滴’’
レビューの心得
• だいたい 内野の LGTM :star: 2つでマージ • 不安が少なければ1つ、多ければ3つ以上
• http://www.lgtm.in • レビューに楽しさを
• LGTM画像にするhttps://f.cloud.github.com/assets/1606673/2307945/6ef72b40-a2b5-11e3-9708-9a7e6f7486a8.png
Looks Good To Me
http://www.lgtm.in
• Looks Good To Me • レビューに楽しさを • ご利用は文化にご相談ください
• LGTM画像にするhttps://f.cloud.github.com/assets/1606673/2307945/6ef72b40-a2b5-11e3-9708-9a7e6f7486a8.png
!開発環境の構築 レビュー マージ
デプロイ & デベロッパー テスト
カスタマー テスト
本番デプロイ リリースモニタリング
ミーティング!
プログラミング
デプロイ~テスト
Goal
Start
Acceptとcurrentの問題• 1週間の Velocity 10 pt のチームの current に 30 pt 溜まっています。4週間で 60 pt を終わらすことができるでしょうか?問題
• current に溜めない
• Accept 待ちの滞留と、同時アサインで進まない滞留
• 基本はひとつづつ、ひとつづつ
• 他の人がその作業をすることができなくなることも!
• 顧客の Accept に限らず、開発者の Accept があってもいい
!開発環境の構築 レビュー マージ
デプロイ & デベロッパー テスト
カスタマー テスト
本番デプロイ リリースモニタリング
ミーティング!
プログラミング
リリース~モニタリング
Goal
Start
運営
プログラマブルなインフラ
DevOpsに向けて• 本番環境で、予期しない SQL くぁwせdrftgyふじこl
• 予期しない SQL にインデックスは貼れない
• そこでリードレプリカですよ!
• 必要なときに必要なだけデータベースサーバーを用意できる。そう RDS ならね。
• SDK! SDK! SDK!
‘’壊れてよい おもちゃを用意する’’
印象に残った言葉シリーズ
環境破棄は善http://ja.wikipedia.org/wiki/%E3%83%90%E3%83%99%E3%83%AB%E3%81%AE%E5%A1%94#mediaviewer/File:Pieter_Bruegel_the_Elder_-_The_Tower_of_Babel_(Vienna)_-_Google_Art_Project_-_edited.jpg
自分たちのやり方を 自分たちで決めて作っていける(株)永和システムマネジメント
アジャイル事業部 事業部長 木下 史彦 氏