‘Redmine’ タグが付けられた記事
Redmineで文章を記述するにはtextileという表記方法を使います。
ところが、Redmineのtextileは、タグの使用に制限がかけられています。
例えば、表を作って「セルの中に複数行書きたい」ということができません。
表の書き方
まず、textileでの表の書き方。
|_. 国名|_. 言葉|_. 通貨|
|_. 日本|日本語|円|
|_. アメリカ|英語|米ドル|
|_. カナダ|英語|カナダドル|
このように書くと
国名 | 言葉 | 通貨 |
---|---|---|
日本 | 日本語 | 円 |
アメリカ | 英語 | 米ドル |
カナダ | 英語 | カナダドル |
こう表示されます。
設定変更
表のセルの中で改行を認めるには、設定を変える必要があります。
/var/lib/redmine/lib/redcloth3.rb (Redmine を /var/lib/redmine にインストールしたものとする)をエディタで開き、ALLOWED_TAG の行を下のように変更します。
ALLOWED_TAGS = %w(redpre pre code notextile br)
改行タグ<br>が使えるように、brを追加しました。同様にすれば他のタグもtextileの中で使えるようにできます。
ファイルを保存したら Apache を再起動すれば準備完了です。
ただし、これらの設定変更は、あくまでも自己責任でお願いします。
改行を入れてみる
|_. 国名|_. 言葉|_. 通貨|
|_. 日本|日本語|円|
|_. アメリカ|英語|米ドル|
|_. カナダ|英語<br>一部フランス語|カナダドル|
このように<br>タグを入れることで、
国名 | 言葉 | 通貨 |
---|---|---|
日本 | 日本語 | 円 |
アメリカ | 英語 | 米ドル |
カナダ | 英語 一部フランス語 |
カナダドル |
このように、カナダの言語を2行で表示することができます。
Redmine でチケットの更新をしようとして、希望のステータスに変更できないことがあります。
よくあるのが、一度「終了」にしたがもう一度「担当」に戻そうとしたらできなかった、というもの。
これは、ワークフローの設定によるものです。
ワークフロー
管理者権限でログインして、管理→ワークフロー で設定を変更できます。
たいてい、ロール=管理者では、初期値は全ての変更ができる設定になっています。
不便なのは、ロール=開発者の設定だと思います。
「現在のステータス」が「終了」の行にチェックがついている列は、「終了」からそのステータスに変更することができる、という意味です。
「終了」から「担当」に戻せるようにしたければ、該当部分にチェックをつければOKです。
自己責任で
もちろん、初期設定で「終了」から別ステータスに変更できなくしてあるのは、理由があってのことです。
簡単には戻せなければ「終了」にする際には「本当にこの作業は終わっているかな」と十分にチェックしますよね。
逆に簡単に戻せたら、「残作業は少しだから、終了にしておこう」と安易に終了にして、そのまま忘れ去られてしまう、ということが起こりえます。
こういった危険性を考慮した上で、設定変更は自己責任でお願いします。
Redmine や Subversion の紹介をしてきましたが、慣れない方にはこれらの設定はなかなか難しいものです。
いろいろ調べればできないことはないのでしょうが、おそらく気の遠くなるような時間と労力が必要になります。本来の仕事に時間を使う方が、絶対に得策です。
でも、Redmine も Subversion も、あれば絶対に便利で、効率アップ間違いないのです。
矛盾
そうです。どのソフトウェアも、ぜひ使って欲しいものばかりです。
その一方で、設定するためには膨大なノウハウと時間が必要なので、安易に「使ってみて」とは言えませんでした。
そこで新製品
そこで、新製品を開発しました。その名も Momiji(もみじ)。
これは、CD-R と 外付けUSB-HDD からなる製品です。
古いパソコンでもいいので、Momiji を動かせば、いろいろな機能を持ったサーバに生まれ変わるのです!
例えば、こんな機能を持っています。
- プロジェクト管理(Redmine)
- バージョン管理(Subversion)
- ネットワーク 共有フォルダ(Samba)
- ウェブサーバ(Apache2)
- 世代管理バックアップ(Moody Blues)
使い方
使い方はとても簡単です。
CDドライブから起動できるパソコンに、Momiji の CD と USB-HDD をセットし、電源を入れてください。
あとは、起動するまでしばらく待てばOK。
ところで動作環境ですが、メモリ256MB あれば、なんとか動きます。
開発時は、2002年発売のノートパソコン(Mobile Celeron 1.06GHz、メモリ256MB)で動かしていました。
さて、そうこうしているうちに、起動しました。
他のパソコンから、ネットワーク経由で Momiji が見えれば準備完了です。ネットワークごしに、各機能を使えます。
こんな使い方も・・・
先日、取引先から「パソコンが起動しなくなったが、なんとかデータだけでも取り出せないものか」と相談を受けました。
そこで、Momiji の登場です。
パソコンのハードディスクに入っているOSは起動しなくても、CD からの Momiji はちゃんと起動しました。
Momiji はハードディスクにアクセスすることもできますし、Windowsの共有フォルダにもアクセスできます。
この機能を使って、無事に壊れたパソコンからデータを救出することができました。
まとめ
いろいろな使い方ができますが、メインはやっぱり「便利な機能を簡単に使える」ということ。
CD と USB-HDD をセットして電源を入れるだけです。
隠し機能ではないのですが、目立たない所にリンクがあるので、見落としがちな機能の紹介です。
チケットを登録した後に、「もっといい名前があった」と後悔することはありませんか?
または、「意図が伝わらなかったから説明を変更したい」ということはありませんか?
チケットの題名と説明は、後からでも変更できます。
準備(設定)
“Edit issues”の権限が必要ですので、管理者権限でログインして「管理」→「ロールと権限」で変更してください。
インストール後に設定を変えていなければ、プロジェクトの管理者と開発者には、”Edit issues”は与えられているので、この準備は不要です。
プロパティの変更(続き)
チケットの更新画面を開くと、ステータスや進捗率を入力するための、「プロパティの変更」欄が表示されます。この後ろに「(続き)」とあるので、これをクリックします。
すると、チケットの題名や説明を変更できるようになります。
後は、通常のチケット更新と同じです。
先日、Subversion のリポジトリアクセスを SSL 対応にする手順を紹介しました。
SSL接続のみ許可する
さらに、/etc/apache2/conf.d/subversion.conf ファイルの記述に SSLRequireSSL の行を追加することで、
<Location /svn/[リポジトリ名]> DAV svn SVNPath /var/lib/svn/[リポジトリ名] AuthType Basic AuthName "Subversion Repositries" AuthUserFile /var/lib/svn/itpk/conf/.htpasswd Require valid-user SSLRequireSSL </Location>
このリポジトリには、 Apache2 経由では SSL通信でしかアクセスできなくなります。
こうしておくことで、設定ミスで(または面倒だからという理由で)通常のHTTPで通信することがなくなるので、安全性が高まります。
Redmineからリポジトリへアクセス
ところで、Redmine では プロジェクトにリポジトリを対応付けられます。
とてもよくできた機構で、どのチケット(=Redmineでは1つの作業をチケットで管理する)のために、どのファイルのどこを変更したのかが分かるのです。
で、Redmineでこの機能を使うためには、プロジェクトの設定で リポジトリを指定する必要があります。
ところが、SSL通信を使って “https://…” を指定すると、Redmineからはリポジトリにアクセスできません。
どうも、SSL通信で失敗しているようです(正式な証明書を使用していないせいかもしれません)。
普通に “http://…” ならばアクセスできるのですが、Redmine のためだけに抜け道を用意するのは、躊躇(ためら)われます。
社員に何の悪気がなくても、その抜け道を使ってしまえば、悪意のある盗聴者に重要なファイルが漏れる恐れがあるからです。
解決策
解決策は非常に簡単でした。
Redmine に リポジトリ の設定をする際には、http 以外にも file や svn といったプロトコルを使って URL 指定をすることができます。
svn プロトコルは、svnserve というプロセスが動いていないといけないのですが、 file はファイルアクセスができればOKです。
我がITPKの社内サーバでは、Redmine が動いているマシンに、Subversion リポジトリの実体があるので、もちろんファイルアクセス可能です。
なので、 file:///var/lib/svn/[リポジトリ名]/ を指定することで、SSL通信だけに制限しても、Redmine からリポジトリアクセスできます。
もちろん、Redmine はローカルファイルアクセスをしているだけなので、盗聴の恐れもありません。
「2010年は定時で帰ろう」シリーズの記事です。お時間がありましたら、関連記事も合わせてお読みください。
今回は「資料があちこちにあって、探すのに時間がかかる」のをなんとかしよう、という話です。
生きるとは探すこと・・・?
半年ほど前の「ガイアの夜明け」で、”片付け士”が紹介されていました。
この中で興味深かったのが、仕事中に物を探している時間についての話です。なにせ半年前なので曖昧な記憶ですが、人は約12分の1の時間を「何かを探す」のにあてているそうです。
この数字、曖昧な記憶にしては、それなりに的を射ていると思いませんか。
例えばネット検索でこのページにたどり着いた方、目的の情報は得られたでしょうか?なかったとしたら、さらに探す時間が増えるわけです。
ネット検索は知りたいことを探すのだからまあ建設的ですが、うまく整理しておけば探さなくて済むものを探すのは時間の無駄ですね。
資料は探せますか?
書類や在庫の整理はちょっと置いておいて、パソコンで作成した資料についてです。
パソコンで作成した資料は、たいてい”ファイル”という形で保存します。
人によって様々(まずここが問題)ですが、プロジェクト名のフォルダを作り、その中に「企画書」だとか「設計書」のような種類を表すフォルダを作り、…。としますね。多分。
そして、メールです。以前の記事にも書きましたが、何でもかんでもメールで送られてくる時代です。ほら、せっかくフォルダを上手に作っても、資料がファイルとメールに別れてしまいました。
「ファイル検索しても見つからない」と思ったら、メールに書いてあった、なんてことはありませんか?
古い資料は消す・・・わけにはいかない
フォルダ(またはディレクトリ)という仕組みは、とてもよくできた仕組みだとは思うのですが、「時間軸」という視点が欠けていると思います。
例えば、”企画書.doc” を修正したとき、そのまま上書き保存すれば、古いファイルは消えてしまいます。(弊社では、これを手軽に解決する Moody Blues という製品を提供しております)
古い状態も残したいと思ったら、古いファイルを”企画書_org.doc”という名前にでもしておくか、新しく保存する時に”企画書2.doc”とするなどです。
これを続けていくと、似たファイル名がたくさん並んでしまい、「本当はどれがオリジナルなのか」「いったいどれが最新版なのか」が分からなくなってしまいます。
「時間軸が欠けている」という意味が伝わったでしょうか?
Redmine で解決!
さて、Redmine の登場です。
Redmine では、1つのプロジェクトごとに、1つのウェブサイトがあるようなイメージです。
そのウェブサイトの中には、進捗管理のページや、掲示板、ブログ、ファイル保管庫などの機能が入っています。
メールはもちろん使ってもかまいませんが、重要なメールはRedmineの掲示板にそのまま書き込んだり、文書として登録してしまってください。
作ったファイルはファイル保管庫に置くのもいいでしょう。
(登録するプロジェクトさえ間違えなければ)検索機能で即座に資料を探すことができるのです。
Subversion で解決!
大雑把に言うと、フォルダに時間軸を持たせることができます。
普通に見ていれば、現在のファイルが見えます。
ところが、過去の好きな時点(リビジョンと言います)を指定すれば、(消してしまったファイルやフォルダも)その時の状態で見ることができてしまうのです。
だから、安心して古い資料は上書きしたり削除できるのです。
しかも、それぞれのリビジョンにはコメントを残せるので、「概要だけ作った」「一通り完成した」「社長の承認を得た」「顧客に提示した」「顧客の要望を取り入れた」…というように入れておけば、後から「最初に見せてもらった時のグラフだけちょうだい」なんて言われても、慌てずに済むのです。
よく「掃除とは捨てることだ」と言われますが、ファイルに関しても同じこと。不要なものは捨てた方が、必要なものを見つけやすいのです。
それでいて、Subversion があれば、捨てたファイルも取り戻せるんです。
まとめ
資料を探すのには時間がかかります。
資料を見つけやすい状態に保つためには、労力が必要です。
Redmine や Subversion は、その労力を大幅に軽減してくれます。
「2010年は定時で帰ろう」シリーズの記事です。お時間がありましたら、関連記事も合わせてお読みください。
今回は「チーム内の情報共有ができていない」ために仕事の効率が悪くなっている状態と、改善するための取り組みについてです。
なんでもメールで送っていませんか?
電子メールは、今日では公私共になくてはならない情報伝達手段となりました。電子化された情報ならばたいていのものは送れます。
しかし、チーム内での情報共有という観点からは、いくつか問題点があります。
「最新の情報らしきもの?」がいくつもある

