アジャイル,Trac,オープンソースなどの話。認定スクラムマスター。Twitterは@ryuzee
RetrospectivaはRails製のオープンソースプロジェクト管理ツール。入手はhttp://retrospectiva.org/overviewから可能だ。
で、Retrospectivaはプラグインを利用して機能拡張することができ、Agileプロジェクト用の、AgilePMというプラグインが公開されていたので試してみた。
Lenovo S10e上のUbuntu9.10日本語版。
ruby 1.8.7 (2009-06-12 patchlevel 174) [i486-linux]
Rails 2.3.5
sqlite3
Retrospectivaのインストールはかなり簡単。curlがインストールされていれば
として指示に従えばOK。
AgilePMのインストールは、コマンドラインで以下のようにすればOK。
以上が終わったら以下のように起動する。3000番ポートで起動される。
なお、初回ログインはadmin/passwordの組み合わせで管理者権限でログインできるので、ログイン後パスワードを変更する。




操作性については分かりやすい。Ajax等を利用して比較的ストレスなく操作できる。
ただ、いくつかScrumを利用している僕個人にとっては致命的な問題があるような気がするので、以下に記しておく
この問題があるが故に僕なら現場で使わないだろう。用語の混乱は現場の混乱に直結するし、相対見積もりが出来なければスプリント中に実装するストーリーを選択するのに別の管理方法を取らなければならなくなる。それであれば、基本に忠実なTeamTrickを使った方が良いと思う。
Scrum Smellsより。スクラム風の特徴をまとめてあったのでとりあえず目次だけ適当訳。
あとはMike Cohnが書いたこちらの文書も参照。http://www.mountaingoatsoftware.com/system/article/file/11/ScrumSmells.pdf
デイリースクラムをよりよくする10のTIPSについて書かれていたので勝手訳してみた(笑
原文は10 Tips to Improve Your Daily Scrum
早速やってみてはどうだろうか。
1/22(金)にマイクロソフト社で実施されたAgile Dayのセミナーに行ってきました。
いつものように知った顔が多かったりします。スーツ比率は半々くらいかな。年齢層は20代前半、40代後半以降は少ない感じで、会社の現場を回している中堅~マネージャクラスが多かったのではないかと思います。
3月と6月にまたAgile Dayが開催される予定とのことで、個人的にはお勧めイベントだと思うので、興味のある方は是非。
主にマイクロソフトにおけるAgileへの取り組みや現場の回し方、体制等について事例を発表されました。
僕がAgileについて外部に研修するときに、Agileへの取り組みが進んでいる企業の一つとしてマイクロソフトをあげているけど、流石という感じ。
話の内容をいくつか抜粋。
岐阜と東京を行ったり来たりして、Agileの普及や実際の開発現場の支援をされている三井さんのセッション。前回聞いたのは昨年後半にIBMで行われたセミナー。相変わらずパワフルな印象。50歳過ぎて現場のスクラムマスターを続けているというのは尊敬するし、その経験の蓄積が顧客からの信頼の源泉なのだと思う。セミナー開始前に食事をご一緒させていただいて、趣味もパワフルということが判明(笑)
主なところを抜粋。
ebackyさんらしいセッション。以前Shibuya.tracの勉強会に来た時と同じパターン。参加者に考えさせる機会を与えて、色んなキッカケにしている。
僕もちょっと話して来ました。アンチパターンの紹介と言って良いかな。
僕が言いたかったのは、チームの自立性を維持するためには、周りの人(特に力を持っている人)にAgileを誤解させないような努力が必要だ、ということ。日本の受託型SIやコンサル→開発の案件において、プロジェクト開始時点でチームに関係ない外的要因によって失敗の可能性が増えてしまう、というのは避けたいし、そうならないようチームが努力するべきなんだと思う。
僕がお話した内容
個々の内容については、マイクロソフトのサイトにしばらくした後掲載されると思う。
僕は自分自身が他の会社の人にAgileを教える立場なんだけど、長沢さん、三井さん、ebackyさんの話のストーリーに感服でした。
押しつけじゃなく、自分たちの経験を伝えていて、それは銀の弾丸では無いんだけれども、参加者の共感を確実に得ている。
認知→共感→実行のプロセスを経て、参加者が何かを実行できる土台になっていた。
プラクティス自体はそれはそれで素晴らしいんだけど、押しつけでなく、自分達が良い、と思って実行できる環境づくりが大事なんだと改めて認識。
LTで投票結果が1位だったとのことで、色々なグッズを頂いてきました。長沢さんありがとうございます。
moongiftで紹介されていたので早速試してみました。
TeamTrickはRailsで出来ているScrumプロジェクトの管理ツールで、チーム管理、プロダクトバックログ、スプリントバックログ、バーンダウンチャートなど基本的な機能を備えている。
外部へのデータのエクスポートや外部からのインポートには対応していない模様。
日本語は問題なく使えることを確認しています。
本家サイトからダウンロード可能。
Linux用とWindows用が用意されており、Windows用の場合は、バッチファイルを実行することで即起動して使える。Windows版はインストールパスにスペースが含まれていなければ問題なく起動できる(デスクトップに配置すると起動失敗)→他のマシンでは再現しないので、他の問題かも。
とりあえず画面の紹介。
ログイン直後。プロジェクトのリストが表示されていることから分かるように複数プロジェクト対応

プロジェクトのトップページ。ダッシュボードとして、ベロシティ等の指標やバックログ、スプリント情報が見られる。

左ナビからプロジェクトにあるバックログ項目を表示したところ。左列の数字は優先順位。

スプリントの一覧。ここをクリックすると個別のスプリント画面に移動できる

個別のスプリントを表示したところ。バーンダウンチャートが表示されているのがわかる

スプリントバックログとタスクを表示したところ。ストーリ自体の合算残り時間も表示される

機能としてはシンプルだが必要なものは揃っている。まずは初めてやってみる、というチームには良いだろう。バージョン管理システムとの連携等はないが、Scrumの原則という意味でこのプロダクトには必要機能が網羅されている、と言えると思う。Ajaxの利用によってユーザビリティもそこそこ高い。
ということで、比較的お勧めです。
正直Agiloより使いやすいかも(汗。
これ読んで思いついた悲惨なシナリオ。ありがち。
今期の予算は厳しいし、偶然コンペに参加することになった新規顧客の案件を取りに行こう!
複数社いるし、値段勝負な点もあったので、協力会社に丸投げして、済ませよう。
今回は既存システムのリプレースだし、要件も変わらないからまかせちゃって大丈夫だよな。
え?協力会社にPMいないの?でもリプレースだし新旧比べれば良いから何とかなるよね?
ちなみに、自分の過去の経験で上記が6個該当したプロジェクトをやったことがある。結果?聞かないでね。
以前にデスマーチ診断プログラムを作ったのを思い出した。http://www.ryuzee.com/deathmarch/
僕としては、一括請負で範囲・期間保証の契約だけはしたくない。エスパーじゃないから無理です
あとさ、期間が6か月以内だとリスクが高いっていうけど、長いほうが当初の要件との乖離とか出てくるから顧客のビジネス上のリスクは高いし、メンバーのモチベーション維持できないリスクもあるんでないの?
※movieを映画ではなく、映像と訳しているのは、WFとAgileの比較において、以前「WFは長編映画、AgileはTV番組だ」という例えがあったからである。
http://agile.dzone.com/articles/technical-stories-are-they
より抜粋して翻訳(この記事自体も、YahooGroupのScrumメーリングリストで議論されたもの。本文中XPに関する記載はあえて除外)
疑問:プロダクトバックログに技術的なストーリーを含めるべきか
Scrum.orgのScrumガイドの説明ではこう言っている
「プロダクトバックログには、製品の開発、リリースのために必要なすべての事柄を含める。プロダクトバックログは、フィーチャー、ファンクション、技術要素、機能拡張、バグフィックス等の将来の製品出荷までに行われるすべての項目を含む」
「スプリントバックログは、チームがプロダクトバックログアイテムを完了させるのに必要なタスクから構成される。項目の多くはスプリント計画ミーティングで洗いだされる。スプリントバックログはスプリントゴールの到達に必要とチームが判断したすべての作業のことである」
状況、コンテキスト次第。
例えばあなたのDONEの定義の中に、ユニットテスト、自動テスト等の項目が含まれているなら、あえてバックログにそのような項目を載せる必要はない。顧客と交渉の必要もないし、それで十分だ。見積もりの際には定義したDONEの内容がすべて完了する時間を見積もる必要がある。
一方、「チームメンバーとして、既存のユニットテストをCruiseControl上で動作させたい」のようなストーリーはどう扱うか?
このストーリーは良く書けているけれど、エンドユーザーにとっては最終的には直接的な価値はない。こういう時は以下のようにすればよい
「この手のストーリーはプロダクトバックログには含めないけど、スプリントバックログの中には含めてよいタスクだろう。(中略)もしスプリント計画ミーティングでタスクのブレークダウンをしてるなら、この手のストーリーや作業はスプリントバックログ内のタスクとして含め、この作業に関する時間はバーンダウンチャートでトラッキングすれば良い。(後略)」
この手の話をどう扱ったらよいかはチームで議論して、チームとして最善の方法を決めたら良い。
---
上記までがまとめの内容。んで以下私見。
顧客が技術に精通している場合は、継続的インテグレーション環境を構築する、というストーリーでも分かってくれるかもしれない。
でも大多数の顧客には、この言葉は通じないので、僕の場合は、「高生産性・高品質を維持できる開発環境を構築する」というストーリーにして、そのストーリーに紐づくタスクとして、「Tracを構築する、Subversionを構築する、CruiseControlを導入する、VMwareで仮想化した開発用OSを作る、全員共通用Eclipseの設定と配布を行う」みたいなタスクにする。
以前IBMさんの無料研修に行った際に、プロダクトバックログに「開発ルームの確保」とか「マシンのセットアップ」というようなストーリーが入ってたりする例を見たけれど、僕は好みではない。
ただ、これはメーリングリストで議論されているようにチームとしてよりよい方法、やりやすい方法を考えればいいのだと思う。
マウンテン ゴート ソフトウェア社がクリエイティブ・コモンズライセンスで提供している再配布可能なScrumの説明文書(パワーポイント。原作者はアジャイルな見積もりと計画づくりの原書を書いたマイク・コーン氏)について翻訳をおこないました。
日本語訳の入手はこちら
http://www.ryuzee.com/?dl=17
原文の入手はこちら
http://www.mountaingoatsoftware.com/scrum-a-presentation
なお、訳の中には、誤字脱字、誤訳等が含まれている可能性があります。お気づきの点がありましたらコメントを記入頂くか、twitterで連絡いただければと思います。
一定時期が経過したらマウンテン・ゴート社に送付する予定です。
1/14追記
・訳の漏れとPPTのレイアウト崩れを修正しました。(かおるんさんありがとうございます)
・参考文献に、相対する日本語版の書籍名とISBNを追加しました。(かぬさんありがとうございます)
偶然見つけたんだけど、以下のサイトに、パワーポイントのプレゼンテーションが大量にリンクされている。
http://www.osun.org/Scrum-ppt.html
たとえば、An Introduction to Scrumはマウンテンゴートソフトウェア社が提供する、再配布可能なScrumの紹介パワーポイントとなっており、うまく日本語化すると社内での紹介に使えたりするのではないか。
(作者はアジャイルな見積もりと計画づくりの原書を書いたマイク・コーン氏なので、中身も折り紙つき)
このスライドの中ではScrumを100語で説明する、というスライドがあり、忙しい経営者への説明とか、話を聞かない管理職への説明にも使えそう。

ということで、順番に見ていくことにしよう。
日記 PHP オープンソース インストールマニアックス IIS Trac MySQL Perl Linux Agile・生産性向上 wordpress フリーソフト 自宅サーバ 書評 ブックマーク phpMyFaq TraM Plugin 早起き Delphi apache CakePHP Firefox Ruby eclipse セキュリティ プラグイン アジャイル mojavi Subversion Ajax/Web2.0 SQLServer Zope サーバ フレームワーク phpBB 仮想化 PostgreSQL OpenVZ scuttle CMS 文字化け 自宅 翻訳・日本語化 ApacheDS LDAP Excel 生産性向上 CodeIgniter XAMPP hacks taskfreak 修正 言語ファイル Ajax SBM ダウンロード HTML::FillInForm mod_security 情報共有