アジャイルサムライ DevLOVE道場 『第三回 深化』に参加してきた #agilesamurai #devlove


(写真:第3回実践内容『タスク分割』の実践風景。)

アジャイルサムライ−達人開発者への道−

アジャイルサムライ−達人開発者への道−

The Agile Samurai: How Agile Masters Deliver Great Software (Pragmatic Programmers)

The Agile Samurai: How Agile Masters Deliver Great Software (Pragmatic Programmers)


超実践系道場『DevLOVE道場』も今回が第3回目。勿論今回も参加して参りました。

会場は第1回/第2回会場から場所を変えてオラクル青山センターにて開催。会場の都合上20:00〜22:00という若干遅めのスケジュールで始まりました。


うちのチームとしては公式に行われた2回の他に、『延長戦』と称して第2.5回を実施してみたり…


また、それらだけでも時間が足りないという事でオンラインツールを色々使いつつ作業を少しずつすすめて行きました。詳しい内容は後述・若しくは後のエントリにて。

講演(ワークショップ実践内容説明)

タスク分割


今回のワークショップ実践内容については『タスク分割・バーンダウンチャート作成』が対象。関連する部分について解説がありました。以下メモ。

  • アジャイルサムライでは『タスク分割』に関しては触れられていない。
  • 目次にも載っていない。
  • ストーリーで良いじゃん、って意見もあったり。
  • それでもタスク分割してみましょう。
  • エンジニアの出番です。具体的にやることも見えてくる。
  • 警告!
    • 分割したものの和≠元の形
    • Readyの定義
    • Doneの定義
  • タスク分割の『SMART』
タスク分割 直訳 意訳 何のために
S(Specific) 具体的・仕様 具体的 理解促進
M(Measurable) 計測可能 計測可能である 完了定義
A(Achievable) 達成可能 達成可能である 実現性・合理性
R(Relevant) 関連性・適切 関連性がある 開発者利益
T(Time-boxed) タイムボックス 期限がある 見極め


  • タスク分割
    • 見積もりもチームで協議
    • 0.5h-8h程度の大きさ
    • 人にアサインしない
    • 設計、開発、受け入れ、文書で色分け
    • 実際に掛かった時間は計測しない
バーンダウンチャート
  • リリースバーンダウン
    • 縦軸:ポイント
    • 横軸:スプリント
  • スプリントバーンダウン
    • 縦軸:時間
    • 横軸:日
  • バーンダウンチャート
    • 開始時点の残作業量を視覚化!
    • ゴールへの進行状況を強力に訴える


    • 色々なチャート
      • バーンアップチャート
      • バーンダウン棒グラフ
      • パーキングロットチャート
      • この辺りの情報は『アジャイルな見積もり』に記載。

アジャイルな見積りと計画づくり ~価値あるソフトウェアを育てる概念と技法~

アジャイルな見積りと計画づくり ~価値あるソフトウェアを育てる概念と技法~


また、ワークショップの最中にはHARADA Kiro(TwitterID:@haradakiro)さんが道場破り(?)で急遽ご参加頂き、今回のワークショップのテーマに関してお話して頂けました。短い時間ながらも考えさせられる・目からウロコなコメントばかりでとてもタメになる内容でした。

  • やらない事を決める。
    • 時間さらすのはオススメしない。
    • だいたい4時間分くらいしか1日に入れられない。実際やるのは4時間位。
  • タスクはどこまで書くか。
    • 自らの宣言を立てる為に。『これくらいやるぜ』
  • タスクの粒度はどこまでやるか
    • 本番環境にインストールする/本番環境で確認する ... こういったタスクは入ってますか?必要ですよ。
      • 書くのが面倒→チームで『こういった内容は○○に含む』という認識が出来ればその形でも。
    • Doneの定義
    • 全てのタスク完了=ストーリーの完了(Done)
    • タスク分割…やる事に集中出来る。
    • バーンダウン=どれだけ突っ走れたか。
  • お客さんが来たときにスプリントレビューが出来る状態にしておけること
  • めんどいけど、まずは全部書こう。だんだん上手くなる。

ワークショップ実践

実際の進行では

  • [ワークショップ説明/タスク分割]
  • [ワークショップ実践1]
  • [ワークショップ説明/バーンダウンチャート]
  • [ワークショップ実践2]

という順序で進められていたのですが、私たちのチームでは2つのワークショップ実践を全て『タスク分割』の時間に充て、ひたすらタスク分割を行いました。


事前に用意・準備していたものとして、以下の2点がありました。



実際のタスク分割の際は、@ShiroKappaさんからの作業をスムーズ化するヒントとして『付箋の色を分けてタスク分割』というものが提案されていたのでそれをそのまま採用。


あとはひたすらタスク分割作業を実施!!予めチームで相談して『最初に取り掛かろう』と決めたストーリー2つ(後に余裕が出来たので1つ追加し計3つ)、プラス『環境面整備・準備に関するストーリー』を別途設け、そのストーリーについてもタスク分割を行いました。

上記の写真は付箋を集約した状態。枚数的には60〜70枚にはなったのかな?まだ確認してないのでもしかしたらそれ以上になっているかも。多く出し過ぎたかしら...(笑)

ある程度付箋紙(分割タスク)を出し切った段階でワークショップは終了。


次回はいよいよ第4回、開発合宿になります!! 時期はまだ未定ですが、やはり土日祝日のどこかでゆっくり時間の余裕が取れる時期になる模様です。(※現時点では詳細は未定)


チームの状況としてはこんな感じです。まだまだ取り組むべき事は多い...。

  • 出来たところ
    • 始めに取り組むべきストーリー群の選定/及びタスク分割
  • 出来てないところ/これからやるところ
    • タスク分割成果物の整理及び電子化
    • ストーリーに対しての見積もり(プランニングポーカー)
    • バーンダウンチャート作成
    • 開発環境・文書などの規約環境の整備、着手
    • 第4回開発合宿に向けての詳細詰め

私達のチームだけでなく、参加された方々もチームそれぞれで個別の対策・取り組みを行っておられるようです。ここまでは各チームの作業に集中して他のチームの方々の状況は詳しく把握出来ていませんが、落ち着いた段階でチーム間での交流も出来ると良いですね。