カンバン駆動開発 - trello, slackで始めるkdd
TRANSCRIPT
2014.05.24 リアルワールド本郷ラボ 髙橋 和也
カンバン駆動開発Trello, Slackで始めるKDD
・髙橋 和也
・株式会社リアルワールド 本郷ラボ
→東大赤門の目の前の事務所
→東大生インターンを集めてWebアプリ開発をやってます
・北海道札幌市出身
・音楽が大好き、特に地域性を感じる音楽が好み昔のベルファストのGood Vibrationsなローカルパンク、ロングアイランドのLattermanな大合唱パンク、スタテンア
イランドのシャオリンなヒップホップ集団、デトロイトの漆黒グルーブなハウスとURなコズミックソウル、ワシントン
D.C.のDischord周辺のグレートなバンドの数々、地元札幌のカウンターアクションやプレシャスホールな音楽シーン
自己紹介
開発スタイルの変遷
・チケットによる正確なコミュニケーション
・ナレッジマネジメント
→チケットによる作業履歴、Wikiによるドキュメンテーション
・システム監査、内部統制にも有効
→ステータスによる承認フロー
GOOD!
Redmineでチケット駆動開発
・全体状況が把握しづらい
→ガントチャートは使いづらい、面倒くさい
→タスクを抱え込む人が発生しうる
・非エンジニアが直感的に使えない
BAD!
Redmineでチケット駆動開発
Redmine Backlogsでスクラム風開発
・カンバンによるタスクの可視可
・ユーザーストーリーで非エンジニアとのコミュニケーション
・ストーリーポイントとバーンダウンチャートで見積もりの最適化
・アジャイルサムライ!
GOOD!
Redmine Backlogsでスクラム風開発
BAD!
・本気でスクラムしないと使いづらい
→ストーリーポイントが使いこなせない
→ストーリーの粒度が難しい
→バックログからスプリント!?
・動作が重い(これは弊社のサーバ環境か、、、)
ホワイトボードと付箋でカンバン開発
・プロジェクトが複数あり、ホワイトボードが用意しきれない
・リモート開発が多い
→リモートでの社内受託開発スタイル
IMPOSSIBLE…
Trelloとの遭遇
Trelloでカンバン開発
・ナイス&スムースな操作感
・カンバン作成の自由度が高い
・複数のカンバンを簡単に管理できる
・カード内でのコミュニケーションがとれる
・リアルなホワイトボードに近いのでは?
GOOD!
Trelloでカンバン開発
・ToDo, Doing, Doneでは、他のToDoサービスと大差ない
→カンバンの運用方法を見直そう!
BAD!
Trello feat. リーン開発の現場
準備OKを定義する
・開発の準備OK、システムテストの準備OK
・準備OKの定義を決めておくことで、準備不足をなくす
→カードに対応するRedmineのチケットを用意する
→チケットに詳細な仕様を記載する
Trello feat. リーン開発の現場
WIP(Work in Progress)をマネジメントする
・開発中、テスト中に置けるカード枚数を制限する
→アサインタスクの抱え込みを避ける
→開発者、テスト担当者のどこがボトルネックか把握できる
Trello feat. リーン開発の現場
・ホワイトボードなどのように、追加/更新をすぐに共有しづらい
→アナログなカンバンがやっぱり最強
Lil’ Bad!
Slackとの連携
Slack a.k.a. モダンチャットサービス
外部サービスとの連携が簡単
・主要サービスとの連携が標準で用意されている
→Trello, NewRelic, GitHub, GoogleDrive, RSS
・WebHooksで簡単に連携でき、非公式の連携ツールも充実
→Wordpress, Capistrano, Webistrano
→curlコマンドだけで簡単に通知が可能
Slack a.k.a. モダンチャットサービス
curl -X POST --data-urlencode 'payload={"channel": "#general", "username": "webhookbot", "text": "This is posted to #general and comes from a bot named webhookbot.", "icon_emoji": ":ghost:"}' https://example.slack.com/services/hooks/incoming-webhook?token=abcdefghijklmn1234567890
curlでWebHoooksにポストするサンプル
・Web、ネイティブアプリ(Mac)、モバイルアプリ(iOS, Android)
・便利な機能が充実
→URLのプレビュー、スニペット、ファイル共有など
・無料でも全然使える
→過去ログの用量制限、外部ツールの連携数制限など
Slack a.k.a. モダンチャットサービス
TrelloとSlackでKDD
・チケット駆動だと、簡単なアイデアベースのチケットを作りづらい
→チケットが大量になると管理が大変で埋もれやすいため
→カンバン駆動では、アイデアベースのカードから気軽に開始
→チェックリストを使ったアイデアやイシューの管理も可能
・全体状況が把握しやすい
→複数プロジェクトに関わってると特に便利
KDD - カンバン駆動開発
・アナログなカンバンが最強だと思うけど、リモートや、複数プロジェ
クトに関わっている場合は、Trelloが便利
・Redmineのチケットは引き続き使用中
→ナレッジマネジメント、監査対応には不可欠
→カンバン(Trello)はフロー、チケット(Redmine)はストック
KDD - カンバン駆動開発