Aug. 27, 2010

品質保証と品質管理



(1)★発想法★
 ~創造のために~
(2)ひらめきの発想法
(3)特許の小話
(4)設計開発の心理学
(5)問題解決について
(6)ソフトウェア開発の鉄則
(7)品質保証と品質管理
(8)
(9)
(10)













Murphyの法則
 以下は科学的論拠はなく 経験上 という気がする …… と読むこと。
 とかく楽観的なアメリカ人が自戒の念をこめたジョーク、しかし役立つ経験則。

一般論
《 原則 》ともかく、あらゆることが悪い方向にゆく
《 原則 》何か悪くなる可能性があれば必ずそうなる
いくつかのことがわるくなる可能性がある場合最も被害の大きいものが悪くなる
落下する物体は、被害が最大になる所を選んで落下する
パンがバターの付いた面を下にして落ちる可能性は、絨毯の値段に比例する
なすがままにすれば、ものごとは悪いほうから、もっと悪いほうにすすむ
自然は、いつも隠れた流れに味方する
母なる自然は、不平ばかりいう
ミスが起こる可能性があるとしたら、それは一番起きてほしくない時に一番影響が大きいところで起きる

システム一般論
どんなプログラムでも、一度走り出すと時代遅れになってしまう
プログラムとは、より多く時間がかかり、より以上に時間がかかるものだ
役立つプログラムは修正の必要が出てくる
役立たないプログラムは、ドキュメント化しておかなければならない
プログラムはメモリが許す限度いっぱいに大きくなる
プログラムの価値は、出力の重さに比例する
プログラムは保守能力を越えるまで大きくなる
人を減らして計算機を使うと職員の実数は増加する
どんなものでもバカチョン方式( fool-proof ) にするのは不可能だ。なぜならバカ( fool )は考えられないことをやることがほんとうに上手だからだ

プロジェクト管理編
どんなものでも、みかけほどやさしくない
なんでも思ったより長く時間がかかる
規模が大きくなる可能性があれば必ず大きくなる
スケジュールは余裕線表までは必ず遅れるものである
あることを行おうと準備すると、しなければならない別の何かが必ず出てくる
ある手続きが悪くなる可能性を4つ気付いたなら、すぐに5番目に気付く
すべての解答から、また新しい問題が生じる
   作業が増える時(作業請負側の法則)
n+1個の些細な仕事はn個の些細な仕事と同じ時間でできると期待される
   上記の反論(作業依頼側の法則)
nが充分に大きい時、n+1の些細な仕事を行うにはn個の些細な仕事を行う時の倍の時間が必要である

以下、オリジナル
仕様変更を減らそうとして仕様凍結すると仕様変更がかえって増加する
一番遅れてほしくないプログラムほど仕様変更が多く発生する
一番影響度の大きいファイルほど項目変更が多く発生する
一番、性能の必要なものほど性能が出せない機能を要求される
風邪は、プロジェクトの一番大事な時をねらいすまして流行る
だれかが風邪をひくとしたら、一番風邪をひいてほしくない人が風邪をひく
冠婚葬祭は、プロジェクトの一番大事な時、大事な人にねらいすまして起きる
どんなことでも作業のもれのない役割分担は不可能だ。なぜなら役割は作業をもらすようにほんとうに上手に解釈されるからだ
応援を得たとたん、新たな応援が必要になる

プロジェクトメンバの一般論
休日出勤の必要な作業は、遊びの予定にぴったり合わせて発生する
休めない時に限って風邪をひいてしまう
プロジェクトレビューの日は、計画年休の日にぴったり合わせたようにずれる
トラブルは、早く帰りたい日を選んで発生する
トラブルの発生頻度は、忙しさに比例する
トラブルを修正すると、必ず新たなトラブルが発生する
問題解決を報告すると、必ず新たな問題を指摘される
ハードをレベルアップすると必ずプログラムチューニングが必要になる

:::::::::: Murphyの法則は無限に存在する!::::::::::


