2012.12.03 Monday
【アジャイルサムライ】#24 総括
少しずつまとめてきたアジャイルサムライも読了しましたので、まとめとしての感想を書きます。
勉強会の発表でよく聞くのだけれど、第一線でwebサービスを提供している開発チームは必ずといっていいほどアジャイルです。
ユーザを飽きさせないために、定期的なアップデートが必要なので、短期的なイテレーション開発をする。せざるをえない。
僕は業務系のシステムの開発をしているので、アジャイルの経験はないし、2次受けとかだと、すでに開発手順は決まっているので、この開発手法も当てはまっていないと思う。
だけれども、顧客がイテレーション開発のスケジュールに合意してくれれば、やれると思うし、コミュニケーションの取り方や、問題解決のための手段はどんな開発にも必要だ。
顧客を巻き込めないこと、コミュニケーションがとれていないことでうまくいかないプロジェクトがなんと多いことかと思う。
テストの自動化、ビルドの自動化、リファクタリングもすごく興味深かった。
これが実践できるチームで開発するのは楽しそうだ。
忘れないようにしたい。できればやってみたい。
2012.12.01 Saturday
【アジャイルサムライ】#23 リリースに備える
デプロイを正確にやろうという話。
・ビルド時間
10分以内が好ましい。
何時間もかかるなんてとんでもない。
・バージョン管理
チェックイン手順を習慣づける
1.最新のソースコードを取得
2.変更を加える
3.テストを実行する
4.作業中に発生した差分を取得する
5.再度テストを実行する
6.チェックイン
・ビルドの自動化
ビルドエージェントを使って、ant等で自動化したビルドを実行する。
Cruise Control(ビルドエージェント)
定期的にチェックインを確認して、ビルドを実行する。
あと、CIツールといえば、jenkinsが有名ですね。
使ってみたいんだけど、使ったことはない。
・作業単位を小さく
コードの統合は、小さい単位のほうが簡単。
間違えるリスクを低くする。
2012.11.29 Thursday
【アジャイルサムライ】#19 現場の状況を目に見えるようにする
・ビジュアルワークスペース
現場の状況を目に見えるようにしている仕事場。
プロジェクトでも何をやればいいかが明確になり、仕事の隠しだてがなくなる。
・リリースボード
ストーリー(やるべき仕事)を完了しているものと未完了のものに分別し、壁に貼り出す。
何をやらないといけないか、何が終わっているかが一目瞭然。
・ストーリーボード
現在のイテレーションでのストーリーを壁にステータス(未着手、仕掛かり、テスト待ち、完了)に分別して壁に貼り出す。
何をやらないといけないか、何が終わっているかが一目瞭然。
・プロジェクトで使う言葉を共有する
品質アップ。
どういう手段でうまく浸透させられるかということについては言及されていない。
・バグを監視する
バグの数を抑えるために監視と追跡を怠らない。
リリースボードは以前、やっているプロジェクトがあったのだけれど、多すぎてなんだかよくわからなかった。
優先度があってもいいのかも。
2012.11.28 Wednesday
【アジャイルサムライ】#18 アジャイルな意思疎通の作成
アジャイル開発は密なコミュニケーションを大事な要素としている。
そのための手法をメモ。
・ストーリー計画ミーティング
これから始まるイテレーションの準備が整っているかを確認する。
・ショーケース
イテレーション後に顧客のフィードバックを得る。
・イテレーション計画ミーティング
次回イテレーションの作業を計画する。
・ミニふりかえり
ふりかえりを行い、もっとうまくやるためにはどうすればいいかを話し合う。
・デイリースタンドアップ
毎日、立ったたまま、5-10分でチーム内の情報共有を行う。
(長引かせないことを意識するために立つ)
どれも必須じゃない。
プロジェクトで必要なものを実施すればよい。