ソフトウェア開発プロジェクトを戦時と見るか平時と見るか | それゆけ西表島

ソフトウェア開発プロジェクトを戦時と見るか平時と見るか

---
平時:平常のとき。ふだん
戦時:戦争の行われている時期。戦争中。平時←→戦時
(広辞苑 第四版より)

---

プログラマは、ソフトウェア開発プロジェクトが終われば、また別のソフトウェア開発プロジェクトに移る。年中何かのプロジェクトに関わっているので、ある意味いつでも同じような状態といえる。

ただ、顧客側から見ると、ソフトウェア開発プロジェクトというのは、ルーチンワークではない、通常とは異なる仕事である。決められたマニュアルに則って作業するわけではなく、新しいことを考えなければならない。少なくとも平時とは言えないだろう。

プロジェクトが始まった際に、顧客側がアサインする担当者が、平時という意識でいるのか、戦時という意識でいるのかで状況が大きく異なる。平時という意識でいる場合、あくまでもプロジェクトは開発側にお任せ的な扱いになってしまう。戦時という意識であれば、プロジェクトを成功するために必要な行動を取るだろう。

開発側が最初にしないといけないのは、顧客との意識をあわせることである。開発側はある意味日常なので平時と言えなくもないが、顧客側にとって戦時であると意識つけることが大事である。

また、顧客があまり知識がない場合、開発側の何気ない発言にも敏感になる。「これはお客様に作業して頂かなくてはいけません」とか、「お客様にどちらか決めて頂かないとこちらは動けません」とか、顧客に負担を強いるのを前提とした発言は要注意だ。

そもそも、受託開発の場合は、顧客あっての仕事なので、顧客のソフトウェアに対する考え方や知識に応じて開発側の作業量も変わるため、見積もりも納期も異なるのが常である。これを画一的に画面数でとか、サービス単位で、とやってしまうから後でトラブルが発生するのではないだろうか。

顧客との間に信頼を築きあげるのに、言われた事をしっかりやる、というだけでは足りなくて、顧客の担当者をはじめ、関わるいろいろな人が、どのような立場でどのようにソフトウェア開発プロジェクトを意識しているか、ということをいつも考えていると、少々のトラブルは吸収できるだろう。

人があってのソフトウェア、人があってのソフトウェア開発プロジェクトということだ。技術面も心理面も両方意識していれば、それほど失敗はしないだろう。逆にどちらかが欠落していると、どこかでトラブルが発生するだろう。

と考えると、ソフトウェア開発プロジェクトって考える事が多いよね、みんなよくやってるなぁ、と思ってしまうのであった。