今日の役に立たない一言 - Today’s Trifle! -

古い記事ではさまざまなテーマを書いていますが、2007年以降はプログラミング関連の話がほとんどです。

誰がやっても同じ結果になるように

「ソフトウェアの工業化」という掛け声のもと、誰がやっても同じ結果になるようにしようという動きです。

誰がやっても同じ結果となるかどうか以前に、自分が同じことを2度やって同じ結果になるかどうかを考えれば分かる。
自分が作ったルールがあるとする。そのルールに従って自分で作業をしたとする。でも同じ結果は得られない。2度目の作業では、既に1度目を経験しているで同じ結果にはならない。2度目の作業では1度目より理解が深まっているので、よりよい結果が得られる。
自分が作ったルールがあるとする。そのルールに従って、ルールを十分に理解してくれている優秀なテスターに作業をさせたとする。どのような結果が得られるか?
自分が作ったルールがあるとする。そのルールに従ってあまりスキルが高くない人に作業をさせたとする。どのような結果が得られるか?
どうすれば同じ結果が得られるか? 完全に自動化すれば必ず同じ結果が得られる。
どうすれば自動化できるか? コンピュータが読み取ることができる厳密な仕様書を作ることが必要だ。
コンピュータが読み取ることができる厳密な仕様書とは? 今のところその条件を満たすのはプログラムコードしかない。
仕様書に間違いがあったら? 間違った結果が得られる。