Re: OOP - a question about database access

From: Uncle Bob (Robert C. Martin) <"Uncle>
Date: Thu, 06 Nov 2003 13:18:52 -0600
Message-ID: <6b7lqvgajitik3qnseegf8t1afs6gep9fb_at_4ax.com>


Tak To <takto_at_alum.mit.edu.-> might (or might not) have written this on (or about) Wed, 05 Nov 2003 20:39:45 -0500, :

>It seems to me that these managers have confused features with
>tasks. Using the analogy of a building: these managers think
>they can schedule construction by rooms, thereby ignoring
>tasks such as pouring the foundation, laying down the pipes
>and ducts and pulling the wires.
>
>Translating featuers to tasks is often non-trivial. Most
>managers lack the necessary skillset and that is often why
>they become managers instead of architects or independent
>consultants.

I have found, over the years, that the building analogy just doesn't work for software. In software it really *is* possible to lay the foundation after part of the building is up. The costs of doing things "out of order" is so much smaller than in construction work, that the term "out of order" becomes nearly meaningless.

I have seen the database ripped out of an application and replaced with very little effort. I have seen a system that worked on one computer turned into a distributed system working on many computers with very little effort. I have also seen systems in which even the tiniest change is a nightmare. What differentiates these two kinds of systems is the care taken with the code. If the code is clean and well ordered, the system is flexible. If the code is supported with sufficient unit tests and acceptance tests, the risk of changing it is greatly diminished.

Robert C. Martin    | "Uncle Bob"                   
Object Mentor Inc.  | unclebob _at_ objectmentor . com
501 N. Riverside Dr.| Tel: (800) 338-6716         
Suite 206           | Fax: (847) 775-8174           | www.objectmentor.com
                    |                               | www.XProgramming.com
Gurnee, IL,         | Training and Mentoring        | www.junit.org
60031               | OO, XP, Agile, C++, Java, C#  | http://fitnesse.org
Received on Thu Nov 06 2003 - 20:18:52 CET

Original text of this message