2013/02/15 デブサミ2013【15-B-7】反復型ソフトウェア開発の勘所 #devsumiB

Developers Summit 2013 Action! http://event.shoeisha.jp/detail/1/ <講演概要> 反復型ソフトウェア開発とは、複数のアジャイルな開発手法に共通の基盤となっている開発モデルです。その特徴として、タイムボックスとよばれる期間を繰り返しながら開発をすすめること、プロジェクトの早期から継続してインテグレーション(結合)して実行可能なソフトウェアを構築すること、の2点があげられます。本セッションでは、タイムボックスの運用方法とインテグレーションの技術から導出できる、ソフトウェア開発における重要な原則を説明したいと思います。 続きを読む
2
馬美肉 @chiastolite

スライドに虫はやーめーてーー(>_<) #devsumiB

2013-02-15 16:59:42
みよひで画伯 @miyohide

津田「ビルドは、価値があり、早く、安いものをお客様に届けること。強調したいのは、いつ誰がビルドしても同じビルドが出来る。また、以前と同じビルドをもう一度ビルドすることが出来る。ビルドの再現性を確保することが大事。」#devsumi #devsumiB

2013-02-15 17:00:37
馬美肉 @chiastolite

料理をデリバリーするときは毎回ちゃんと同じものを届けることが重要。ビルドも同様に同じもの、再現性を確保することが重要 #devsumiB

2013-02-15 17:00:48
teyamagu @teyamagu

CRISPなビルド大切とのこと.ビルドに限った話じゃないが. #devsumi #devsumiB

2013-02-15 17:02:14
みよひで画伯 @miyohide

津田「何を具体的にやったらビルドの再現性を確保できるのか。ソース、レシピ(ビルド手順書)、ビルドマシン、コンパイラ、ビルドサーバなどのツール。」#devsumi #devsumiB

2013-02-15 17:04:13
みよひで画伯 @miyohide

津田「ソースについて。バージョン管理ツールのブランチで管理する。」#devsumi #devsumiB

2013-02-15 17:05:05
千田啓次郎 @1000kei

隣のチームがTDDを始めましたが、CI環境も一緒に作らないとこじれるだろうなと気付きました。来週Jenkinsを入れます。 #devsumiB

2013-02-15 17:05:07
みよひで画伯 @miyohide

津田「レシピ(ビルド手順書)について。複数の作業を、正しい順序で実施して、依存関係を解消する。また、Unix/Windows、32bit/64bitなどビルドの構成は様々。」#devsumi #devsumiB

2013-02-15 17:06:17
みよひで画伯 @miyohide

津田「このような複数あるビルドの構成のシュルをフレーバーと呼ぶ。」#devsumi #devsumiB

2013-02-15 17:06:56
みよひで画伯 @miyohide

津田「ビルドマシンについて。開発者が持っている環境はサンドボックス。バグが入っている可能性が高く、再現性もない。クリーンな環境であるビルドマシンでビルドを行う。」#devsumi #devsumiB

2013-02-15 17:09:35
みよひで画伯 @miyohide

津田「ツールの進歩。AntはもともとTomcat専用であったが、そのすばらしさから独立したビルドツールとなった。このようなツールをどんどん使う。」#devsumi #devsumiB

2013-02-15 17:11:04
みよひで画伯 @miyohide

津田「バディビルドの自動化。コミットする前にそのコミットが問題ないか(ビルド可能かどうか)をチェックし、問題なければコミットしてくれる。」#devsumi #devsumiB

2013-02-15 17:12:42
馬美肉 @chiastolite

単純なCIのサイクルだと汚いコミットがリポジトリに残る。そのためにはバディビルドをすればよい #devsumiB

2013-02-15 17:13:03
みよひで画伯 @miyohide

津田「バディビルドの自動化はリポジトリを清潔に保つには非常に有効な機能。Jenkinsではプリテスティドコミットと呼ばれる。」#devsumi #devsumiB

2013-02-15 17:13:29
みよひで画伯 @miyohide

津田「ビルドの焼き上げについて。安定化のフェーズ。品質熟成期間でありバグ修正期間を指す。」#devsumi #devsumiB

2013-02-15 17:14:45
みよひで画伯 @miyohide

津田「テストの目的は、バグがないことを確認する。」#devsumi #devsumiB

2013-02-15 17:19:00
みよひで画伯 @miyohide

津田「コードコンプリートしたあと、バグがあるのか無いのか分からないのは嘘。テストの目的はバグがないことを確認することのため、コードコンプリートと同時に品質が担保されている必要がある。」#devsumi #devsumiB

2013-02-15 17:20:38
Takahiro HAMAGUCHI @tk_hamaguchi

CIビルドとスプリントビルドを区別する必要がある。#devsumi #devsumiB

2013-02-15 17:21:00
きさと @rkisato

終盤でもやもやしてよくわからなくなってしまった #devsumiB

2013-02-15 17:22:10
みよひで画伯 @miyohide

そんなにうまく行くかなぁという印象が拭えない。そんなに自動化ですべてが見つかるかというと疑問で、手で叩くことも必要かと思うんだが。 #devsumi #devsumiB

2013-02-15 17:22:47
千田啓次郎 @1000kei

pre tested build、継続的デプロイでも必要ですね。これもあとで環境作ります。 #devsumiB

2013-02-15 17:25:05