どれが最新?
まず、「最新の情報らしきもの?」がいくつもできてしまう点です。
メールに返信したら、既に訂正メールが届いていた、という経験はありませんか?
「打ち合わせは明日の午前中でよろしいですか?」に返事を書いている最中に、「やっぱり、午後にしてください」と届いていたとか。
また、例えば5人に一斉送信して、5人全員が返信を返したら、それだけでもう最新情報が5件になってしまいます。
誰かが取りまとめようとしているうちに、さらに返信に対する返信が送られて・・・。こうなると、もう手が付けられません。
メールは相談とかディスカッションには向かないのです。
メールの山に埋もれてしまう

大事なメールはどれ?
電子メールは送信先にアドレスを書くだけで、簡単に多くの人に送信できます。特に管理職は、進捗報告も兼ねて、なんでもかんでも送られがち。
そうでなくても、人によっては1日に何百通ものメールを受け取ります。
その中から、自分が対応するべき内容を探すのは、かなり大変なことです。
一般的に「情報は一元管理」したほうが効率的ですが、重要な情報が埋もれてしまうような一元管理は考えものです。
情報が分断される
口頭でもメールでもよくある事ですが、「細かい指示は後ほど出します」と言われることはありませんか?
また、作業を進めていく上で出てきた質問やそれに対する回答など、通常は作業に必要な情報は徐々に集まってきます。
それらの情報を全部揃えることで作業を遂行できるわけですが、口頭やメールでの指示では情報が何回かに分けて出されるのが普通です。
ところが、確認のためにこれらのメールを集めるだけでも、けっこうな手間がかかるのです。
メンバーが増えたときに・・・
メンバーが増えたり、引継ぎのときに、これまでの経緯を伝えるのも一仕事です。
「今までのメールを転送するから、読んでおいて」で済ますのも、渡される方にとってはとても非効率です。
Redmine で解決!
さて、Redmine の登場です。
これまで書いてきた、よく見られる問題点は、全て Redmine で解決できてしまうのです。
「フォーラム」でディスカッション
相談やディスカッションなど発言が交差しそうな時には「フォーラム」という機能が役立ちます。
これは簡単に言えば「電子掲示板」です。チームメンバーが書いたメッセージをチーム内で閲覧でき、それに対する返事を書くこともできます。
メッセージを書く場所が1個所なので、
決まった事柄は「Wiki」や「文書」に登録
ディスカッションで決まったことは、「Wiki」にまとめましょう。
「Wiki」という機能は、簡単な表記ルールで文章を書くことのできる機能です。
変更や追記も簡単なので、指示の追加や変更などがあっても安心です。書き換えたことはチーム全員に通知されるので、連絡漏れの心配もありません。
さらに、もっと体系的にまとめることができたら、「文書」という機能に登録するのもいいでしょう。この機能は「文書の保管庫」です。
複数の文書を登録できますし、検索機能があるので目的の情報を簡単に探すことができます。
新しく加わったメンバーも、ここの文章に目を通せば、これまでの経緯が体系的に把握できるのです。
まとめ
Redmine には、簡単に情報を「書く」「読む」「探す」仕組みが整っており、チーム内の情報共有に関する多くの問題点を解決できます。
この、「2010年からは定時で帰ろう」シリーズの記事は、実は Redmine という OSS(オープンソースソフトウェア) の紹介記事です。
これからも、この Redmine の紹介記事を書いていきますが、その前に一つだけ気に留めておいて頂きたいことがあります。
それは、ソフトウェア開発者以外の方にとっては「Redmine は一部の機能だけでも魅力的です」ということです。
Redmine はソフト開発者だけのもの?
Redmine は、バグトラッキングシステム というジャンルに分類されます。
これは、ソフトウェア開発でバグ(欠陥)の修正を効率的に行うためのシステムで、バグ報告から修正版ソフトウェア公開まで、非常に幅広い機能を持っています。
そして、おそらくこの記事を読んでくださっている方のほとんどは、「バグトラッキングシステム」なんて必要ない方だと思います。
しかし、私たちはそれを承知の上で、なおも Redmine を薦めたいと思っています。
なぜならば、(ソフトウェア開発以外の)多くの職場でも、Redmine の機能は役立つものだからです。
「課題」
Redmine では一つの仕事を チケット という名前で呼びます。
これがソフトウェア開発では、修正するべき「バグ」であったり、作るべき「機能」であったりするわけです。
Redmine を使った作業の進め方は、基本的にこのように進めます。
- 報告者がチケット(=バグ、機能)を登録する
- リーダーが担当者を決める
- 担当者が作業をして、チケットを更新する
- リーダーが作業終了(=バグの修正、機能の追加)を確認し、チケットを終了する
さて、このチケットを「課題」と読み替えてみてください。
- 報告者が「課題」を登録する
- リーダーが担当者を決める
- 担当者が作業をして、「課題」を更新する
- リーダーが作業終了を確認し、「課題」を終了する
いかがでしょうか、これならばソフトウェア開発の現場でなくても通用すると思いませんか?
実際に我が ITPK では開発以外の作業についても、 Redmine を使っています。
例えば、、、
- 年賀状印刷
- 買掛金/売掛金の処理
- 電話料金の問い合わせ
- プリンタの購入計画
など。
全ての仕事を Redmine で管理することのメリットは、「漏れがなくなる」ことです。
優先度が低い仕事であっても、常に作業リストには並んでいるので、「忘れ去られる」ということがありません。
仕事の計画を立てる際に、(後回しにするにしても)一旦目に入るので、その作業があるという前提で計画を立てられるのです。
「情報共有」
詳細は次回以降に書こうと思っているので概要だけ紹介します。
チームメンバー同士の情報共有はどのようにしていますか?
直接会って話せれば、かなり微妙なニュアンスまで共有できますが、なかなか時間が合わないという欠点があります。また、伝わったと思ったのが錯覚だった、なんてことも。一番の問題点は、記録が残らないことではないでしょうか。
最近では、情報はメールでメンバーに送る、なんていうことも一般的に行われているようです。
でも、メールは非常に便利で手軽なだけに、他の用途にも使われますから、きちんと整理しておかないと、読みたいメールが埋もれてしまいがちです(メールって検索しにくいんですよ)。
それと、後から参加したメンバーが過去の情報を読めない、という欠点も大きいです。
Redmine では、チームメンバーの情報共有のために、「ニュース」「フォーラム」「文書」「Wiki」という機能があります。
どれも似ているので、どれを使ってもOKです(一般的にも使い分けの明確なルールはないようです)。
とにかく、仕事に関する情報は、全てまとめて Redmine に登録してしまうのです。整理の苦手な人は書き込むだけで、後は整理上手の人が分類する、なんてのもいいでしょう。
我が ITPK では、
- 頻繁に変更される事柄 → Wiki
- 議事録 → 文書
- 定型業務の作業手順 → 文書
- ディスカッション(雑談?) → フォーラム
という具合に使っています。
「更新履歴」
もう一つだけ。とても便利で、ソフトウェア開発には必須システムなのに、それ以外の業種では全然使われていない機能を紹介させてください。
それは、バージョン管理システム です。
バージョン管理システムとは、ファイルの「更新履歴を管理」するためのシステムです。
皆さんの職場でも、見積書や企画書、報告書などの文章を、Word や Excel などで作ることがあると思います。
さて、このファイルを複数の人が編集する、なんていうことはありませんか?
過去に私にも経験があるのですが、このようなことをしていると、たいてい
- 誰かが変更したのに気付かず、別の変更で上書き保存してしまう
- 誰かが変更したみたいだけど、何を変えたのか分からない
- 誰かが変更したらしいが、変更したファイルを送ってこない
といったトラブルが発生します。
しかし、バージョン管理システムを使用することで、
- 複数の人の変更を合わせる(マージする)ことができる
- 複数の人が同時に変更できないようにも設定できる
- いつ、誰が、なぜ、どのような変更をしたのかが分かる
- 他の誰かが変更したファイルを、いつでも取得できる
- いつでも過去の好きな状態に戻すことができる
我が ITPK では、Redmine に Subversion というバージョン管理システムを連携させて使用しています。
実はこの Subversion は、ただ単にファイル共有機能だけでも、非常に便利なのです(詳細は今後の記事で紹介していきます)。
まとめ
Redmine や Subversion は、一部の機能だけでもとても魅力的です。
特にその “一部の機能” は、ソフトウェア開発者以外の方にこそ使ってもらいたい機能です。
「2010年からは定時に帰ろう」の続きです。
今回は、「自分自身が何から手をつけたらいいのか分からない」という混乱した状態を解決する方法を紹介します。
仕事が大きい

