ARCHIVE  ENTRY  COMMENT  TRACKBACK  CATEGORY  RECOMMEND  LINK  PROFILE  OTHERS
<< March 2024 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 >>
2016.02.05 Friday

スポンサーサイト

一定期間更新がないため広告を表示しています

2013.05.07 Tuesday

アジャイル開発

仕事でアジャイル開発をする機会があったんですが、ふりかえりをスライドにしました。
プレゼンテーション共有サービスのrvl.ioがいつの間にかslid.esに変わっていました。
作成のIFがちょっと変わった。betaでなくなった模様。
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.12.01 Saturday

【アジャイルサムライ】#22 テスト駆動型開発

テスト駆動型開発(TDD:Test Driven Development)
コードより先にテストに書くやつ。

進め方(以下を繰り返す)
1.レッド:新しいコードを書く前に、まずは失敗するユニットテストを書く。
新しいコードの意図をテストで示す。

2.グリーン:とにかくテストに成功するコードを書く。

3.リファクタリング
実装を見直す。できる限り明瞭でわかりやすいコードにする。

これ、やったことないのですが、難しいよね。
コードの完成形をイメージしろということだと思うんだけれど。

2012.11.30 Friday

【アジャイルサムライ】#21 リファクタリング

コードは手抜き、ハック、重複など、技術的負債を抱えている。
リファクタリングで継続的に設計を改善することで、技術的負債を返済する。
リファクタリングを続けていけば、開発速度は低下しない。

こんなコスト、業務系システムの開発では、まず認められない。
ギリギリでやってるからね。
残念なコードをよく見かけます。

リファクタリングといえば、やっぱりコレ。
可読性を意識するようになる。

2012.11.30 Friday

【アジャイルサムライ】#20 ユニットテスト

JUnit等によるテストコードはたくさん書いたほうがよい。

・素早いフィードバックが得られる
どこかを壊してしまったことがすぐにわかる。

・極めて低コストにリグレッションテストを実行できる
自動化で再テストが楽チン

・デバッグ時間を大幅に削減できる
バグの場所はすぐにわかる

・自信を持ってデプロイできる
しっかりテストされているので安心

JUnitを使ったテストの自動化は最初は大変だけれど、できてしまえば、再テストがすごく楽。
気持ちいいよね。
だけど、業務システムの開発では、あまり使われない。


2012.11.29 Thursday

【アジャイルサムライ】#19 現場の状況を目に見えるようにする

・ビジュアルワークスペース
現場の状況を目に見えるようにしている仕事場。
プロジェクトでも何をやればいいかが明確になり、仕事の隠しだてがなくなる。

・リリースボード
ストーリー(やるべき仕事)を完了しているものと未完了のものに分別し、壁に貼り出す。
何をやらないといけないか、何が終わっているかが一目瞭然。

・ストーリーボード
現在のイテレーションでのストーリーを壁にステータス(未着手、仕掛かり、テスト待ち、完了)に分別して壁に貼り出す。
何をやらないといけないか、何が終わっているかが一目瞭然。

・プロジェクトで使う言葉を共有する
品質アップ。
どういう手段でうまく浸透させられるかということについては言及されていない。

・バグを監視する
バグの数を抑えるために監視と追跡を怠らない。

リリースボードは以前、やっているプロジェクトがあったのだけれど、多すぎてなんだかよくわからなかった。
優先度があってもいいのかも。

2012.11.28 Wednesday

【アジャイルサムライ】#18 アジャイルな意思疎通の作成

アジャイル開発は密なコミュニケーションを大事な要素としている。
そのための手法をメモ。

・ストーリー計画ミーティング
これから始まるイテレーションの準備が整っているかを確認する。

・ショーケース
イテレーション後に顧客のフィードバックを得る。

・イテレーション計画ミーティング
次回イテレーションの作業を計画する。

・ミニふりかえり
ふりかえりを行い、もっとうまくやるためにはどうすればいいかを話し合う。

・デイリースタンドアップ
毎日、立ったたまま、5-10分でチーム内の情報共有を行う。
(長引かせないことを意識するために立つ)

どれも必須じゃない。
プロジェクトで必要なものを実施すればよい。


2012.11.21 Wednesday

【アジャイルサムライ】#17 イテレーションの運営:実現させる

・イテレーション開発
範囲を限定した開発を繰り返し、機能を作り上げていく。
1つの反復の期間は、1ー4週間くらいが多い。
開発の単位を小さくすることで、リスクを小さくする。
1つの開発が終わると、プロジェクトの優先度を評価し直す。

・カンバン
トヨタが開発した情報伝達システムにに由来する開発手法。
カードを使って組み立てラインのパーツ補充の工程を調整する仕組み。
カンバンはイテレーションせずに、優先度の高いものから出来る作業量だけ作業を行っていく。
運用やサポートの仕事に向いている。

2012.11.08 Thursday

【アジャイルサムライ】#16 アジャイルな計画づくり:現実と向きあう

バーンダウンチャートというプロジェクト管理についてです。

・マスターストーリーリスト
やることを項目にして、優先順位、見積もり規模をつけたリスト

・ベロシティ
チームがマスターストーリーリストをソフトウェアに変換する速度

・バーンダウンチャート
マスターストーリーリストの仕事量をy軸、時間をx軸にした表。
時間が経過するにしたがって、ベロシティ分の仕事量が減っていき、イテレーションが終了するまでを示す。

Powered by
30days Album
PR