ソフトウェア開発における三権分立という記事から

『SoftwarePeople vol.5』に掲載されていた『ソフトウェア開発の「三権分立」戦略』という記事。
この記事によれば、プロジェクト内には以下の3つの役割が存在する。

・アーキテクト = 技術的な知識などが豊富で設計などに責任を持つ。
・アナリスト = 対象業務に精通しており、システム化企画・要求分析などに責任を持つ。
・プロジェクトマネージャー = プロジェクトの計画推進に責任を持つ。

全くもってその通り。
もう少し細分化できるかもしれないが。

で、現実のプロジェクトに目を落とすと、プロジェクトリーダーが全てを背負ってしまっているのがかなり多い。規模にもよるのだが、プロジェクト破綻の原因がリーダーの「抱え込み」過ぎが原因というのも多いだろう。
「全ての分野に対し広く理解している」というのは、「広く浅く理解する」のが精一杯の筈であり、限定されたリソースで高品質のものを作ろうと思ったら、「役割」を集中させ、それに専念させることだと思う。

勘違いしないで欲しいのは「役割に専念」というのは決して他分野に対し、「無関心」であれ、ということではない。全員が業務に対し「浅く」理解するのは当然のことだと思う。
ってさ、途中参加の人間に対し「業務の概要」をアナウンスしないプロジェクトって如何に多いか。キックオフとかで全員ミーティングとか出来ればいいんだろうけど、作業レベルのことしか話はしないのはどうなの?モチベーションの演出しようよ。

三点について思うのは、実は「アーキテクト」の視点が弱くなっているのが多いというか。PM、顧客SEという単語の持つ「重み」からも分かると思うか、純粋技術者の「重み」がいかに軽いか(というかない)。
社単位の方針もあると思うので、社内のキャリアパスに「上級技術者」的なものは別になくても仕方ないだろう。
が、それにしてもお粗末というか、ある要素技術への理解不足が判明した場合、外部リソースを頼るしかないんじゃない?と常々思うのだが、現在のメンバーだけでどうにか全てをまかなおうと思っていて、「調査」にムダな時間を費やすのはどうかと思う。最近は技術のオープン化が著しいから、探せばすぐにでも見つかりそうなものなのに。

「SIは顧客の技術知識不足をいいことに自分達に都合のいいパッケージを売りつける」というかもしれませんが、はっきり言ってしまえば、SI自身が相当な技術知識不足であり、代替策をあまり知らないということも多いと思う。
こうなるとシステム屋ってなんなの?って気がしてくる。
「アーキテクト」を偏重しろって言わないが、バランス悪いのが多いかなぁ。