ネリモノ系

Twitter: https://twitter.com/msbtjp

SEとか無くしてしまえばいんじゃね?

http://satoshi.blogs.com/life/2006/03/post_8.html
http://d.hatena.ne.jp/yuyu99/20061230/p3
この二つの記事を読んで思ったこと。というか、常々僕が思っていることが書かれていた。


多分、SEとかいう職業があるのは日本だけだよね。
両記事に共通するのはSEとPG、つまり、設計者と実装者をわけちゃうのはよろしくない。というか、言語道断。みたいな。
別会社のSEが設計して、それを請け負った会社のPGが実装する。
こんなやり方でまともなプログラムが作れたらある意味凄い。物凄いオーバーヘッド作業をこなして作るわけだから。
それでも意見のすり合わせとかできない部分はどうしてもでてくる。
その結果、ぼろぼろなソフトウェアが完成する。ぼろぼろじゃなかったら本当に凄い。鳥肌が立つぐらいに。
どれだけの犠牲が支払われてきたのか想像するのも怖い。


僕がhttp://d.hatena.ne.jp/Malan/20070102この記事でSEとPGを分けて書いていたのは、日本がそういう状況だからそれに合わせていただけなんだけど、やっぱり上記のような考えが根底にあるから、SEを上、PGを下にするような書き方はしていない。
当たり前か。なんでSEが上流扱いされているのかがわからない。
SEとPGを分けるにしても、その立場は対等であるべきだろう。
実装段階ででた問題、それが設計のミスだったとしても、指摘できない。指摘しても無視され、「良きに計らえ」な状態じゃ良いものを作れるはずもなく。


であれば、PGが設計を行う。または、PGという職を無くして全てSEが実装することにしても良い。
要は設計と実装は同じ人間が行えば、そもそも一番の問題である意思疎通も行う必要すらなくなってくる。
また、プログラミングを知っている人間が設計を行うのだから、自然と実装に近い設計ができるようになる。
ポンチ絵と怪文書による設計なんて無くなるだろう。あるとすれば、設計前の大まかな設計。落書きみたいな、脳みそを整理するための設計だ。


現状では、プログラミングを知らないSEがやたらと多いけれど、どうやって設計しているのかまったくもって理解できない。
いや、設計できてないというのが正しいのだろうか。
根本的におかしい問題がわんさかでてくる。
たまにお客の要求を聞くことがあるのだけど、要求と設計が既にかみ合ってなかったりして、非常に悲しくなる。
そして、正しい実装を行うことでSEのケツを拭くのはPGだ。SEはその実装を元に設計を書き直す。
SEとPGを同じ人間にすれば、ケツを拭くなどという発想も出てこないはずなのだが。


こういう背景があって、SEとPGは仲が悪い現場というものに出くわす。
そういう現場はもう最悪である。
自分のエゴで喧嘩するもんだから、建設的な意見がでても打ち消される。
馬鹿かと思うかもしれないけど、これは、設計者と実装者を分けるという変な体制からくるものであって、
やはり、一緒にしてしまえばこういう仲違いも発生しない。


さらに言えば、設計者はプログラミングを知らなくてもいいという立場であることが割りと多く見られるが、このことで設計の品質が落ちる。
そして、実装者は設計ができなくてもいいという流れもやはり、ある。これは思考停止したプログラマを大量に雇うことになってしまう。
そして、相乗効果も伴って、日本のソフトウェアの品質がどんどん下がっていく。
品質低下スパイラルううううううぅぅぅぅぅ!!!111


日本のソフトウェア業界はもうダメかもわからんね。