だから、ソフトウェア工学が間違っている、という話じゃないでしょ

もういちいち突っ込んじゃうよ。

ようやく本気を出してくれたようなんだけど、論理的な思考をすることに本気を出してほしい。想像力を働かせることに本気を出されても困る。

Re: ソフトウェア工学とスーパープログラマは両輪 - kなんとかの日記

そっちが論理的でこっちが想像力っていうのはいいけどさ、ちゃんと論理的に説明して欲しいよね。
さて。

『あなたが望む(ような)体制をスーパープログラマーは選ばない』ことと、彼らが仕事を気に入るかどうかは関係ない話なんじゃない? 体制を選ぶことと仕事を選ぶことをごっちゃにされてもね。

Re: ソフトウェア工学とスーパープログラマは両輪 - kなんとかの日記

dankogaiがそう言っているっていう話なんだけどな。論理的に思考して欲しいな。

あと優秀な人にスタッフをつけてあげれば、気に入らない仕事をスタッフにまかせて、気に入る仕事に集中してもらうことができるよね? Dan氏も書いているように、彼ら(スーパープログラマー)は延々と自分が好きな仕事を見つけてはそれに没頭しちゃうんだから、気に入る仕事がない状況を心配する必要はあまりない。

Re: ソフトウェア工学とスーパープログラマは両輪 - kなんとかの日記

dankogaiそんなこと書いてたっけ。単純作業にも嬉々として従事しちゃうとか言ってなかったっけ。まあ、それは状況がそうだからという前提かもしれないけど。
で、「気に入る仕事に集中してもらう」ってのはさ、スーパープログラマが気に入る仕事を必要としている現場に限られるんじゃないの?どこの現場でも常にいつ何時でもスーパープログラマが気に入る仕事があるのかしら。実例が欲しいぞ。

それより気に入らない仕事をしなきゃいけない状況を心配するべきで、そのためにサポートスタッフをつけてあげればいい。

Re: ソフトウェア工学とスーパープログラマは両輪 - kなんとかの日記

気に入る仕事がなければスーパープログラマは不要なわけだ。つねにスーパープログラマが気に入る仕事を供給できるのってどういう仕事なんだか、SIerの現場としては想像しづらい。あくまでSIerの現場だからね。

意味わかんねー。

単に生産性の高い人の能力を引き出すというだけの話が、なんで『スーパープログラマで需要が満たされる』とかになるわけ? だれかがスーパープログラマーだけで需要は満たす事が可能だと言ったの? また脳内で補完してるのかい? 想像力が豊かだね。

Re: ソフトウェア工学とスーパープログラマは両輪 - kなんとかの日記

論理的に思考しようよ。あなたの主張はソフトウェア工学って不要なんでしょ。なぜなら、属人性に依存する仕事であって、効率のよいスーパープログラマを楽に働かせればいいという前提だから。でも、その前提が満たせないのであれば、カスプログラマが多少マシになる程度でもソフトウェア工学の価値はある。もし、あなたの主張が属人性云々ではなく、ソフトウェア工学がいくら発達したってカスはカスで生産性なんかまったく上がらない、というのであればそう主張すればよいのだ。
いいかい、あなたの主張の前提を満たすためには、今のところ読み取れる範囲ではこう仮定するしかない、ということなんだ。想像力が豊かとか反論するのではなく、誤読なら誤読と指摘、言い足りないなら補足すべきなんだよ。これじゃあ反論にもなってない。
先のエントリでは、スーパープログラマが上げた成果をソフトウェア工学が吸い上げて、全体の効率化をはかる、という趣旨のことを述べた。

なあ、キミはコードを書いた事があるのか? 『10000行を書くのに費やす時間がそれほど大きな差になるかどうか』ってマジデスカ?! キミにとってはコードを描く作業が『能力によらず一定時間を消費する物量』なのか?!

Re: ソフトウェア工学とスーパープログラマは両輪 - kなんとかの日記

は?ちゃんと読んでる?

能力差による違いが顕著になる物量と、能力によらず一定時間を消費する物量が存在する。そして、ソフトウェア開発において、前者の物量も、後者の物量も、どちらも存在する。

