システム開発でよくあるトラブルを防ぐ方法
「あの人がいるプロジェクトっていつもトラブルプロジェクトな気がする…」
システム開発って難しいですよね?
- 実装工程に入ってからの仕様変更
- スケジュールの遅延
- 開発メンバーが突然来なくなる
など、予想外の出来事で、予定通りに進まないことが多々あります。
一方、うまくいくプロジェクトは、予想外のことが起きにくく、起きても一つ一つ必要な対応をして、スムーズに問題が解決できてたりします。
上手くいったプロジェクトのことを思い出してみると、解決のヒントが見えてきます。
そんなわけで、今回は「システム開発でよくあるトラブルを防ぐ方法」を紹介します。
実装工程に入ってから仕様変更される問題
「なんで設計の時に言ってくれないんだよー!」と叫びたい気持ちを抑えて、どうすればうまく対応できるかを考えてみると、
- 人は全知全能じゃないので、後になって良いアイデアが浮かぶのは仕方がない
- 多少の仕様変更は必ずあるものと考えて対応工数をあらかじめ積んでおく
とするのが良いかと思います。
なんてことはない策ですよね。「ソフトウェア開発に銀の弾丸はない」って言葉がありますから、地味で現実的な策でいいんです。
トラブルプロジェクトを生む人とは?
「田中さんがやってるプロジェクトっていつも炎上してるよね?」
こういう人っていますよね。この田中さんってどういう人でしょうか?
いろいろなタイプがいますが、共通点は「問題解決できない人」だということです。
以前勤めていた会社にもいつもトラブルプロジェクトをやってるPMの人がいました。
私は彼と同じプロジェクトで仕事をしたことはないのですが、彼のプロジェクトのメンバーに聞いた所、彼は非常に細かく進捗を報告させていたようです。メンバーには毎日日報を書かせたり、WBSも非常に細かくて入力に手間もかかるとのことでした。
そうやって細かく進捗を聞いているくせに、いざ進捗が遅れだすと
「遅れてるのでなんとかしてください」
としか言わないんだそうです。
「は?それでプロジェクトマネージメントしてるって言えるの?」
とツッコみたくなりますが、こういうPMってよくいますよね。これでは細かく進捗報告している意味がありません。
本来は遅れている理由を調べて、なんらかの対策をしなければいけません。
例えば、苦手な機能を担当しているので時間が掛かってしまっているのであれば、担当を変えるなり、サポートする人をつけるなりの対策が考えられます。
それをせずにメンバーに「遅れてるのでなんとかしてください」としか言わないのであればいる意味がありません。そんな人に進捗を報告するくらいだったらその時間を作業に回した方がマシです。
つまりは、「余計なことをなくし、必要なことをやる」、この当たり前のことが重要なんです。
突然会社に来なくなる人
たまーにいますよね、突然来なくなる人。
自分で解決できない問題を抱えているのに、それを周りに相談しないで、最終的に追い詰められて職場から逃げてしまうんです。
防ぐ方法はかんたんです。進捗報告を聞くだけでなく、成果物も確認すればいいんです。
ソースコードはGitやCVS、SVN等のバージョン管理ツールで共有し、途中でも良いので毎日必ずコミットするということを決めておけば、全く進んでいない状況を素早くキャッチできます。
それと、問題を打ち明けやすい雰囲気づくりが大切です。
- 他人の失敗を責めない
- 問題はみんなで解決する
そういった空気がプロジェクトの中で形成されていれば、一人で問題を抱え込むこともなくなるはずです!