~ 最後にプロジェクトリーダとしてのMurphyの法則の使い方 ~
■ 準備は Murphyの法則 を考慮して最大限の手を打っておくこと。
■ とにかく、プロジェクトとして考えるられる最悪の状態は必ず起きる と覚悟して準備をしておくこと。
■ プロジェクト開始時にプロジェクトメンバと話してメンバにも最大限の準備をしてもらおう。
■ まずいことが起きたら、Murphyの法則に従って起きていると思う事。
■ 何が起きても、Murphyの法則に従って起きていると考えて自分や他人を不必要に責めない事。
■ 準備は悲観的に、対応は楽観的に!
■ プロジェクト管理で、ギャンブルをしてはいけない!




~ バグを指摘されたプログラマの返答ベスト20 ~


20 ~ 変だな…?
19 ~ 初めての挙動だ。
18 ~ 昨日は動作した。
17 ~ 何でそうなるのかな?
16 ~ ハードウェアの問題じゃない?
15 ~ どういう記入ミスで問題を発生させた?
14 ~ あなたのデータに変な部分がある!
13 ~ そのモジュールは数週間変更していない。
12 ~ 使ってるバージョンが間違ってない?
11 ~ 針の穴を通すような偶然だよ。
10 ~ 全部をテストなんてしてられないよ!
9 ~ これがそれの原因であるわけがない。
8 ~ 動くけど、テストはされていない。
7 ~ 誰かが私のコードを変更したに違いない。
6 ~ あなたのマシンがウィルスに感染しているんじゃない?
5 ~ 動かないけど、つかってみてどんな感じ?
4 ~ このバージョンはあなたの環境では試せない 。
3 ~ 何故そういう方法で実行したいんだ?
2 ~ 誤動作を発生させたときに席を外していたんじゃない?
1 ~ 私の環境では動作する!


番外編

それはドキュメントには書かれていないセキュリティ機能です。
問題を再現できない。
そんな時間はない。
そんなの仕様に入っていない。
仕様です。
再現できないなら直しようがない。
そんな事ありえない。そんな事は起こりえない。
次期修正項目です。
私はプログラマーだからバグを発見する義務はない。
そのバグが100%再現できるようになったら報告してくれ。
もし、どうしても修正する必要があるなら検討してみるよ。
よくわかっていないユーザーに対する言い逃れ…
「何か変なことやったでしょ?」「どっか触った?」
バグのないプログラムなんてないよ。(強気・勘違い?)
既知です。(だったら直せよって思うが…)

 「提供する側」 もとい 「作る事だけしか考えてないプログラマー」 は基本的に自分のせいとは思わない。 作っている自分を と勘違いしているから ……。
 似たような事例に 現場を知らない設計者てぇのもいる。 使い勝手なんて考えもせず、糞使いにくいものだけ設計する。 自分以外が使いにくいといっても絶対直す気が無い のに 他の人の設計にはクチ出す まったく使えない人。




~ チェックリスト ~






The Big Difference between Winner and Loser
(1)A Winner makes mistakes and says: I was wrong
But a Loser says: it wasn’t my fault.
(2)A Winner credits his good luck for winning even though it wasn’t luck
But a Loser credits his bad luck for losing, but it wasn’t about luck.
(3)A Winner works harder than a looser and has more time
But a Loser is always too busy too busy saying a failure.
(4)A Winner goes through a problem and a loser goes around.
(5)A Winner shows his sorry by making up for it
But a Loser says his sorry but he does the same thing next time.
(6)A Winner knows what to fight for and what to compromise on
But a Loser compromise on what he should not and fights for what isn’t worth fighting for.
(7)A Winner says I am good, but not as good as I ought to be.
But a Loser looks down at those who have not yet achieved the position he has.
(8)A Winner respects those who are superior to him and to him and tries to learn from them;
But a Loser resents those who are superior to him and tries to find fault.
(9)A Winner is responsible for more than his job
But a Loser says, I only work here.
(10)A Winner says “There ought to be a better way of doing it”
But a Loser says why change it, that’s the way it has always been done.
One of life little ironies in the fact that when you finally master a tough job, you make it look easy.



chochotte,