って書いたじゃん。コードを書くときに考える時間と実際に手を動かす時間では圧倒的に前者が多い、という場合は確かに能力によって消費する時間は違うだろうし、とにかくゴリゴリと書かなければならない場合はそれほどの差にならない。設計のコア部分はともかく、個別の業務部分でそんなに頑張って頭使うようじゃよっぽどアレだ。さすがにそのレベルとスーパープログラマ比較したら失礼じゃない?

あれか、Java の getter と setter を IDE でチマチマ生成する作業のことを言っているのか? それとも import 文が 10000 万行でもあるのか? もしそうだとしたら、Java は行数を水増ししてくれる便利な言語という地位をさらに確固たるものにしてくれるだろう。

Re: ソフトウェア工学とスーパープログラマは両輪 - kなんとかの日記

COBOLの現場とかさ、COBOLにするのが悪いとか言ったら仕事じゃなくなるよ。それはおいといても、言語の話なんてしてないよ。

10000行が1000行になる意味が分かってますか? コードを書く作業が減るだけじゃないんだよ、仕様書やドキュメントを書くコストが下がるし、いちばん大事なのは保守性が高まってメンテナンスコストが大幅に下がることなんだよ? 今までの発言を見ていると、10000行が1000行になってもコーディング作業のコストが下がるぐらいにしか思ってないんじゃね?

Re: ソフトウェア工学とスーパープログラマは両輪 - kなんとかの日記

でも全部で300万行くらいあるんですけど。299万1000行になったところで。もしかしたら、290万行くらいにはなるかもしれない。極端な話ね。
ところで、メンテナンスコストはテスト工数にも依存します。共通ロジックを直すと論理的には影響が出ないところも全てリグレッションテストをしなきゃいけない現場も存在します。基底クラスを直すなんてとんでもない!ドキュメントなんてコードの行数よりファイル数に依存するんだよ。そんな現場。文句は金融監督庁に言ってくれ。

もう、ここで意見が決定的に違うよね。設計書作成やテストで能力の差がでないわけがない。『その差の出なさ加減は顕著だ』って、本気で言っているのか? なんで設計書作成やテストで能力差がでないのか、その根拠が知りたい。

Re: ソフトウェア工学とスーパープログラマは両輪 - kなんとかの日記

逆に、どこでどうやって差が出るのか教えて欲しい。単に前提がすりあってないだけだよ。誰がやっても一定の作業量が発生するようなところはあるんだ。全体の割合からして差が顕著に出る部分が些少なんだよ。

は? なんで『プログラマーの話』に限定しちゃうわけ? 物量を削減するのはプログラマーしかできないとでも思ってるの? プログラマーの話にしたがってるのはそっちじゃん。

Re: ソフトウェア工学とスーパープログラマは両輪 - kなんとかの日記

だってプログラマの例しか出てきてないでしょ。テストとか設計書の例を挙げてほしいな。それが十分に納得いくものであれば、同じ土俵に乗るでしょう。

『物量』って言葉を使ったのはそちらなんで、同じ言葉を使っただけ。別に作業量の話に限定した覚えはない。
なんかさ、話を勝手に限定しないでくれる? キミは想像力が豊かすぎるよ。

Re: ソフトウェア工学とスーパープログラマは両輪 - kなんとかの日記

勝手に広げるほうが想像力があると思う。あなたの言いたいことを言ってないところまで想像して書いてないだけマシだと思うんだけど。

たとえが悪い? チーム北島の話だけじゃなくて漫画家とアシスタントの話も例として出しているのに?

Re: ソフトウェア工学とスーパープログラマは両輪 - kなんとかの日記

漫画家とアシスタントの話はさらにわからないよ。たとえば、俺はトーンを使わないんだ、そのほうが芸術的なんだ、というような漫画家とか、効率化できない作業を強いるわけでしょ。作業効率が通常の30倍の話とまったくマッチしない。ていうか、漫画家体制の話なんて見てなかったけど。

それに『搾り出す』と「絞り出す」の違いがわかんないのは、たとえとは関係ないよね。キミの国語力の問題。

Re: ソフトウェア工学とスーパープログラマは両輪 - kなんとかの日記

は?辞書引いてみ?想像力で話すもんじゃないよ。そういう意味があるからって言って必ず否定的なニュアンスで使われると思っているんだとしたら、大層な勘違い。「こともある」程度のことを常にそういうニュアンスが含まれると勘違いするのはとてもとても。

