gallu’s blog

エンジニアでゲーマーで講師で占い師なおいちゃんのブログです。

どこに「最適解」を見いだすのか?

「何を調べてた時なのか」が今ひとつ不明なのですが、まぁいくつか調べ物をしている中で「カウボーイコーディング」とか「カウボーイ開発」なるものを見つけました。
ん…大変に「ビターな」辺りでは、この辺が(ある意味)わかりやすいか、と。


http://blog.jnito.com/entry/20110304/1299193949

「カウボーイコーディングとコピペプログラミングで技術的負債たっぷりのシステムを作りましょう。そうすれば開発時間はぐっと短くなりますよ」

一応先に「ちゃんと引用先を読みましょう*1」って書いておきますが、文章の流れ的には無問題なので、ちゃっちゃか進めますw


カウボーイコーディングの定義としては
https://ja.wikipedia.org/wiki/%E3%82%A2%E3%82%B8%E3%83%A3%E3%82%A4%E3%83%AB%E3%82%BD%E3%83%95%E3%83%88%E3%82%A6%E3%82%A7%E3%82%A2%E9%96%8B%E7%99%BA#.E3.82.AB.E3.82.A6.E3.83.9C.E3.83.BC.E3.82.A4.E3.82.B3.E3.83.BC.E3.83.87.E3.82.A3.E3.83.B3.E3.82.B0.E3.81.AF.E3.82.A2.E3.82.B8.E3.83.A3.E3.82.A4.E3.83.AB.E9.96.8B.E7.99.BA.E3.81.A8.E3.81.AF.E7.95.B0.E3.81.AA.E3.82.8B

カウボーイコーディングは、各々の開発者が「自分が良いと思うプログラミング」をバラバラに行うことである。好ましくない状態を指すのに使う言葉


http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1220188612

カウボーイコーディングとは明確な手法が欠如している無統制で雑なプログラミングのことを言うという。自然発生的にこの言葉を生んだ集団では、「チームのメンバのそれぞれが一番良いという方法で実装すること」と定義しています。
また、カウボーイコーディングとは各技術者が良いと思うコードを各自で行う事を指し、 アジャイルを批判する際によく引き合いに出されるものである。カウボーイコーディングは俗人性に委ねた開発手法であって開発プロセスとは呼べない代物です。


この辺参照。
で、改めて「カウボーイコーディングとコピペプログラミングで技術的負債たっぷりのシステムを作りましょう。そうすれば開発時間はぐっと短くなりますよ」の文章を読むと、色々と味わい深いものがあるなぁ、と。


端的には、カウボーイコーディングは「周囲とのすりあわせ」コストの支払いを拒絶し、コピペプログラミングは「共通化」コストの支払いを拒絶します。
そりゃまぁ「開発時間はぐっと短くなります」わな。
「作成前に仕様が確定していて」「作成中に仕様変更が発生せず」「作成後にコードの修正が発生しない」んなら。


ついでに書くと。
「カウボーイコーディング」やってる技術者(開発会社)で、ソースコードに「マトモなコメントが書いてある」のを見たことがない、のは、偶然? 必然?
そーゆーコードを「後釜座ってメンテナンスする」時の大変さが、なんていうか「殺意の波動が全身にあふれる」レベルなので、あんまりお好まないのですよねぇおいちゃんは(苦笑


もちろん見方として「そーゆーのがいるからお仕事がある」ってのもあるんだけど。
多分前提として「発注側が(少なくとも以前は)カウボーイコーディングで問題を感じていない」以上、「属人性にあふれるコード」を他の人がメンテナンスするコストについて「理解して十分なお支払いをしていただけるか?」と問うと、大変に疑問符が付くわけでして。
なにせ、彼らの頭ん中には「本来必要なコストをすっとばした、偽りの金額」がどうしても前提に出てくるだろうから。


まぁもちろん「どこまですりあわせをするか」ってのはあるんだけど。
基本的に「属人性の高いコードはメンテナンスコストを跳ね上げる」ってのをもうちょっと意識して欲しいなぁ、と。
もちろん「ルールを作るコストが高い」のは分かるんだけど、それが出来ないと色々とじり貧なので。

時々「エンジニアにもっと自由を!!」とかいう発言を耳に目にするんだけど、正直「自分の個性出したいんなら、仕事じゃなくて自分プロダクトでやってください」としか思わんのですな。


この辺「どこまでスキルがあればいいの?」とか「"金額に見合った技術(下限側)"ってなに?」とか「"動けばいい"は本当なの?」とかいう辺りの考察につながっていくので…多分、そのうち書きますw


とりあえずおいちゃんとしては「おいちゃん、引きが強いお陰でこの手の"尻ぬぐい案件"が手元にくる事が大変に多いので、速やかに撲滅したいなぁ」という一編の曇りもない私利私欲の下心を記して、一旦閉じます(笑

*1:「なんてことは口が裂けても言えないので、真面目に考えてみました。」って書いてあります