ソフトウェア開発

プログラムの価値

とんでもないエントリを読んでしまった。ここまで「プログラマー」を卑しめるものを読んだのは初めてである。 なぜなら「プログラム」は本質的に経済的価値を持っているわけではないので、プログラムを作る人、すなわちプログラマーは本質的に経済的価値をも…

従来のソフトウェア工学は間違いだらけ

裸の王様の服に喩えられるソフトウェア工学 「エントリを批評してほしい」とまで、書かれてしまったので、「従来のソフトウェア工学が決定的に間違っている点 」について書かせてもらおう。 従来のソフトウェア工学に決定的に間違っている点があるというより…

当初仮説との乖離

ソフトウェア開発関連のエントリをよく読んでいるmasayangさんのところで、「当初仮説との乖離をどう処理するか」というエントリを見つけた。「政治」とか「経済」とかいったタグが付けられていたが、ソフトウェア開発関連で付けられている「システム開発」…

PDCAサイクルを回しているフリ

あるプロジェクトで、単体テストの不具合の原因の集計を行っていたんですね。 それ自体はいいんですけど、そのプロジェクト、ウォーターフォール型の開発プロセスをとっているんですよ。なら、その集計した結果は何に反映させるのでしょうか? 他のプロジェ…

GOTO復活という悪夢

goto文は、それがないとどうにもならないということはもちろんないのだが、あって困る機能でないことも確か。 たいていの現場には、必ず1人以上goto禁止論者がいて、goto文を使える言語でこれを使うととたんに文句を言ってくる。 gotoで書いた方が極めて簡単…

IT業界を潰そうとする政府

これは嘘くさい.「工事進行基準」なんてプログラミングをやったことのないバカが何も考えずに作った奴だろ. 「スーツ(笑)」の人なんかがこういう意見を鵜呑みにするから困る. (工事のための)設計図を書くことがソフトウェア開発なのだから、「工事進行基…

ソフトウェア開発は実は装置産業型

「1年間1.2億円」で見積もったプロジェクトがあったとしよう。 下記筋書きのどちらが嬉しい? 開始後一ヶ月で中止に追い込まれ、お客さんからは月割りで1000万円だけしか回収できなかった。ただし、デスマーチにはならなかった。チームは次の仕事に向けて鋭…

大規模Agileの失敗率は驚異的に低い?

大規模Agile全体での成功率...78% 開発チームが一カ所に集まっている場合の成功率...83% 開発チームが近距離分散している場合の成功率...72% 開発チームが遠距離分散している場合の成功率...60% という統計が出ている。 この数字をみて「失敗率が20%以上もあ…

前車の轍を踏む

「今度の不況でSI業界が悲惨な状況に陥りそうな3つの理由」の一つとして分業化が挙げられている。ソフトウェア工学は、工業の猿真似をしてしまい、工業で失敗したやり方、大きな欠陥があることがわかったやり方を踏襲してしまっている。工業の真似をすべき…

サマータイムはY2Kよりたちが悪い

“サマータイム「Y2K並みの総点検が必要に」”どころか、以前にも書いたように、サマータイムはY2Kよりたちが悪い面がある。 Y2Kは日付のデータをどう扱うかというだけだった。それに対して、サマータイム導入となればサマータイムか否かという区別のためのデ…

ウォーターフォールが妥当だった時代などない

ウォーターフォール・モデルはFortranやCOBOL時代の手法であり、パッケージでのシステム提供やWebインタフェースが主流の今日には時代にそぐわないアプローチと言えるのではないだろうか。 いや、以前にも書いたことがあるが、ウォーターフォールは誤解の産…

変数のスコープは狭いほど良い

変数でもメソッド名でもクラス名でも言えることだが、単純に「スコープは狭いほどよい」という方針でプログラムすると、逆に保守性も可読性も悪いプログラムができあがることがけっこうある。 メソッド名やクラス名に関して、「スコープは狭いほどよい」と言…

ソフトウェア開発とは何か

「しかし、建設業者は3回やり直さなくても家を建てられるじゃないか」。この手の論議にはうんざりなので、わたしはこう答えることにしている。「それなら建設業者に頼んでソフトウェアを作ってもらえ」 ソフトウェア開発とは、家を建てることではなく、家を…

パスワードを平文で保存してはならない

パスワード平文保存派を少しだけフォローすると、ハッシュだけで保存するとデータ移行とかで使い勝手が悪い。例えばハッシュ関数にも脆弱性があって、MD5でコリジョンがみつかったんでSHA-1にしましょう、そろそろSHA-1も危ないからSHA-256以上だよね、みた…

規模を生産量の指標にしたための害

以前、「簡単コピー・プログラミングの罠 」という記事で、コピー・プログラミングの危険性について書いた。ここでいうコピー・プログラミングとは、同じアプリケーション開発の中で、似た機能を量産するためにソースコードをコピーすることである。同記事に…

規模を小さくするうえでの最大の障壁

