開発管理

情報マネジメントが大切だ

■開発プロジェクトは混沌としがちだ
組み込み機器の製品開発をしていると、どの製品にどんな部品が使われていて、どんなソフトウェアが入っていて、どのバグがどの時期から修正されているのかを気にする必要がある。
そんなこと当たり前じゃないかと思われるかもしれないが、新しい事業を始めたばかりのころは、担当者は初めてのことばかりで、試行錯誤しながら仕事をしているため、そういうことにまで気が回らないことが多い。
その結果、事業を始めて数年経ち、気がついたときには、上に書いたような情報が分からなくなってしまっているということになりがちだ。

■構成管理と変更管理、そしてコミュニケーションが大切だ
そんなことにならないために、日頃から構成管理と変更管理をきちんと行っておきたい。
また、その前提として、関係者間のコミュニケーションが十分に行われていることが必要だ。

関係者が日頃から情報をやりとりする習慣があり、みんなの情報を整合性のあるものにしようという気持ちがあれば、上に書いたような情報を整理して、維持していくことは比較的簡単に行える。
そのためのツールも今では無料で手に入る。
構成管理ならSubversionがよく使われてるし、変更管理ならRedmineやTracが有名だ。

■プロジェクトを混沌から守ろう
Subversionを使えば、進捗管理上のリスクを見つけたり、構成管理上のリスクを見つけ出したりすることができる。
また、RedmineやTracを使えば、プロジェクトマネジメントや開発マネジメントの情報をみんなで共有することができる。

プロジェクトマネジメントでは、いかに情報をマネジメントするかが重要だ。ツールを上手につかいながら、プロジェクトが混沌としていくのを防いでいこう。

| | コメント (0) | トラックバック (0)

手軽に情報共有

とある業務の進捗管理用にホワイトボードを使うことにした。

その業務の担当者が数人いて、受付→処理→承認、とフローが進むたぐいのものだ。

最初はWebアプリケーションで管理しようかと思ったのだが、壁に張り出すなどしたほうが、みんなで情報を共有しやすいという声が多かったので、壁にホワイトボードを張り付けてそこに進捗状況を書き出すようにしたのだ。

調達予定のホワイトボードが届くまでの間、行き先表示版の一角を借りて、試して見たところ、思った以上にわかりやすい。

お金をかけず、手軽に、みんなで情報共有するには、よく見えるところに情報を張り出しておくのが良さそうだ。

★WOZ★

| | コメント (0) | トラックバック (0)

失敗の兆候に気づいて、失敗を予防したい

ソフトウェア開発チームの仕事について、何か失敗しそうだという感じがすることがある。

しばらくの間、同じ開発案件を対象として、開発計画の進捗状況をウォッチしていたり、設計書のレビューに参加していると、とくにそうだ。

実際に失敗することもあるし、そうでないこともあるのだが、失敗した時に、その理由を調べてみると、「あの時、失敗の兆候に気づいていれば、予防できたのに、、、」と残念な気持ちになることが多い。

ソフトウェアの他の分野でも、そんなことを感じている人は多い様で、工学の一分野として研究されている。

★WOZ★

失敗学のすすめ (講談社文庫) Book 失敗学のすすめ (講談社文庫)

著者:畑村 洋太郎
販売元:講談社
Amazon.co.jpで詳細を確認する

| | コメント (0) | トラックバック (0)

Subversionのログを使って開発チームの状況を調べよう

Subversionのログ解析ツールStatSVNを使えば、

  • 開発者ごとのコミットのタイミング
  • リポジトリに含まれるソースコードや文書の量や変化

などを知ることができる。

このようなデータを解析することで、

  • 最近チームメンバが深夜まで働いている
  • そろそろテストも終盤だというのに、ソースコードが急に増えた

といった開発プロジェクトの危険な兆候を見える化することができる。

しかし、StatSVNでログ解析するには、調べたいリポジトリをチェックアウトしなければならない。開発マネージャにしてみれば、いちいちチェックアウトするのは面倒だろうし、リポジトリのサイズが大きければ余計な時間もかかってしまう。

また、普段から開発の実務に慣れていない開発マネージャなら、うっかりとリポジトリを壊してしまうかもしれない。そんなリスクは避けたい。

実は、リポジトリをチェックアウトしなくても、次のように、ある程度まで開発の状況を調べることができる。

コミットログを調べたいなら次のコマンドを実行する。

$ svn log リポジトリのURL -v --xml > log.xml

これで、誰が、何時、何をコミットしたのかというコミット履歴を取得できる。

また、リポジトリに含まれるファイル一覧を調べたいなら次のコマンドを実行する。

$ svn list リポジトリのURL  -R --xml > list.xml

これらを調べるだけでも、何時ぐらいまで開発メンバが働いているかとか、成果物の出来具合はどうかなど、開発の状況を知ることができる。

また、上記のように出力ファイル形式をxmlにしておけば、その後の加工も用意なので、StatSVNのようなツールを自分で作って、好きなように解析することもできる。

★WOZ★

| | コメント (0) | トラックバック (0)

Subversionのログ解析ツール〜StatSVN

構成管理ツールにSubversionを使っている人は多いだろう。

そのSubversionのログ解析ツールがStatSVNだ。

StatSVNを使えば、

  • 開発者ごとのコミット履歴
  • リポジトリに含まれるソースコードや設計文書の量とその変化

などを知ることができる。

開発マネージャは、このようなデータを解析することで、

  • 設計文書やソースコードが計画通りに出来ていない
  • 最近、チームメンバが深夜まで働くようになった
  • そろそろテストも終盤だというのに、ソースコードが急に増えた

