kなんとかの日記 このページをアンテナに追加

2009-02-09

Re: ソフトウェア工学の属人性の排除は間違っているのか?

| 00:22 |  Re: ソフトウェア工学の属人性の排除は間違っているのか?を含むブックマーク

まえのエントリに対し、こちらで興味深い反論がされている。

僕の考えの結論を始めに言っておく。

ずばり、属人性の排除は間違っていない、である。

なんで間違ってない?

そもそも、学問というのは、ある目的を達成するために、知識を体系化していって、

誰が見ても分かるようにしていく、ものだと僕は考えている。

つまり、前提条件からして属人性排除が備わっているのだ。

読断と変見 ソフトウェア工学の属人性の排除は間違っているのか?

属人性を排除するのがソフトウェア工学なんだという立場でしょうか。つまり属人性を排除しないものは工学ではない、ということですね。なるほど。これは一理あります。

ただこのご指摘は、「ソフトウェア工学という言葉の定義を考えた時に、属人性の排除は間違っていない」ということですよね。こちらの主張は「属人性を排除すること自体が間違いだ」ということなので、ちょっと論点がずれてますね。

ソフトウェア工学は属人性を排除するものである」という主張と、「属人性を排除しようとするソフトウェア工学は間違い」という主張は、両立するように思いますが、いかがでしょうか。

まあソフトウェア工学という分野も範囲が広いので、話はごちゃごちゃになるかもしれませんが。

確かにプログラマーは作業効率に差がつきやすい職業ではある。

でも差がつくところの多くは技術力ではなく、作業の進め方やモチベーション管理であることのほうが

多いと思う。

いやあ、技術力でも相当差がつきますよ?

たとえば、レベルの低い人が3日かかっても直せなかったバグを、上級者がものの30分で直してみせた、なんて経験はないでしょうか。こういうのはモチベーションなどで埋められません。

確かに高度の技術になればなるほど、技術差と作業効率の関連性は強くなる。

しかし、実際高度な技術を用したシステムというのはそれほど多くないと思う。

高度な技術が必要なくても差は多いに出ます。

Web アプリなんて『高度な技術』などほとんどありません。しかし作業効率や品質の差は多いにあります。

確かに、自動化できることはあるし、これからさらに自動化できることは増えていくだろう。

しかし、人間にとって高度でないからといって、システムで自動化できるわけではない。

そのような作業もあるかもしれませんが、ソフトウェア開発ではそんな作業はそう多くないと思いますよ。もしかしたらUIテストを人海戦術でやっているようなプロジェクトだとそう感じるのかもしれませんが、それだって今は自動テストツールが揃ってますからね。

#とか言いながら、自分はまだUIがらみのテストツールを使いこなせてないんですが。

高度ではないけど自動化できない作業としては、具体的にどのようなものを想定されてますか?