Ontwikkeling software nu hoofdzaak CA
Cullinet was producent van de database IDMS, een gigantische elektronische kaartenbak voor mainframes. De software was in de jaren zestig al ontwikkeld en was niet flexibel. Cullinet werd links en rechts gepasseerd door leveranciers van relationele databases, Oracle voorop. Het weerwoord van Cullinet bestond uit IDMS/R. Het werd gepresenteerd als een relationele database, maar slechts een klein deel van de software verdiende dat predikaat. Bovendien kon Cullinet het niet verkopen. Daarmee tekende zich het einde voor het bedrijf snel af en CA nam Cullinet voor 400 miljoen dollar over. Gupta: "Marketingtechnisch gezien was IDMS/R een ramp, hoewel de software op zich wel goed was. Ga maar na, onder de motorkap worden bij CA nog steeds delen van IDMS gebruikt. Ook van andere firma’s die ooit zijn overgenomen, zoals ADR, zijn nog technologieën overgebleven. Ze werken prima, alleen ziet de gebruiker ze niet, de software gedraagt zich als een ‘black box’." Het ongebreideld opkopen door CA van andere softwareproducenten behoort sinds enige tijd tot het verleden. "We hebben zojuist de derde verjaardag gevierd van onze laatste aankoop. In februari 2000 werd Sterling Software ingelijfd. Daarna is besloten dat er een nieuwe koers moest worden gevaren, niet meer gericht op overnames." Op de opmerking dat je net zo goed zou kunnen zeggen dat CA al zo veel heeft gekocht dat er op de ‘markt van softwareaanbieders’ niets meer te halen zou zijn, reageert hij: "Ben je gek, kijk maar om je heen, er zijn voldoende gelegenheden geweest om weer een nieuwe firma aan de bonte verzameling toe te voegen. Dat dat niet is gebeurd is een bewuste keuze geweest. Het opkopen was iets voor het oude CA, de nieuwe variant werkt anders. We kunnen nu ons eigen plan trekken en zijn niet meer gebonden aan software en technologie die door anderen is bedacht en die soms heel moeilijk te combineren was met wat we al in huis hadden. Kijk bijvoorbeeld naar de overname van Ingres. Hun database heeft ook een aantal moeilijke jaren doorgemaakt en toen CA het geheel kocht, waren de kaarten op de markt eigenlijk al geschud. We hebben de onderliggende technologie nog wel verder kunnen gebruiken, maar het product Ingres zelf verdween naar de achtergrond." De softwaremodules uit Ingres zijn gebruikt als basis voor de zogeheten ‘common components’ die CA gebruikt voor de bouw van software. Dat zijn bouwblokken waarmee een nieuwe applicatie snel vormgegeven kan worden. In het ideale geval beschikt een ontwikkelaar over een zo grote hoeveelheid van die bouwblokken, dat een toepassing er geheel mee gemaakt kan worden. Gupta: "Ja, dat zou het ideaal zijn, maar dat is natuurlijk niet realistisch. We zijn blij als de helft van een nieuw programma zo uit de kast kan worden gehaald. Het verschilt natuurlijk ook van applicatie tot applicatie. De ene is misschien voor 10 procent specifiek, zoals wij dat noemen, wat wil zeggen dat je 90 procent standaardcomponenten kunt gebruiken en de rest erbij moet verzinnen. Andere applicaties hebben een specificiteit van 50 procent of meer. En natuurlijk veranderen de eisen ook steeds en komen er nieuwe standaarden bij. Tien jaar geleden hoefde haast geen enkel programma een interface te hebben naar een netwerk zoals internet. Nu is dat vrijwel andersom. Onze softwareontwikkelaars maken dus ook steeds weer nieuwe ‘common components’, waarbij het accent ligt op herbruikbaarheid en uitbreidbaarheid. Dat laatste is een les die we hebben geleerd uit het verleden, al is je product nog zo goed, als het niet aan te passen is aan nieuwe eisen dan loop je op een bepaald moment keihard tegen de muur." Vroeger kon een producent van software nog zijn eigen visie opleggen aan de gebruikers, tegenwoordig is dat geen valide werkwijze meer. De gebruiker krijgt een steeds grotere stem in het geheel. "Het hoeft ook niet altijd een luide stem te zijn, hoor. Soms dwingen de gebruikers je een bepaalde kant op zonder dat ze dat zelf in de gaten hebben. Een voorbeeld is de steeds complexer wordende infrastructuren bij die gebruikers. Dat is iets dat langzaam groeit, maar het dwingt ons wel om ervoor te zorgen dat onze software in die omgeving zijn werk kan doen. Een stille gebruikerswens, noemen we dat. En daarnaast heb je natuurlijk ook gebruikersgroepen die luid en duidelijk laten weten wat ze willen en waaraan een leverancier moet voldoen. Het is wel gebeurd dat we een product dat we eigenlijk hadden willen schrappen op instigatie van de gebruikers toch in stand hebben gehouden. Een voorbeeld is het ontwikkelgereedschap Visual Object, dat door een groep ‘powerusers’ absoluut onmisbaar werd gevonden. Maar bij andere pakketten hebben we de knop op een gegeven moment wel omgedraaid. Het is altijd lastig om te snoeien in je aanbod", zegt Gupta. Ook CA ontkwam er soms niet aan om een product van de markt te halen zonder dat de gebruikers daar bezwaar tegen maakten. In zo’n geval blijkt toch de macht van de leverancier, die slechts zelden wordt doorbroken. Zo werd Visual Object ruim een jaar geleden van de hand gedaan. Gupta: "Eindgebruikers kunnen teleurgesteld zijn als een product door de leverancier van de markt wordt gehaald. Maar soms is het gewoon verstandig om een product te stoppen. Je hoeft er je energie niet meer in te steken en die kun je dan gebruiken voor ander werk." Het is een doorlopende afweging of een product moet blijven of dat het weg moet. Zou er te veel geschrapt worden, dan ontstaat een schraal aanbod waar sommige gebruikers zich absoluut niet meer in kunnen vinden. "Het is een utopie om te denken dat je alles onder één noemer zou kunnen brengen. Wie zoiets zegt, staat buiten de realiteit. De meeste gebruikers willen helemaal niet migreren, ze willen met wat ze hebben het onderste uit de kan halen. Kleine aanpassingen vinden ze doorgaans niet erg, maar een gigantische overstap, daarover moet je niet beginnen, vind ik", zegt Gupta. CA is steeds bezig om de bestaande software aan te passen aan veranderende eisen. Daarnaast wordt in de laboratoria fundamenteel onderzoek gedaan, dat niet direct hoeft te resulteren in een te verkopen product. "Die inspanningen op het gebied van R&D zijn de afgelopen jaren sterk uitgebreid. Het heeft al geresulteerd in de bouw van common components. Daar gaat het meeste geld van het beschikbare budget van zo’n 700 miljoen dollar naartoe, voor het genoemde pure onderzoek wordt circa 4 procent van het budget uitgegeven. We hebben de budgetten overigens behoorlijk zien stijgen, de afgelopen drie jaar hebben we 67 procent meer geld voor R&D vrijgemaakt dan de drie jaren daarvoor. Naast ons eigen onderzoek werken we ook veel samen met universiteiten, zes stuks in totaal. Daarbij zijn ruim honderd studenten betrokken." Waar mogelijk worden bij de ontwikkeling van de software hulpmiddelen gebruikt die het werk vereenvoudigen. Toch wil dit niet zeggen dat alle applicaties worden gemaakt met behulp van een programmagenerator. "Ik zou haast zeggen ‘juist niet’. Een generator kun je goed gebruiken voor het maken van een relatief eenvoudige applicatie, maar als je op systeemniveau bezig bent dan werkt dat niet. Neem bijvoorbeeld een modelleergereedschap. Hoe zou je in vredesnaam een model moeten maken van Windows NT, om op basis daarvan een applicatie te laten genereren? Windows NT bestaat uit miljoenen onderdelen en wil je die in een sluitend model opnemen dan ben je wel even bezig. Dat is veel te veel werk, in relatie met het gemak dat je ervan zou hebben. Ik pleit nog steeds voor handwerk, wat als extra voordeel heeft dat je er compacte code mee kunt maken. Heb je zo’n applicatie af, dan kun je daar wel een model van maken en doorrekenen of de software zich goed zal gedragen in de eindgebruikersomgeving. Dan heeft het gebruik van een model zin, bij de start van de ontwikkeling niet", aldus Gupta. Gupta heeft zeker het voordeel dat hij is opgegroeid met handmatig programmeren en hij kan ook zijn ontwikkelstaf motiveren om op zo’n manier te werken. "Ik denk niet dat we het er slecht vanaf brengen, als je bedenkt dat we in het afgelopen jaar zo’n tweehonderd nieuwe ‘releases’ en nieuwe applicaties hebben afgeleverd. In de jaren zeventig ben ik begonnen met programmeren in Assembler en dan leer je discipline. Deze manier van werken zorgt soms wel voor een iets hogere kostprijs van de producten, maar het is ook weer zo dat de prijs voor de gebruikers niet de bepalende factor is. Ze kijken wel degelijk naar de functionaliteit. Als het puntje ‘prijs’ overal het belangrijkste was, dan was Mercedes allang failliet geweest!"