といった開発プロジェクトの危険な兆候を見える化することができる。

★WOZ★

| | コメント (0) | トラックバック (0)

Redmineで開発管理しよう!(3)

2010年1月1日に、Redmine.JPのサイトに”Redmine.JP Blog”ができた。
「Redmineをより活用するためのtipsなどをお届けするブログサイト」だ。

Redmineを使ったチケット駆動開発が一般化すれば、プロジェクト崩れになるリスクも小さくなると思う。

★WOZ★

| | コメント (0) | トラックバック (0)

ふつうのやつらの上をいけ

モダンな開発手法を導入していない開発チームでは、進捗管理、構成管理、テスト管理が、個人の力量まかせになっているという話をよく聞く。

そういう組織では新しい手法を提案したところで、採用される可能性は低いし、仮に採用されたところで、提案者が何から何まで他の人の面倒を見るハメになるのが目に見えている。

例えば、構成管理のやり方がわからないから、どんなディレクトリ構成にするか、ファイル名は何にするか決めてくれ、とかね。

人は、長い間ずっとやってきたやり方を捨ててまで、新しいやり方を取り入れることは、なかなかできないものだ。それらしい「できない理由」をつけるのだが、実のところ、面倒くさいのでやらない。

そんな人々を相手に、馬鹿らしいので提案なんて止めておこう。

そして、自分だけこっそり、便利なツールを使って楽をしよう。Redmineも、Subversionも、TestLinkも、Windowsに対応しているので、ツールを動かすのにLinuxマシンは必要ではない。いつも使っているWindowsマシンで十分だ。

これらのツールを使えば、仕事は本当に楽になる。昔ながらの古い手法で無駄に遅くまで残っている人々を尻目に、さっさと定時で帰ってしまおう。

そんなふうに考えている新しい世代のエンジニアは結構いる。

古い世代のエンジニアの考えに染まらないように気をつけながら、彼らが去っていくのを静かに待とう。

★WOZ★

 

にほんブログ村 IT技術ブログへ
にほんブログ村

| | コメント (0) | トラックバック (0)

チケット駆動開発

RedmineやTracなどのプロジェクト管理ツールを使い、それらのツールにチケットとして登録した作業を、一つ一つ終わらせていくことにより、開発プロジェクトを進めていく手法を、チケット駆動開発という。

この手法を使うと、

  • 開発を終わらせるまでに、誰が、いつ、何をしないといけないのか
  • いまどこまで終わっているのか
  • 各メンバーが、今、何をしているのか
  • 何が問題なのか
  • 何がリスクなのか

について、開発チーム内で情報を共有できる。

また、開発担当者にとっては、マネージャに報告する手間が省けるし、マネージャにとっては、開発チームの状況がリアルタイムに見渡せるというメリットがある。

ソフトウェア開発に限らず、チーム開発を行う場合には、とても有効な手法だ。

★WOZ★

参考リンク:

にほんブログ村 IT技術ブログ ソフトウェアへ
にほんブログ村

| | コメント (0) | トラックバック (0)

wikiを使って情報共有しよう!

ソフトウェア開発チームが、

  • 開発プロセス
  • 開発ツールのインストール方法
  • コーディング規約
  • Tips

その他もろもろの情報を共有するには、Wikiが最適だ。

Webアプリケーションなので、ブラウザさえあればどこからでも読み書きできるし、他人が書いた記事の間違いに気づけば、修正することもできるので、情報は常にアップデートされている。

ソフトウェア開発チームにとって情報の陳腐化は忌避だ。

それを防ぐために、Wikiは最適なツールだ。

僕がソフトウェア開発チームに導入したのは、MoinMoinというwikiアプリケーションだ。

MoinMoinはPythonで書かれていて、oracleやmysqlといったデータベースソフトウェアを必要としないので、とても手軽に導入できた。

日本語の文献がないのが欠点なのだが、Wikipediaにも載っているので、それほどマイナーということもないのだろう。

ネットを探せば、MoinMoinを紹介している日本語のサイトもある。英語が嫌いでない方は是非、挑戦してみてほしい。

★WOZ★

にほんブログ村 IT技術ブログ ソフトウェアへ
にほんブログ村

| | コメント (0) | トラックバック (0)

朝会から開発管理を始めよう!

もし、あなたがソフトウェアの開発マネージャで、

ソフトウェアの開発経験が0年の新卒エンジニア数人とともに、

納期3ヶ月の新規開発をしなければならないとしたら、

どうすればいいだろう?

プログラミング言語は重要だ。

そして開発管理も重要だ。

さらに、開発チームのコミュニケーションも重要だ。

開発チームのコミュニケーションのために、朝会を開こう。

朝会では、開発チームのメンバーが開発管理ツールに登録しているチケットの内容を確認しよう。チケットには、

  • 何をしなければならないのか?
  • それを、いつまでにしなければならないのか?
  • その仕事の担当は誰なのか?
  • その仕事が今どこまで終わっているのか?
  • 何がリスクなのか?

という情報が登録されている。

朝会の場で解決できるものは、すぐ解決しよう。

解決できないものは、担当者を決めたり、検討する計画を立てよう。

朝会は、開発チームが情報を共有し、リスクを早期に発見し、問題を機敏に解決するための絶好の機会だ。

★WOZ★

にほんブログ村 IT技術ブログ ソフトウェアへ
にほんブログ村

| | コメント (0) | トラックバック (0)