カンバン駆動開発 - trello, slackで始めるkdd

24

Upload: kazuya-takahashi

Post on 24-May-2015

7.468 views

Category:

Engineering


6 download

TRANSCRIPT

Page 1: カンバン駆動開発 - Trello, Slackで始めるKDD

2014.05.24 リアルワールド本郷ラボ 髙橋 和也

カンバン駆動開発Trello, Slackで始めるKDD

Page 2: カンバン駆動開発 - Trello, Slackで始めるKDD

・髙橋 和也

・株式会社リアルワールド 本郷ラボ

 →東大赤門の目の前の事務所

 →東大生インターンを集めてWebアプリ開発をやってます

・北海道札幌市出身

・音楽が大好き、特に地域性を感じる音楽が好み昔のベルファストのGood Vibrationsなローカルパンク、ロングアイランドのLattermanな大合唱パンク、スタテンア

イランドのシャオリンなヒップホップ集団、デトロイトの漆黒グルーブなハウスとURなコズミックソウル、ワシントン

D.C.のDischord周辺のグレートなバンドの数々、地元札幌のカウンターアクションやプレシャスホールな音楽シーン

自己紹介

Page 3: カンバン駆動開発 - Trello, Slackで始めるKDD

開発スタイルの変遷

Page 4: カンバン駆動開発 - Trello, Slackで始めるKDD

・チケットによる正確なコミュニケーション

・ナレッジマネジメント

 →チケットによる作業履歴、Wikiによるドキュメンテーション

・システム監査、内部統制にも有効

 →ステータスによる承認フロー

GOOD!

Redmineでチケット駆動開発

Page 5: カンバン駆動開発 - Trello, Slackで始めるKDD

・全体状況が把握しづらい

 →ガントチャートは使いづらい、面倒くさい

 →タスクを抱え込む人が発生しうる

・非エンジニアが直感的に使えない

BAD!

Redmineでチケット駆動開発

Page 6: カンバン駆動開発 - Trello, Slackで始めるKDD

Redmine Backlogsでスクラム風開発

・カンバンによるタスクの可視可

・ユーザーストーリーで非エンジニアとのコミュニケーション

・ストーリーポイントとバーンダウンチャートで見積もりの最適化

・アジャイルサムライ!

GOOD!

Page 7: カンバン駆動開発 - Trello, Slackで始めるKDD

Redmine Backlogsでスクラム風開発

BAD!

・本気でスクラムしないと使いづらい

 →ストーリーポイントが使いこなせない

 →ストーリーの粒度が難しい

 →バックログからスプリント!?

・動作が重い(これは弊社のサーバ環境か、、、)

Page 8: カンバン駆動開発 - Trello, Slackで始めるKDD

ホワイトボードと付箋でカンバン開発

・プロジェクトが複数あり、ホワイトボードが用意しきれない

・リモート開発が多い

 →リモートでの社内受託開発スタイル

IMPOSSIBLE…

Page 9: カンバン駆動開発 - Trello, Slackで始めるKDD

Trelloとの遭遇

Page 10: カンバン駆動開発 - Trello, Slackで始めるKDD
Page 11: カンバン駆動開発 - Trello, Slackで始めるKDD

Trelloでカンバン開発

・ナイス&スムースな操作感

・カンバン作成の自由度が高い

・複数のカンバンを簡単に管理できる

・カード内でのコミュニケーションがとれる

・リアルなホワイトボードに近いのでは?

GOOD!

Page 12: カンバン駆動開発 - Trello, Slackで始めるKDD

Trelloでカンバン開発

・ToDo, Doing, Doneでは、他のToDoサービスと大差ない

 →カンバンの運用方法を見直そう!

BAD!

Page 13: カンバン駆動開発 - Trello, Slackで始めるKDD
Page 14: カンバン駆動開発 - Trello, Slackで始めるKDD

Trello feat. リーン開発の現場

準備OKを定義する

・開発の準備OK、システムテストの準備OK

・準備OKの定義を決めておくことで、準備不足をなくす

 →カードに対応するRedmineのチケットを用意する

 →チケットに詳細な仕様を記載する

Page 15: カンバン駆動開発 - Trello, Slackで始めるKDD

Trello feat. リーン開発の現場

WIP(Work in Progress)をマネジメントする

・開発中、テスト中に置けるカード枚数を制限する

 →アサインタスクの抱え込みを避ける

 →開発者、テスト担当者のどこがボトルネックか把握できる

Page 16: カンバン駆動開発 - Trello, Slackで始めるKDD

Trello feat. リーン開発の現場

・ホワイトボードなどのように、追加/更新をすぐに共有しづらい

 →アナログなカンバンがやっぱり最強

Lil’ Bad!

Page 17: カンバン駆動開発 - Trello, Slackで始めるKDD

Slackとの連携

Page 18: カンバン駆動開発 - Trello, Slackで始めるKDD
Page 19: カンバン駆動開発 - Trello, Slackで始めるKDD

Slack a.k.a. モダンチャットサービス

外部サービスとの連携が簡単

・主要サービスとの連携が標準で用意されている

 →Trello, NewRelic, GitHub, GoogleDrive, RSS

・WebHooksで簡単に連携でき、非公式の連携ツールも充実

 →Wordpress, Capistrano, Webistrano

 →curlコマンドだけで簡単に通知が可能

Page 20: カンバン駆動開発 - Trello, Slackで始めるKDD

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にポストするサンプル

Page 21: カンバン駆動開発 - Trello, Slackで始めるKDD

・Web、ネイティブアプリ(Mac)、モバイルアプリ(iOS, Android)

・便利な機能が充実

 →URLのプレビュー、スニペット、ファイル共有など

・無料でも全然使える

 →過去ログの用量制限、外部ツールの連携数制限など

Slack a.k.a. モダンチャットサービス

Page 22: カンバン駆動開発 - Trello, Slackで始めるKDD

TrelloとSlackでKDD

Page 23: カンバン駆動開発 - Trello, Slackで始めるKDD

・チケット駆動だと、簡単なアイデアベースのチケットを作りづらい

 →チケットが大量になると管理が大変で埋もれやすいため

 →カンバン駆動では、アイデアベースのカードから気軽に開始

 →チェックリストを使ったアイデアやイシューの管理も可能

・全体状況が把握しやすい

 →複数プロジェクトに関わってると特に便利

KDD - カンバン駆動開発

Page 24: カンバン駆動開発 - Trello, Slackで始めるKDD

・アナログなカンバンが最強だと思うけど、リモートや、複数プロジェ

クトに関わっている場合は、Trelloが便利

・Redmineのチケットは引き続き使用中

 →ナレッジマネジメント、監査対応には不可欠

 →カンバン(Trello)はフロー、チケット(Redmine)はストック

KDD - カンバン駆動開発