島国大和のド畜生
■次世代くん ■プログラム ■アンテナ ■LINKS ■過去ログ倉庫---
amazon_logo.jpg スポンサーリンク
プログラマの生産性の話 オーバーシューター
 基本的にデキるプログラマは、デキないプログラマの100倍は生産性が有るし、デキないプログラマにはナニがあってもデキない事がある。
 これは、知識とロジックをどれだけ所持しているか、どういうトライをするかという、個人の資質と蓄積の結果であって、歌手がみんな歌が上手くないように、プログラマという職業についたからといって誰もが出来る様なものではない。
 それはもう仕方が無いので、座組みでカバーするべきものだ。

 それにプラスして。
 これはプログラマに聞いた話なのだが。
 プログラマの姿勢には2種類あって。それを仮に「オーバーシュート」「アンダーシュート」と呼ぶ。
 オーバーシュートは、発注された仕様より上を行こうとする。
 アンダーシュートは、発注された仕様の最低限しかやらない。

 そして、プロジェクトで問題を起こしやすいのは、オーバーシュートプログラマだ。と。

 アンダーシュートプログラマは、言われた事しかやら無い、言われた事もやら無いので、とにかく細かく丁寧に仕様を伝え、成果を頻繁に確認する事で、その仕事をコントロールできる。
 面倒くさいが、コントローラブルなのだ。

 オーバーシュートプログラマは、仕様より上をやろうとするので、能力が高ければ、1を聞いて10を知り、発注者がほしい機能の上を行くすばらしいコードを書く。
 こんなありがたい話は無い。

 しかし、オーバーシュートだがズレてたりすると「発注と違う」という問題が出たり、最悪の場合「発注の上を行こうとして、失敗して仕上がらない」という事態に陥る。

 オーバーシュートプログラマは「やり過ぎ」て「失敗」する可能性が高く、自主的に動くからこそコントロールが難しい。
 やり過ぎると、ズレ幅も大きく、取り返すのも大変だったりする。

 アンダーシュートプログラマと同じ管理コストがかかった上で、余計な失敗を生む可能性がある。

 さらに難点として「オーバーシュートプログラマはやる気があり意識が高い」というのがある。
 これどれぐらいで出来ますか?の質問に対し「そうですね。3日でできます!」とかの見積もりが、現実と照らし合わせると超甘かったりする。
 自分の最高スペックが発揮された状態を想像しているから。

 こう書くとオーバーシュートプログラマは悪いことばかりに見えるが、そんな事はないのが話をややこしくしている。

 実際のところ、この手のオーバーシュートプログラマは本当に能力自体はとても高いのだ。だからプロジェクトの管理の仕方によっては普通のプログラマより全然効率的に仕事をこなす。

 ゼークト上級大将の言葉に、

・有能な怠け者は司令官に、有能な働き者は参謀にせよ。
・無能な怠け者は連絡将校か、下級兵士にせよ。
・無能な働き者はすぐに銃殺刑にせよ。

 というのがあるが。
 オーバーシュートプログラマというのは基本性能は高いので有能な働き者となるわけだが。では、ちょっとズレることのあるオーバーシュートプログラマというのは、このどれかに当てはまるかというと、当てはまらなくて悩んじゃうのだ。

 むしろ、オーバースペックなエンジンをつんだピーキーなマシンを乗りこなすには、プロジェクトリーダーにそれなりの腕前が必要。みたいな位置づけになる。

 オーバーシュートプログラマ=モンスターマシン 説を唱えておこうと思う。

 プロジェクトリーダーなり制作進行なりが、何をせねばならないかといえば、そういうモンスターマシンのコントロールじゃなかろうか。普通のマシンはもちろんとして。
 たまにAI搭載のスーパーマシンがいるとプロジェクトリーダーがバカでも目的地についたりするけど。

 この場合、コントロールとか偉そうに聞こえるけど、モンスターマシンが好きに走ってもゴールにつくようにするための環境整備ってことね。

 心当たりが有り過ぎて困る。

2016/05/17(火) 23:35:32| 固定リンク|仕事| トラックバック:0 | このエントリーを含むはてなブックマーク|
ワークエリア
スポンサーリンク
この記事のトラックバックURL
この記事へのトラックバック
COPYRIGHT © 2004 POWERED BY FC2 ALL RIGHTS RESERVED.