実は、規模を小さくするうえでの最大の障壁は、この通りすがりさんのような、「自分のプロジェクトは特別なんだ」という思い込みや勘違いではないでしょうか。 いや、規模を小さくするうえでの最大の障壁は、規模を生産量の指標にするという誤った慣習が蔓延…

ソフトウェア開発における設計書

以前、「工事進行基準がIT版建基法改悪になるおそれが多分にある」と書いたが、着々と最悪コースを進みつつあるのかもしれない。 誰か工事進行基準とXPについて法的に調べた人はいないのかな。承認プロセスが機能すればいいのだから、「ソースコードが設計書…

遅すぎる記事

> ソフトウエアは硬い。ハードウエアよりも硬い。ある程度の規模のソフトウエア資産を抱え,それを日々動かしている担当者の方 であれば,ソフトウエアの硬さ,すなわち柔軟性の無さを痛感しておられると思う。 ソフトウエアが硬くなっている,という印象的…

コストパフォーマンスが悪いソフトウェア開発の見積もり

> ソフトウェアの「見積もり」に関する昔からある問題について、アジャイルコミュニティでは最近興味深い議論が起こっている。 J.B.Rainsberger 氏、Arlo Belshee氏、Josh Kerievsky氏、David Anderson氏などは、「そもそも見積もりは本当に必要なのだろ う…

CMMが評価するもの

ソフトウェア開発で、世界最高とのお墨付きを受けたインドのソフトウェア開発会社が、なぜ品質の高いソフトウェアを作れないのでしょうか? CMMの認定方法が間違っているのでしょうか? この悲劇は、双方がCMMの基本思想を理解していないことに原因がありま…

初心者向け記事は初歩的な間違いがあることが多い

初心者向け記事は初歩的な間違いがあることが多い、特にHTMLに関しては。ITproに「Webプログラミング5大基礎知識 Part1 HTML」という記事があった。その冒頭で「YES/NOクイズであなたのHTML理解度をチェック!」と書かれているのだが、正直、書いた本人こ…

東証システム障害の真因(2)

「東証システム障害の真因」にトラックバックがあったが……。 「1銘柄当たりのメモリー領域を誤って4バイト」と指定できてしまうような仕様にそもそもの原因があると思う。「1銘柄当たり1280バイトの作業用メモリー領域」であるならば、銘柄数が決まれば確保…

東証システム障害の真因

直接的な原因は設定ミスなのだろうが、システム障害の真因は設定関連の仕様のバグに見える。 板情報を配信するプログラムは本来、1銘柄当たり1280バイトの作業用メモリー領域を2万8000銘柄分、合計3万5000Kバイト確保するよう記述しなければならない。だが、…

フローチャートはソフトウェア設計を阻害する

過去の遺物であるフローチャートが、なぜか話題になっている。 フローチャートとFizzBuzz問題 フローチャートがダメな3つの理由 フローチャートを言語の問題として語っちゃダメだよdankogai 言語なんて何でも一緒(でない場合もある) フローチャートは基本…

想像を絶するほどのコストがかかるサマータイム制導入

サマータイム制導入賛成派の人たちは、サマータイム制導入反対派の意見をまともに読んだことがないらしい。 大切なのは、まずやってみること。そして駄目なところがあれば直していけばいいのだ。だから、サマータイムも一度導入してしまえばいい。その上でサ…

よくある誤解

技術・教育投資をしないのは利幅が薄いからではない 儲かっていないから技術・教育投資をしないのではなくて、技術・教育投資をしても儲からないから技術・教育投資をしないんだけど。 2007年版 情報サービス産業基本統計調査のデータから推定するに,中小ベ…

コミュニケーションは失敗する

言葉は曖昧 IT Proに「ユーザーと意思疎通が図れない外部設計書は危ない」という記事があった。だが、そもそもユーザーとの意思疎通はかなりの確率で失敗するものと考えるべきだろう。偶々、ITmediaに「彼女とわたし――伝わらない想い」という記事があった。 …

プロジェクト・マネージャにしてはいけない

この「人月」という概念を「人」×「月」という単純な数式で考えると大きな失敗を犯す。例えば,プロジェクトの後半で問題が発覚し納期遅延が発生しそうな場合,あとどのくらいの工数が必要かを算定し,追加要員を投入して遅延を挽回しようとすることがある。…

正気とは思えない来年夏からのサマータイム導入

サマータイム導入の話がまた、持ち上がっている。 夏は時計1時間進めて 自民、サマータイム法案提出へ 来年夏に日本でもサマータイム(夏時間)制度が導入されるかも サマータイム制、またもや導入の動き 早ければ来年夏から導入したいらしいが、正気とは思…

ソフトウェアの部品化には生産性向上は期待できない

ソフトウェアの部品化という信仰 ソフトウェアの部品化で何回失敗すれば気が済むのだろう。 経済産業省のとある外郭団体の委員をしている方と話をしていたら「我が国のソフトウェア産業を改革するためには、ソフトウェアの部品化を推進しなければならない」…