何か着ていればいいよ

ソフトウェア技術者の日常や技術の話を書こうと思います。

プロジェクトチームの積重ねとそれが雲散霧消すること

私は、請負契約のプロジェクトでチームリーダーをかれこれ6、7年やっています。
いままで私が携わったプロジェクトは非常に苦しい思い出も多く、常に試行錯誤の毎日。
そして日々、小さな成功とそれより少し大きな後悔が交互するような開発者ライフを送ってきました。

私が所属している組織の利益の源泉はソフトウェア開発者をお客様の元へ請負常駐という形で送り出すというものですが、細々と社内で請負プロジェクトの開発を行っており、私は客先に出向いたり社内に戻ってきたりを繰り返しながら近年は概ね社内で請負プロジェクトのリーダーをやるという感じです。

私が携わってきたプロジェクトは規模も期間もお客様の業務要件も様々。
その都度まったく異なる事象との戦いで過去の経験が役に立たない場面も多く、苦悩と共に損失を出しつつ、たまには利益を出したりしながらこなしてきました。

技術的要件のプライオリティが毎回変わるため、ある時は通信、ある時はDB、ある時は他システムとの連携などその時々にあった課題に取り組んできましたが、なかなか技術的な積み上げの効かなさを感じつつもプロジェクト運営や開発環境、メンバー間の情報共有、共通認識の構築というメタな部分では毎回の積み上げが効きうるため少しづつ生産性の向上が可能なのではないかと考える部分です。

そこで、問題になるのが

  • 短いスパンのプロジェクトを多くこなしつつも、毎回プロジェクトメンバーの顔触れが変わる。
  • 年の半分は繁忙期にあたりその期間は人の確保がままならず、他社からパートナーとして人を迎え入れている。

という点です。
たとえば同じお客様からの継続案件にも関わらず本年度の追加開発プロジェクトはオリジナルメンバーが一人もいない(全員客先に出てしまっている。)
とか、新人や経験の浅い若手をアサインしてプロジェクトを任せられるように育てた結果、客先に常駐に出て行ってしまう。
という点が、プロジェクトチームの積み上げを阻害していると考えます。

正直言って、この問題に対する明確な対応策が見つけられていないのですが、こうなってしまっている原因をあれこれ考えると以下のような点があると思っています。

  • 上司または経営者がプロジェクトチームの継続性による生産性の向上より客先常駐による安定収入にメリットを感じている。
  • 組織に予算を割いて技術を教育するという意識がないため、客先常駐のための教育を社内の請負プロジェクトで代替している。

率直に言って、上記のことがちゃんと戦略として狙った上で行われているならば私も問題ないと思います。
ただ、行き当たりばったりの結果としてこの現象が起こっているため以下の問題があるように思えます。

  • 社内で請負をしている人間は常に成果を出すのが困難な体制でプロジェクトをこなすことになる。
  • 社外に常駐に出ている人間は『我々が出した利益を社内の連中が食いつぶしている。』と思えてしまう。

自分は社内にいたり、社外に出たりを繰り返しており、の両方見え方が多少は分かります。
全体最適の中で割を食う(というように感じてしまう)のは有り得ることですが、均すとフェアに利益を享受できれば本質的には問題ないはずです。

ただ現在自分は社内で請負プロジェクトを引き受けているので、その観点からよりよくするためにはどうしたらよいかと常々考えているのですが、
『ある程度チームには継続性を持たせたい。』
そうすることで技術的に幅広く積み上げが効きづらい案件が多くてもチームとしての生産性を上げることで対処できる。
というふうに持っていきたいですね。

今後の課題としてはプロジェクトチームを継続させるためにはどのような手を打てるだろう?
という点だとおもいます。