MAARSSEN – Edward Yourdon, één van de bekendste opstellers van methoden voor software-ontwikkeling, sprak vorige week op een bijeenkomst van Software AG over zin en onzin van object-oriëntatie. Hier volgen tips over hoe met dit begrip om te gaan.
"In 1997 zal 40 procent van de applicaties met object-georiënteerde tools gebouwd worden. In het jaar 2000 is dat 80 procent. Waarom is object-oriëntatie zo populair?" Volgens Yourdon is de populariteit te verklaren aan de hand van het soort toepassingen dat tegenwoordig gebouwd wordt.
"Het zijn compleet andere applicaties dan we 20 jaar geleden bouwden. Als traditionele methoden niet meer werken, ligt het voor de hand nieuwe te proberen." Overigens waarschuwt Yourdon voor een al te enthousiaste benadering: "Als gestructureerde methoden in uw onderneming nog wel werken, blijf deze dan in hemelsnaam gebruiken."
De geijkte argumenten om aan object-oriëntatie (OO) te beginnen, somt de methodoloog op: "Produktiviteit, kortere ontwikkeltrajecten, makkelijker onderhoud, flexibiliteit en, last but not least, OO staat goed op het CV."
Bewijs ontbreekt
"Waar is echter het bewijs dat OO aan al deze voorwaarden voldoet? Dat is er eenvoudigweg niet. Er bestaan legio praktijkverhalen, maar welke daarvan zijn te vertrouwen? Hoe weet je als gebruiker dat er geen andere factoren van belang waren voor de geclaimde verbeteringen?" Yourdon zegt dat er slechts honderd tot tweehonderd goed gedocumenteerde praktijkgevallen van object-georiënteerde ontwikkelprojecten bestaan. "Op basis van zo’n gering aantal mag je geen conclusies trekken."
Toch denkt Yourdon dat er niet aan OO te ontkomen is. "Soms gebeurt het dat een technologie zo vanzelfsprekend wordt, dat je wel moet. Kijk maar naar de faxmachine: was het eerst zo dat het aanvragen van een fax bij je manager een hele halszaak was, nu is het zo vanzelfsprekend erover te beschikken, dat er niet eens meer over gesproken wordt. Hetzelfde geldt voor object-oriëntatie: de meeste tools bevatten al OO-elementen, of je nu wil of niet."
Bezorgdheid is op zijn plaats, zo meent de spreker. Zal het niet als een vluchtige trend overwaaien? Als nu, na alle investeringen in OO blijkt dat er slechts 5 procent produktiviteitsverbetering opgetreden is, wat dan? Hadden die investeringen dan niet beter aan andere technologieën besteed kunnen worden?
Waarschuwing
Evenals een andere spreker op hetzelfde congres, Martin Butler (zie pagina 7), waarschuwt Yourdon voor de organisatorische problemen die ondoordachte introductie van nieuwe technologieën met zich meebrengt. "Denk bijvoorbeeld eens aan het onderhoud van die object-georiënteerde code. Ik heb een relatie, die over 3 miljoen regels high-tech C++-code beschikt, geschreven door een genie die vervolgens vertrok naar een nieuwe baas. Deze onderneming heeft totaal geen idee wat er in die code gebeurt, laat staan hoe die aangepast dient te worden. Het is hetzelfde fenomeen als we jaren geleden met Cobol hadden."
Eén van de grootste beloften van OO is die van hergebruik van software. Yourdon bagatelliseert dit: "Ik ken bedrijven die exact nul procent hergebruik realiseren!" Overigens ligt dit niet aan OO, maar aan de organisatie erom heen: "Programmeurs moeten gestimuleerd worden te zoeken naar objecten in plaats van het ‘even snel’ zelf te schrijven. Daarvoor dient de organisatie aangepast te worden. Denk daarbij bijvoorbeeld aan het instellen van een royalties-systeem. Wordt een object van een programmeur gebruikt door een ander, dan ontvangt zowel de originele programmeur als de hergebruiker hiervoor een vergoeding." Bovendien zouden organisaties die het serieus menen met objecten aparte ontwikkelteams moeten opzetten voor het bouwen ervan. "Deze objectenbouwers moeten dan een kapitaalbudget hebben en niet, zoals nu gebruikelijk is, een operationeel budget. Ze produceren toch kapitaalgoederen!"
Aansluiting
Later in zijn presentatie pleitte Yourdon nog voor het object-georiënteerd maken van het gehele ontwikkelproces. "Het is niet voldoende om te bouwen met een OO-tool. Daaraan voorafgaand dient het analyse- en ontwerpproces al met een OO-methode te gebeuren. Object-georiënteerd bouwen sluit totaal niet aan op traditioneel analyseren en ontwerpen. Bovendien dient de vertaling tussen deze twee methoden met de hand te gebeuren. Er bestaan geen tools voor." Yourdon zegt ook wel te weten dat hij – wat dit laatste betreft – tegen een doof publiek praat als hij vervolgens meldt dat er vorig jaar tweehonderd mensen door hem getraind zijn in het object-georiënteerd analyseren, terwijl "Powersoft 40.000 programmeurs wegwijs gemaakt heeft in het OO-programmeren!" MU