仕事が大きい・・・
「何から手をつければいいのか分からない」と思うような仕事は、まず「大きさが適切か」を考えてみましょう。適切な大きさは、作業者の経験によって変わってきます。
例えば、料理に慣れている人にとっては「夕食の準備をする」というのは、適切な大きさの仕事です。
でも、私のように料理に慣れていない人間にとっては、それこそ「何すればいいの?」となります。
私にとっては「ご飯を炊く」「味噌汁を作る」「魚を焼く」「サラダを作る」程度に細分化してもらえれば、なんとかなります。
私よりも料理に疎い人ならば、それぞれの作業をもっと細分化する必要があるでしょう。
とにかく細分化です。それを箇条書きで並べるのです。いわゆる「To Do リスト」ですね。
人間目の前にリストがあると、チェックしていきたくなるものです(そうでない人は、そこから意識改革を)。
仕事が多い

仕事が多い・・・
さて、細分化したら仕事が膨大な量になってしまうことも、少なからずあります。それこそ、何から手をつければいいのか分からなくなります。
でも、それぞれの仕事には、優先度だとか期間、或いは前後関係(例えば、大根を切る→味噌汁を煮る、など)があり、自然と作業の順番は限られてきます。

順番に片付ける
つまり結局は「To Do リスト」なのです。優先順位付きの「To Do リスト」を作ってしまえば、あとは上から順にやっていくだけです。
やると決めたら
元来、集中している状態は効率がいいものです。
逆の言い方をすれば、集中している状態の効率をさらに上げるのは難しいのです。
したがって、効率を上げるためには、集中できない時間を減らす必要があります。
ところで、緊急の割り込み作業が終わって元の作業に戻ったときに、「どこまで進んでたっけ」としばらく考えることはありませんか?考えている間は集中出来ていませんね。
割り込み作業の発生は不可抗力ですが、自分でコントロールできる範囲であれば、一度始めた作業はきりのいいところまでノンストップで進めるべきです。
そして、あれこれ他の作業を気にしながらの作業するのも、効率が悪い状態です。「To Do リスト」を作ったら、とにかく上から順に片付けるように心がけてみてください。
あれこれ気にするのは、リストを作る時(と見直す時)に済ませてしまうのです。
Redmine
さて、ここで紹介したいのが、Redmine というソフトウェアです。
これがいったい、何なのか?を一言で説明するのは、ちょっと難しいので、いろいろな問題(今回は「何から手をつけていいのか分からない」)を解決する手段として紹介します。
Redmine を使うと・・・
Redmine では、仕事は「チケット」という単位で扱います。
「マイページ」には、自分が担当しているチケット(=やるべき仕事)が一覧表示されます。ここには、自分が登録したものも、他の人が自分を指名して登録したもの(=頼まれた仕事)も含まれています。
チケットには優先度を設定でき、期間や予定工数、チケット同士の前後関係も設定できます。
これらを入力することで、ガントチャートを作成してくれますし、自分のTo Do リストも作ってくれます。
ガントチャートを見れば、「いつまでに何をするのか」と「今どれくらい進んでいるのか」が、視覚的に分かるのです。
ちなみに、赤い四角は予定よりも遅れていることを表していますので、このガントチャートを見れば「遅れている作業がある」と判断できるのです。
「仕事は全てチケット登録する」というルールにしてしまえば、チケットを片付けることに集中すれば仕事がみるみる片付いていくのです。
次回予告
次回は「チーム内で意思疎通ができていない」の対策です。