「悪態のプログラマ」さんの「バグを求めるものたち 前編」というブログをみて、「ひょっとして、このプロジェクトマネージャーさん、似たような言葉を誤解してるのではないかな?」と、ちょっと思ったので、書いてみました。
ちなみに、上記のブログの中には、こういう言葉が出てきます。
たしかに、上記のいいかたは、おかしいです。
しかし、これに似たようなことをいうケースがあります。
これは、ウィリアムのいたずらも、言ったことがあります。
で、意味があります。
まず、どういうときかというと、
本当に、このプログラム、できるんかい?って
自信、ちょっとないとき。あと、インターフェースが合うかどうかを早く確認したいとき。
単体テストを一生懸命やってもらっても、言ってる意味が通じてなかったり、結合で合わなかったら、結局作り直しになって、単体テストが無駄になってしまう。
もちろん、仕様は書いているんだけど、正直、意味が通じているかどうか、分からない(「あんた、俺の言った意味、通じてないだろう!」と、プログラマには、失礼で、いえない)。
さらにひどいときになると、できるかどうかも自信が無い(BREWなどで、マニュアルにはこう書いてあるけど、この機種で、この機能がサポートされているかどうか、わからない)。
そこで、早いところ、全部通してもらって、意味が通じているのかどうかを、確認したい。
そういうときに、ウィリアムのいたずらは、上記のことを言います。
で、正常系は通って、インターフェースが合っていれば、さらに品質を上げていただくための単体テスト、もし、インターフェースが間違っている(誤解されている)などの問題があれば、プロジェクトをそこで止めます(単体テストもストップ!だって、そのプログラム自体、捨てちゃうかもしれないから)。
というかんじです。
上記のプロジェクトマネージャーは、ウィリアムのいたずらなどがいう、「コンパイルがとおる所まで、一応作っちゃって、正常系が出来たら、その時点で頂戴。そしたら、俺が、結合できるかどうか確認する(=テストする)から。で、それでOKだったら、本格的にテストしてね」ということばを、誤解して、あるいは、わざとかもしれないけど、言ったような気がします。
うーん、たしかに、似てる言葉なんだけど、ちがうんだよなー。言ってる意味は。
もしかしたら、言う側は、そういう気持ちで言っても、聞く側からすると、そのプロジェクトマネージャーが言った言葉のように聞こえるのかなあ??
ちなみに、上記のブログの中には、こういう言葉が出てきます。
「プログラミング中には、作ったプログラムを動かすな。ただソースコードを書いてコンパイルが通ればよい。とにかく、テスト工程に入るまでは絶対に動かさないこと」 あるプロジェクトマネージャが、プログラマにこのような指示をしていた。 おかしなことを言うものだ。 |
たしかに、上記のいいかたは、おかしいです。
しかし、これに似たようなことをいうケースがあります。
「プログラミングは、コンパイルがとおる所まで、一応作っちゃってね。 で、正常系がとおることを確認したら、いったん、(こっそり)頂戴!。 (「その段階で、誤解が無いかどうかの確認テストをするから。」ということは言わず) 詳細な単体テストや、異常系の単体テストは、その後にやってね。」 |
これは、ウィリアムのいたずらも、言ったことがあります。
で、意味があります。
まず、どういうときかというと、
本当に、このプログラム、できるんかい?って
自信、ちょっとないとき。あと、インターフェースが合うかどうかを早く確認したいとき。
単体テストを一生懸命やってもらっても、言ってる意味が通じてなかったり、結合で合わなかったら、結局作り直しになって、単体テストが無駄になってしまう。
もちろん、仕様は書いているんだけど、正直、意味が通じているかどうか、分からない(「あんた、俺の言った意味、通じてないだろう!」と、プログラマには、失礼で、いえない)。
さらにひどいときになると、できるかどうかも自信が無い(BREWなどで、マニュアルにはこう書いてあるけど、この機種で、この機能がサポートされているかどうか、わからない)。
そこで、早いところ、全部通してもらって、意味が通じているのかどうかを、確認したい。
そういうときに、ウィリアムのいたずらは、上記のことを言います。
で、正常系は通って、インターフェースが合っていれば、さらに品質を上げていただくための単体テスト、もし、インターフェースが間違っている(誤解されている)などの問題があれば、プロジェクトをそこで止めます(単体テストもストップ!だって、そのプログラム自体、捨てちゃうかもしれないから)。
というかんじです。
上記のプロジェクトマネージャーは、ウィリアムのいたずらなどがいう、「コンパイルがとおる所まで、一応作っちゃって、正常系が出来たら、その時点で頂戴。そしたら、俺が、結合できるかどうか確認する(=テストする)から。で、それでOKだったら、本格的にテストしてね」ということばを、誤解して、あるいは、わざとかもしれないけど、言ったような気がします。
うーん、たしかに、似てる言葉なんだけど、ちがうんだよなー。言ってる意味は。
もしかしたら、言う側は、そういう気持ちで言っても、聞く側からすると、そのプロジェクトマネージャーが言った言葉のように聞こえるのかなあ??