Chat (Lingr.com)
Informaiton
Daily
Column
- MySQL日本語の旅(5/1)
- アクセス向上秘伝(5/9)
- 一風変ったHaskellλ門(6/13)
- SICP Answer Book (5/31) 問題3.26追加
Zope Solution
Extra
アーカイブ
OSS案内所
Site Info
関連リンク
有志でやっているとは言え、色々とコラムのリリースが遅くなってしまって、 本当に申し訳ないです。
最近ささやかれている団塊世代の引退で、あまりにもマンモスになってしまった システムを誰も面倒を見ることができないという状況に陥るではないか、 というニュースが流されています。
そこで、システムを作り直す会社が出てきているようです。 中核のシステムで、それだけの重要性があれば、当然そうするでしょうが。 しかし、何の改善もなく、ただ作り直しても、時間が経てば、人が離れていけば、 同じ現象、同じ結果にはなりはしないだろうか? テストつきでなければ、改善もできないし、 修正・変更すればするほど、破綻していってしまうだけです。
UMLを建築になぞらえて説明している例が、なかなかUMLの本質を言い得ていて、面白いと思います。 建築では、建物をいくつかの視点に分けて切り下ろして、図面にして人間が理解し易いようにするそうです。 不動産でよくお目にかかる間取り図は、その最たる代表です。 その他に、 各外壁面を外から垂直に眺めた立面図や、各部屋ごとの内部壁面を垂直に見た展開図などがあります。 UMLも、同様にソフトウェアをいくつかの視点に分けて、 ユースケース図、クラス図、オブジェクト図を作成して、 人に分かり易いようにしているところを比喩しています。
それに対して、 XPのユニットテストは足場と例えることができるように思います。 ビルを建てるときは、コンクリートが積み上がると同時に足場を作って行きます。 ビルを修繕するときは、先に足場を組み上げて行きます。 そうしないと、作業するのに届かなくなってしまうためです。
ユニットテストは、+αの作業ではなく、今まで必要な作業を我々がしなかっただけです。 そのおかげで、毎回毎回私たちは、素手で、断崖絶壁をよじ登り作業をするのです。 現実の建築世界に置き換えてみたら、そら恐ろしいことではないでしょうか? 素手で、その箇所までよじ登り、直して、降りて来るのですよ。
ユニットテストをしなかったからと言って、開発は早くなったでしょうか? ユニットテストをしたからと言って、開発は遅くなったのでしょうか? 改めて聞いてみたいです。
私には一つの夢があります。 ユニットテストで既存のシステムを内部から再構築し、 10,20年、安定した、時代のニーズに合わせて、素早く、機能追加していけるようにしたいという夢です。 システムの寿命を延ばし、 システムを、会社にとって、プラスの資産にし、顧客には、戦略的マーケティングツールとし、 ソフトウェア開発者には、幸せな開発環境を作ってみたいです。
ちなみに、既に2回ほど挫折しています。 まだまだ道半ばです。まだまだチャレンジしていかないと。
There is no comment.