なんかもう話がずれまくってるわ。『優秀な人の能力を引き出す』『属人性の排除は間違い』というだけのことが、なんでこんな話になるんだよ

Re: ソフトウェア工学とスーパープログラマは両輪 - kなんとかの日記

違うよ。ソフトウェア工学は属人性を排除する物だから間違っている、という話でしょ。なんでソフトウェア工学の話にならないの?優秀な人の能力を引き出す必要はないとか、属人性を排除することがソフトウェア工学の目的だとか誰も言ってないよ。でも、『優秀な人の能力を引き出す』『属人性の排除は間違い』という理由ではソフトウェア工学が間違っている理由にはならないということで実際のそうでないケースの話をしているんだよ。
ソフトウェア工学が間違っている、なんていわなければそれ以外の部分は同意できるんだって。

で、そのソフトウェア工学様が属人性をなくしてくれたおかげで、安くていいものが提供できるようになったわけ? プロジェクトの失敗はなくなって、お客も開発者もみんな幸せになったわけ?

Re: ソフトウェア工学とスーパープログラマは両輪 - kなんとかの日記

は?なんで完成したって前提で話しているわけ?建築工学が地震の被害をなくしたとでも?もっというと、逆にコストや期間はアップしているかもしれないけど、その分安全性が高まったりする。
ソフトウェア工学だって、効果のある部分とまだ出てない部分があるわけじゃない。でも、もちろん、属人性排除や基本設計ベースでの効率化もきちんと成果を出している。オブジェクト指向なんかはそれなりに業務プログラマが本当に業務ロジックに専念できるようにしたり、共通インタフェース部分は様式化して変なコードで変なバグ出さないようにしてくれたりしているよね。CからJavaにシフトしたのはバッファオーバーフローの危険性がないという点で大きいし。Webシステムの普及も効率化に一躍買っている。毎回一から構成を考えなくてもベースのシステム構成があるし、お客さんの理解も深い。
そういうものでしょ。

なってねーからみんな文句いってるわけじゃないの? 属人性を排除したらプロジェクトが成功するなら、みんな喜んで排除するよ。

Re: ソフトウェア工学とスーパープログラマは両輪 - kなんとかの日記

スーパープログラマだけでプロジェクトできたらみんな喜んでそうするんじゃ?(売り言葉に買い言葉ってやつだから特に意味はない)
また、属人性を排除することによってプロジェクトがうまく行くなんて誰も言ってない。属人性に依存した部分は当然必要。高スキルな人材はいつも求められている。と同時に、ほどほどのスキルで仕事をこなしてくれる人も必要。後者の方がボリュームがあるから、その部分がソフトウェア工学によって解消するんであれば、そのほうがありがたい。

自分の読解力がなかっただけだろが。どのくらい現実的かどうかなんて関係なく解釈できる文章を、キミは正しく解釈できなかっただけのこと。それを『30倍がどのくらい現実的なのかイマイチわからなかった』なんて、ごまかしてんじゃねーよ!

Re: ソフトウェア工学とスーパープログラマは両輪 - kなんとかの日記

解釈じゃなくて具体例が必要なんじゃない?
非現実的だ、と僕は言っているんだよ。もちろん、そういう文言でいってないからわからないのは仕方がない。僕もあなたの書いてないことまでは読み取れないからそのことを問題にするつもりはない。

『生産性という指標はなかなか入ってこない』んじゃなくて、キミ(またはキミのプロジェクト)がそれを入れてないだけじゃ?

Re: ソフトウェア工学とスーパープログラマは両輪 - kなんとかの日記

じゃあ具体的にどうスキルとしての数値化するのか述べて欲しい。ある程度客観的に判断できるものではないと難しい。まあ、他のスキルもその人が自信満々に述べていることが
真実であるという判定は難しいのだけど。
プロジェクトの予実管理として、コードの生産性をあとで検証して次に繋げることはよくある。過去の実績として1kステップあたり何日で書きました、くらいは出せるかもしれない。でも、量の問題ならコピペが多用されるプロジェクトの人のほうが見た目の効率は高いかもね。

あとスキルと生産性を切って話すのはなぜなの? たとえば『業務要件分析してシステム設計できる』スキルがあれば、その分野では明らかに他の人より生産性が高いといえるよね?

