by shigemk2

当面は技術的なことしか書かない

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

現場の状況を目に見えるようにしている仕事場のことを
ビジュアルワークスペースと呼ぶ

ビジュアルワークスペースを作成する

プロジェクトが詰み気味の事態に遭遇したとき
1.経営陣にインセプションデッキの説明をする
(ただし正式な会議を開く必要はない)

2.リリースボードを使う
チームがどこまで仕事を完了させているかを示すボードで、
壁に貼りつけてある。
左側に完了した仕事、右側にまだ完了していない仕事、と分けることで、
進捗状況を割と簡単に技術用語を使うことなく説明できる。

3. ストーリーボード
各タスクを左から

  • 未着手
  • 仕掛かり
  • テスト待ち
  • 完了

に仕分けされた図を作成して壁に貼りつけると、視覚化されて分かりやすい。

4. バーンダウンチャート
例によってベロシティとプロジェクトの完了時期を予測するのに使う

5. チームの意思を明確にする
チームの約束(我々ははこういうふうに作業したい)という意思を明確にする
e.g.

  • 9:00-16:00がコアタイム
  • デイリースタンドアップは10:00
  • ビルドをだいじに

などなど。

6. プロジェクトで使う言葉を共有する
業務で使われる用語が共有されてないと…

  • 間違った抽象化がされる
  • 変更しづらくなる(画面の文言とDBのカラム名が違っていたりする)
  • 結局バグが増えて保守コストが高くつく

というわけで、用語の共有は徹底すること
打ち合わせでシステムにまつわるキーワードが出てきたら、メモして用語が
どのような意味を持つのかを明確に定義し、定義をコードに反映させる

エリック・エヴァンスのドメイン駆動設計 (IT Architects’Archive ソフトウェア開発の実践)

エリック・エヴァンスのドメイン駆動設計 (IT Architects’Archive ソフトウェア開発の実践)

7. バグを監視する
初日からグの数を抑えるための監視と追跡を行うこと
(毎回のイテレーションの10%の時間をバグ潰しに充てるのもよい)

8. 貼り出し禁止のとき
折り畳みボードを使うとか、オンラインのシステムを作るとか工夫する
必ずしも仕事場の壁に物理的に貼り出す必要はない