Redmine から始める現場・企業文化改革
Redmine Advent Calendar jp 2011 Changeworld on Redmine 10日目の参加記事です。
本日12月10日は皆既月蝕が全国で観測出来るそうですね、皆さんも暖かい飲み物と羽織るもの羽織って、皆既月蝕を眺めてみてはいかがでしょうか。
さて、本日の Redmine Advent Calendar jp 2011 の記事は Redmine から始める現場・企業文化改革です。実際に私が行った改革の一歩とした事例について、簡単にご紹介します。
準備するものは、Redmine, Code Review Plugin になります。
トップダウンで行うなら別ですが、ボトムアップで改革を行う際、Redmine に限らず、ITS(Issue tracking system)を使っていない現場・企業文化では、従来の運用から一気に Redmine に変更することは非常に難しいです。しかし、Redmine, Code Review Plugin をインストールすることは簡単です。
Redmine をインストールするサーバがない? それではあなたの使っているWindows or Linuxマシンにインストールしてください。Redmine は使用する人数にも依存しますが、マシンスペックに高いものを要求しないので動きます。実際に私が最初に導入した際はノートPCに入れて運用していましたので、ノートPCでも問題ありません。
いやいや、うちの会社 or 現場はコンプライアンスが厳しいのでOSSをインストールするだけでも厳しいんだよ? あなたのプロジェクトが一切OSSを使うことを認めていないのなら仕方がありませんが、少しでも使っているならOSSだからと言って一切インストールさせないわけではないのですから、コンプライアンスを取り扱う部門と交渉してみましょう。実際に私が最初に導入した際はOSSをインストールするには管理部門の許可が必要でしたので、その部門に Redmine を使いたいこと、Redmine はどういうものなのか(TracやTFSといったITSやそれに類似した機能を持つシステムを導入しているならば、それに似ていることを説明しましょう)、Redmine を使ってどういうことをしたいのか、Redmine を使ったらどういう効果が出るのかをメールで説明して許可を貰ってインストールしました。“許可を求めるな、謝罪せよ”のマインドで行動したので、ちなみに上司の許可は貰ってません。“許可を求めるな、謝罪せよ”というのは、マーティン・ルーサー・キング・ジュニア氏が仰った“いいアイディアなら、いいからやってしまえ。許可を得るより、謝るほうがずっと簡単だ”が元となっています。
Redmine のインストールと Code Review Plugin がインストールが終われば、次に行うのは使っているリポジトリを Redmine に登録することです。こちらの詳細なやり方は本題から外れる為、割愛します。
さて、これで改革の一歩の準備は万端です。今回改革することはインストールしている Plugin からも分かる通り、Code Review です。
Pair Programming をしている人は別ですが、していない人の殆どは Code Review はこうしてらっしゃいませんか?
- レビュー対象のコードをレビュー参加人数分印刷する
- face to face でコードを1行 or 怪しい部分 毎にレビューする
- レビュー後はレビューの記録を書く
- 3で指摘事項があれば、レビューの記録を参考に指摘された部分を修正する、3で指摘事項がなければ、レビュー終了
- 1に戻る
この手順ははっきり言って時間と資源(紙)のムダです。Code Review Plugin を使って、以下の様に改革しましょう。
- レビュー対象のコードをコミットする
- レビューアを担当にして、Redmine のチケットを発行する
- Redmine がメールを送付するので、それを見たレビューアはリポジトリの対象のコードのページにアクセスし、 コードのレビューをする
- 指摘事項があったら、対象コードのリポジトリ画面から即座に Redmine にチケットを発行する
- 指摘事項がなければ、Redmine のチケットをクローズする
この手順によって、レビューの記録がチケットなので、レビューイが指摘した内容は残らず記録として残りますし、時間と資源(紙)のムダとがなくなり、レビューイ(つまり、あなた)もレビューアもWin-Winの関係になります。
レビューイに新しい手順をやってもらえない? あなたの現場・企業のレビューイはメールを受信することとブラウザで特定のURLを開くことが出来ないのですか? そんなことないですよね。それならば、問題ありませんよ。今までのやり方から新たに追加されることはそれ位ですからね。
レビューイが新しい手順に否定的? それではレビューイには次の内容を伝えると良いでしょう。
- “あなた(レビューイ)はレビューに邪魔されることはありません。あなたに都合の良いタイミングで、あなたに都合の良い時間だけレビューをすることが出来ますよ”
- “指摘した内容が漏れることはありません。Redmine にチケットとして残りますから、あなたは指摘の解消状況を容易に把握することが出来ますよ”
この2点を伝えて、反対した人はそもそもレビューが出来ない人(ただレビューに同席していただけでまともな指摘を出来ない人)でしたので、その人がレビューしなくても問題ありませんよね。レビューイとして必要な人でもこの2点で納得しないかもしれません。その際はあなたのコンテキストにあった内容で相手を納得させてください。基本的に不安に思っていることを解消してあげれば、大抵の人はこの改革に同意してくれます。