Re: ソフトウェア工学とスーパープログラマは両輪 - kなんとかの日記

1と0は生産性の差なのか?

まさか「業務要件分析してシステム設計できる人でも特殊な技術領域に精通しているとは限らない」とか言い出すんじゃないだろうな。

Re: ソフトウェア工学とスーパープログラマは両輪 - kなんとかの日記

それがどこから出てきた話なのかよくわからないけど、それってそのとおりじゃないの?何が違うのかわからないけど。特殊な技術領域に精通していないとシステム設計できないというのははじめて聞いた。

確認するけど『それが間違っている』というのは「生産性に差が出るということが間違っている」という理解でOK? (キミの文章はわかりにくいから、設計書を書くのは勘弁してくれな、開発者がみんな困る)

Re: ソフトウェア工学とスーパープログラマは両輪 - kなんとかの日記

「属人性を排除することは間違っている」という理由が「生産性とは差が出るものだからである」ということであれば、その理由がおかしいということだよ。まあ、わかりにくい文章であることは否定しない。設計書かいてるわけじゃないんで。

で、もしそうだとしたら、個人間に能力差があるにも関わらず「生産性に差が出るということが間違っている」という根拠は何?

Re: ソフトウェア工学とスーパープログラマは両輪 - kなんとかの日記

前の文のせいで話がずれているのでもう一度説明する。まず、ソフトウェア工学が誤りである、というあなたの主張は、生産性の差の源である属人性を排除しようとしているからだ、という風に読み取れた。でも、ソフトウェア工学における属人性の排除は生産性の高い人を矯めましょうという話ではなく、低い人を底上げしましょうという目的のためにある。もちろん、効率がよくても無軌道な(=メンテコストの高い)プログラマを矯めるという目的もあるかもしれないけど、高度な技術が必要なコアな部分のプログラマにそれを適用しようなんていう話ではないと思っている。
本題はそこだよ。それが本題でないのであれば、先のエントリのタイトルは間違っているわけだ。

『属人性は排除できないし、人材の替えはきかない』ということには同意してるということ? もうなんか主張がコロコロしてわかんねーよ。

Re: ソフトウェア工学とスーパープログラマは両輪 - kなんとかの日記

コロコロしてないよ。一貫して「スーパープログラマは必要だが用途が限られる。だから、ソフトウェア工学も必要」と言っているだけだ。

従来のソフトウェア工学は、属人性を排除しようとしている点において、決定的に間違っている

Re: ソフトウェア工学とスーパープログラマは両輪 - kなんとかの日記

まったく同意できない。属人性の排除の対象は、上で説明したとおりだ。排除すべき属人性はある。そのためにソフトウェア工学は役立つ。

『生産性に差がつく場所』は、どこでも。『差がつかないところ』は沢山もない。その根拠は、差がつかないようなところはたいがい自動化できてしまうから (最初から書いているけどね)。本来なら、差がつかないようなところが残っていること自体を問題にすべき。

Re: ソフトウェア工学とスーパープログラマは両輪 - kなんとかの日記

自動化できる、ということは、テスト手順や成果物における属人性を排除したんじゃないの?その結果として人は減ったし期間も減ったし。自動化は1人のプログラマの成果なの?ソフトウェア工学の成果じゃないの?自動化そのものがそうではないとしても、その適用のプロセスとか、手順とか。

つーか、『設計書作成やテストにおいて、その差の出なさ加減は顕著だ』なんて言ってる人間が存在すること自体が意味分からん。あまりにも斬新すぎる考え方なので、その根拠をほんと教えてほしい。

Re: ソフトウェア工学とスーパープログラマは両輪 - kなんとかの日記

一度銀行のホスト開発プロジェクトでも経験してみるといいよ。何千枚もあるテスト結果書に検収印を押すスピードなんて大して変わらないって。朱肉とシャチハタの違いくらいはあるけど。エビデンスにことごとくチェックのマーカーを引くとかもね。
もちろん、申請書類の自動作成マクロを組んでみたりとか、効率化の試みは図られている。それを作るのはプログラマの仕事だけど、結果として、書類のばらつきによる差し戻しとかが減るわけで、それは作業における属人性を排除した結果だよ。

それでも依然として、能力の属人性は残る。その部分で差がつくのは致し方ない。