From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-0.3 required=5.0 tests=BAYES_00, REPLYTO_WITHOUT_TO_CC autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 109fba,b87849933931bc93 X-Google-Attributes: gid109fba,public X-Google-Thread: 1108a1,b87849933931bc93 X-Google-Attributes: gid1108a1,public X-Google-Thread: 11cae8,b87849933931bc93 X-Google-Attributes: gid11cae8,public X-Google-Thread: f43e6,b87849933931bc93 X-Google-Attributes: gidf43e6,public X-Google-Thread: fac41,b87849933931bc93 X-Google-Attributes: gidfac41,public X-Google-Thread: 103376,b87849933931bc93 X-Google-Attributes: gid103376,public X-Google-Thread: 114809,b87849933931bc93 X-Google-Attributes: gid114809,public From: Tansel Ersavas Subject: Re: What is wrong with OO ? Date: 1996/12/08 Message-ID: <32AA978F.7D64@deep.net> X-Deja-AN: 202959899 references: <32A5A86A.1AF1@shef.ac.uk> <32A82932.4A73@mci.com> <1996Dec7.151850.877@prim.demon.co.uk> content-type: text/plain; charset=us-ascii organization: RASE Inc. mime-version: 1.0 reply-to: tansel@deep.net newsgroups: comp.lang.c++,comp.lang.smalltalk,comp.lang.eiffel,comp.lang.ada,comp.lnag.java,comp.object,comp.software-eng x-mailer: Mozilla 3.0 (Win95; U) Date: 1996-12-08T00:00:00+00:00 List-Id: Dave Griffiths wrote: > The last OO project I worked on was a spectacular disaster. A "generic" > reservations system for one of the biggest entertainment companies in the > world. It was cancelled a couple of months ago after millions down the > drain. You won't read about it anywhere because these things aren't discussed > publically. That in itself is part of the OO "problem" - you only hear about > the successes. This particular project failed through lack of a coherent > technical vision. There was nobody "in charge", just a bunch of developers > making it up as they went along. They were pretty talented, but that RAD > approach simply doesn't scale up for large projects. I think that there are a few points here that should be discussed. 1. "The cancelled projects with money down the drain" is not a part of the OO problem, but a general IS one. I know two 100 million projects cancelled after 5 years of great hopes, money and sweat, and they weren't OO projects. Every year, hundreds of BILLIONS of dollars are down the drain because of blown IS budgets and cancelled projects. In fact I would doubt very much that cancelled OO projects to successful OO projects ratio to be anything near cancelled traditional style projects vs overall traditional projects. The only reason we hear about failed traditional systems is that there are so many of them and they are much more spectacular than the one you are mentioning. Still only a very few of them get a mention. 2. You were very right to observe the reasons as to why the project failed. However, this is a more general syndrom of industrial era mentality applied to complex systems. As we move in the post industrial era, most of our problems come from our inability to create new types of organizations that can deal with such situations. 3. I am not a particular fan of the RAD approach. It doesn't imply OO, in fact, OO is only later tucked on to it. RAD is Today's techniques applied to Yesterday's organization structure. OO is not essential to the RAD, and If RAD fails, the failure can not be attributed to its tucked on OO component. 4. You were right to point out scaling as the biggest problem. However, OO, though as practiced Today it has its scaling problems, properly done has a much bigger chance of scaling than the traditional approach. > OO is pretty easy to sell though. You get the salesman to fly in from > California, take the managers out to lunch, talk loudly, smoke big cigars > and so on, then it's back to the conference room for a demo "blah blah, > ten times faster than existing development environments, blah blah", they > show how you can build a GUI interface to the database with just a few > drag'n'drops. Managers are bewitched, they agree to a pilot project to > build a prototype, in come the consultants to head up the project, they > knock up a few bubble diagrams, the prototype gets built and looks better > than anything the managers have ever seen and that's it, they're hooked. I'm glad to hear that. In my time it was much harder. > By the time it all goes horribly wrong, the fast talking consultants who > did the original "design" are long gone (natch) and are now trying to sell > someone their Web based solution... Hey, they have to live, life goes on. What's wrong if they costed a few millions to be wasted on one client's expense? Frankly, I couldn't have kept a straight face if I were responsible of such a failure. Anyway, I think that for OO to succeed, there are certain prerequisites. 1. People and the organization that they are in 2. Proper techniques (such as OO) 3. Tools People and organizations issue is the most important issue. If you get the best people and put them into an average organization, they will be wasted. Why: Current organizations are based on Smith, Fayol and Taylor's industrial era principles. These principles are based not on trust and liberty, but suspect and control. It is a restrictive rather than nourishing environment. In this environment, people are restricted by the system they are in, and act accordingly. I personally witnessed a case where in a big organization three of my friends were working on a project they knew it wouldn't be succesful, because by the time they had finished it, the system that they were developing the software for would be outdated, and being a legacy propriotory system, they wouldn't be able to replace hardware, and there would be no cheap way to port the software. They tried to explain it to the management, but not wholeheartedly. Nobody listened. As nobody owned the system, software was finished, and shelved. In this type of organization the process is divided into little steps of each would be performed by a non-overlapping team. Only the managers high up should have the overall vision and knowledge of which most of it already filtered going up and down; therefore collective vision and knowledge is nowhere to be found. Alternative structures are networking organizations. Indeed, there are a few companies enjoying benefits of human networking, and ours strives to be one of them. As for OO, even if it doesn't work, it should work. I saw it working, and I know it is repeatable. Tools are another chapter, indeed another book, that can help us out of our current misery. However, I don't have time to elaborate on that. Overall, it is a jigsaw, if parts are missing it doesn't look good. Remember, reading the same Bible, some go to crusade and kill thousands, some become loving caring people. Using the same knife, a chef creates masterpieces that are delicious, yet some others use it to threaten others. Techniques are just like that. Not magic wands. People can use OO to drown themselves and others in a spectacular mess, or glorify themselves and their organization. Lets create an unified vision for the people first, and than expect good results. Finally, if OO won't work, what are the alternatives, certainly not the old ways. Kind Regards Tansel Ersavas RASE Inc. mailto:tansel@deep.net http://www.rase.com/