2010年10月12日火曜日

アジャイルな見積りと計画づくり

「見積りとは時間内に作業が完了する確率のことである。」
という帯がついている書籍です。

見積りの誤差。
初期段階では、+75%~-25%

なぜ見積もるのか。
・リスクの軽減
見積もることで予めリスクを知ることができるため、回避方法などを調べることができる。

・不確実性を減らす
機能の価値や開発にかかる工数を

よい計画とはなにか
・見積もり時間と実際の時間の差が少ないこと。
・作業が早く終わることや遅れていることがすぐに解ること。

アジャイルな計画づくりとは。
・計画とはその瞬間のスナップショットでしかないため、計画づくりに重きをおく。
・計画は変更されても構わない。むしろ積極的に変更したい。
・変更することは、チームが知識を得た結果をスケジュールに反映すること。(プラスの面もマイナスの面も含めて)
・知識は最後まで残るが、計画はその場の使い捨て。
・最初にすべてを見積もらない。
・最初の計画を作るために必要な機能のみを見積もる。
・計画は必要な情報を元に算出するようにしておく。



.


2010年10月5日火曜日

チケット駆動型開発

チケット駆動型開発

導入としてはバグ管理から始めるのがよさそう。
チケットの粒度をあわせる。
チケットは開発者一人で完結するぐらいがよいのではないかと思う。(1~2日程度)
細かすぎるとチケットを処理する工数が多くなる。
大きすぎるとチケットを処理するのに時間がかかりチケットの履歴が長くなってしまう。

注意)
チケット無しのコミット禁止
チケットの状態を常に最新にしておくことが重要


2010年10月2日土曜日

FlowLayoutControlにInsertしてみる。

色々困ったことはあったけど、ある程度動くようになってきました。
困ったことはまた別の機会に整理して書いてみようかと思います(たぶん)

C#で作っているのですが、UIで悩みました。
一覧表示するのに、DataGridViewを使うとあまりにもシンプルすぎて、見た目が悪いなーと。
で、UserControl+FlowLayoutPanelを使うことに。
読み込んだTimeLineの一覧を表示するだけならFlowLayoutPanelのControlsにUserControlをAddするだけでよかったのです。
が。。。
差分だけTimeLineを更新するときにAddすると?リストの最後にUserControlが追加される。
考えてみたら当たり前のことなですがね…

Insertとかいう便利なメソッドはFlowLayoutPanelのControlsにはついていないワケでして、
ControlsのメソッドをMSDNでみているとSetChildIndexと言うものがあるじゃないですか!
Controls.Add → Controls.SetChildIndex(追加したControl, 0) でリストの一番上に追加することが出来ました。

あまり使わないコントロールは使いにくいなー。

ラベル