Softwareontwikkeling moet simpeler en sneller. Rational zoekt de oplossing sinds de overname door IBM in benaderingen als ‘agile ontwikkelen’, ‘mashups’ en samenwerking via het web. Microsoft introduceerde de softwarefabriek. Het Nederlandse bedrijf Thinkwise claimt die visie waar te maken.
Gebrekkige communicatie tussen it en business heeft grote it-projecten altijd parten gespeeld. De dichtgetimmerde processen en methoden die softwareontwikkeling beheersbaar moesten maken, dragen in de praktijk vaak alleen maar bij aan de vertragingen en uitdijende budgetten. De overname door IBM gaf Rational een impuls alternatieve benaderingen te zoeken. De leverancier van ontwikkeltools had zich tot dan bijna uitsluitend op it gericht. IBM bracht Rational in contact met de operationele managers, financiële analisten en andere eindgebruikers van it-systemen.
De evolutie naar nieuwe paradigma’s, zoals samenwerking via het web en ‘agile ontwikkelen’ zette afgelopen juni door op IBM Rationals ontwikkelaarscongres. Het congres in Florida stond in het teken van de introductie van Jazz.net en Team Concert als eerste product op het samenwerkingsplatform. “Ontwikkelomgevingen zonder samenwerkingselement zijn over een paar jaar niet meer relevant”, zei Danny Sabbah, die in 2005 de leiding over Rational overnam. “Niet alleen voor de uitdagingen van organisatorisch of geografisch gedistribueerde ontwikkeling, maar vooral voor de evolutie naar just-in-time productontwikkeling, fijnmazigheid en modulariteit.”
Praktische mijlpalen
Softwareontwikkeling decentraliseert. “Absoluut”, zegt Rationals chief technical officer Lee Nackman. “Mensen in allerlei verschillende organisatievormen op verschillende plaatsen in de wereld proberen samen software te bouwen. Dat is een model dat steeds meer voorkomt. Ik zie ook andere modellen. Sommige klanten willen ontwikkeling juist op één locatie samenbrengen. In een ander model doet een klein team op één locatie de productdefinitie en een groter team elders de ontwikkeling. Dat grotere team kan een leverancier zijn of een ander onderdeel van hetzelfde bedrijf. Er zijn allerlei verschillende ontwikkeltopologieën.”
Lee Nackman is tevreden met Rationals ondersteuning van geografisch gedistribueerde ontwikkeling waarbij Rationals producten op verschillende locaties zijn geïnstalleerd. “Waar we nog aan werken in al onze producten is ondersteuning van een gecentraliseerd model”, zegt Nackman. “Een model met één opslagplaats waar alle locaties toegang toe hebben. Onze ClearCase- en ClearQuest-producten hebben sterke replicatiefunctionaliteit voor meerdere locaties, maar we breiden de functionaliteit van remote clients uit om toegang tot een centrale opslagplaats te bieden.”
‘Agile’ ofwel ‘lenig’ ontwikkelen probeert de lijnen kort te houden en de hoeveelheid documentatie terug te dringen. IBM haalde krap een jaar geleden de zelfstandige agile consultant Scott Ambler binnen om het Rational Unified Process (RUP) meer agile te maken. Het proces is georganiseerd rond praktische mijlpalen ofwel iteraties. De programmeurs werken meestal samen in kleine teams met directe persoonlijke communicatie. Tot nu toe werkt agile daarom beter in kleinere bedrijven. “Agile had het omslagpunt bereikt”, zegt Ambler. Grotere bedrijven gingen agile methoden toepassen en die kloppen aan bij IBM, niet bij zelfstandige consultants.
Simpele webapplicaties
Agile en RUP zijn volgens Scott Ambler prima te combineren. Rationals praktijkleider Agile Development noemt het een misverstand dat RUP vooraf een hoop planning en documentatie vereist. “Zelfs voor ik bij IBM kwam schreef ik al over hoe je agile kunt zijn met RUP. Het RUP-team heeft altijd benadrukt dat je het op maat moet snijden. Helaas kiezen organisaties meestal voor topzware, seriële implementaties. Ze beginnen met RUP, maar dan dragen ze het over aan hun gebruikelijke procesengineers die gewend zijn zware documentatie te doen. Dus die interpreteren RUP hoe ze gewend zijn te werken en het resultaat is een puinhoop.”
Ambler verwijst naar een lichtgewicht definitie van RUP die eind 2005 open source is gemaakt onder het Eclipse-project. De definitie is toegespitst op kleine teams die zakelijke software ontwikkelen. Eclipse zelf is ontwikkeld met een agile proces. Ambler is actief betrokken bij uitvoering van het Eclipse Process Framework waarin ‘The Eclipse Way’ is gedefinieerd. Jazz bouwt voort op Eclipse. “Jazz en Team Concert ondersteunen agile ontwikkelen”, zegt Ambler. “Jazz heeft allerlei features die samenwerking makkelijker en dingen als vereisten verzamelen meer agile maken. Je kunt goed zien waar iedereen mee bezig is.”
Data combineren in simpele webapplicaties kan veel programmeerwerk helemaal overbodig maken en het initiatief verschuiven van it naar business. “We gaan toe naar sterk contentgerichte dashboards die erg effectief zullen zijn”, zegt Rod Smith, hoofd van IBM Emerging Internet Technologies. Smith vertelt Rational vaak dingen die men niet wil horen. Zijn afdeling ontwikkelde onder andere QEDwiki, het beste voorbeeld tot nu toe van zakelijk Web 2.0. QEDwiki is beschikbaar op IBM AlphaWorks Services. Smith wil de applicatie niet te snel in een productvorm gieten. “Als middleware-leveranciers hebben we niet veel contact met de businesskant”, zegt Smith. “Zoiets als QEDwiki is zo gemakkelijk te verprutsen door er weer een ontwikkeltool van te maken.”
Geautomatiseerde assemblage
Rod Smith onderscheidt assemblage van ontwikkeling. “Hoe krijg ik mijn widgets en feeds?” zegt Smith. “Hoe converteer ik informatie naar microformats en andere dingen die ik de browser binnen kan trekken? Het web biedt de onderliggende architectuur. Als iemand andere componenten nodig heeft, prima. Rational heeft daar tools voor. Maar je wilt de snelheid die Visual Basic biedt zonder de VBX-nachtmerries. Alles staat op de server. De client assembleert alleen maar. Je moet niet in het syndroom van Visual Basic of Lotus Notes vallen, waarbij je overal en nergens een heleboel applicaties hebt draaien. Je hebt een lichtgewicht managementsysteem nodig met beveiliging aan de achterkant.”
Geautomatiseerde assemblage van code is de visie van de softwarefabriek. IBM mijdt de term zorgvuldig. Microsofts Jack Greenfield schreef er in 2004 een boek over (Software Factories: Assembling Applications with Patterns, Models, Frameworks, and Tools). Greenfield is een voormalige chief architect van Rational. Microsoft had Rational ook willen overnemen, maar IBM kaapte het bedrijf weg. Grady Booch was bij Rational de man achter RUP en Unified Modeling Language (UML). In 2004 en 2005 richtte Booch vanuit IBM zijn pijlen op voormalige collega Greenfield. Booch bestempelde de softwarefabriek in online discussies als ‘marketecture’ en maakte bezwaar dat Microsoft zijn standaard UML verwierp ten gunste van bedrijfseigen domeinspecifieke talen (DSL).
Microsoft vindt UML te breed om praktisch toepasbaar te zijn. De softwarefabriek was voor Microsoft intern ook deels een antwoord op de vertragingen in de ontwikkeling van Vista. Greenfields boek moest de markt opwarmen voor Visual Studio Team System (VSTS) dat eind 2005 verscheen. IBM’s Team Concert is een concurrent voor VSTS. De visie van de softwarefabriek is in het samenwerkingsplatform van Visual Studio nog nauwelijks uitgewerkt. Microsoft introduceerde dit jaar vier ‘softwarefabrieken’ voor Web Clients, Smart Clients, Mobile Clients en Web Services.
Rational focust op UML
Ondanks de protesten kruipt ook IBM Rational steeds meer in de richting van domeinspecifieke benaderingen. IBM introduceerde Enterprise Patterns voor zijn Rational Software Architect (RSA). IBM blijft vasthouden aan UML, maar UML 2.0 maakt ruimte voor domeinspecifieke varianten. Het Zweedse bedrijf Telelogic, dat afgelopen voorjaar overgenomen is door IBM, is een enthousiast gebruiker van UML 2.0, maar legt zich specifiek toe op ontwikkeltools voor embedded software in ruimtevaart, militaire toepassingen en de autobranche.
Microsoft noch IBM maakt de softwarefabriek waar, volgens de directeur van het Nederlandse bedrijf Thinkwise. “Rational focust op UML”, oordeelt Victor Klaren. “Rationals tools worden vooral gebruikt om de business te modelleren. Hoe lopen mijn processen? Welke gegevens heb ik nodig? Waar kan ik optimaliseren? Je kunt er software mee genereren, maar de meeste code wordt handmatig geschreven. Microsoft heeft een visie neergezet met het .NET-platform en praat veel over domeinspecifieke talen, maar welke zijn er nu precies? Microsoft richt zich puur op .NET en IBM op Java. Wij staan boven die technieken en automatiseren veel verder.”
Thinkwise genereert database, functionaliteit en interface op basis van een elektronische bouwtekening. Wijzigingen in de bouwtekening of Meta Solution Definition (MSD) leiden automatisch tot aanpassingen in de drie lagen. De MSD kan worden afgeleid van de UML-output van ontwerpgereedschappen als de Rational Software Architect. Thinkwise levert grafische tools om de MSD te onderhouden.
Eindgebruiker-programmeren
Sligro Food Group en Royal Huisman Shipyard gebruiken de softwarefabriek van Thinkwise. “Sligro wonnen we van IBM”, zegt Klaren. Maar Thinkwise heeft een nadrukkelijk domeinspecifieke benadering. “Wij zijn een softwarefabriek voor administratieve toepassingen. Je zou er nooit een spelletje mee kunnen maken. Er wordt nu wel meer over gesproken dat je op een domein moet focussen wil je dit goed doen. Je moet de variabelen zo breed mogelijk maken, maar als je het eindeloos doortrekt verliest het zijn kracht.”
Lee Nackman gelooft niet in de softwarefabriek. “We zijn ver verwijderd van het moment waarop we kunnen zeggen dat businessmensen zelf hun applicaties kunnen ontwikkelen en we geen programmeurs meer nodig hebben.” Bij zakelijk web 2.0 denkt Nackman vooral aan Ajax-webinterfaces. “Rod Smith en zijn team zijn zeer actieve promotors van enkele spelers op dat gebied”, zegt Danny Sabbah. “Wij zien dat als aanvullend op wat wij doen.” Sabbah relativeert het programmeerbare web. “Mensen die voor het eerst Visual Basic gebruikten dachten ook dat het eindgebruiker-programmeren was.”
Hoeveel macht moeten softwareprogrammeurs afstaan aan businessanalisten? “Als je de miscommunicatie tussen business en it ziet is er nog een hoop werk te doen”, zegt Sabbah. “Het gaat niet zozeer om macht als om begrip op elkaar aansluiten of onbegrip reduceren. Het is een gedeelde verantwoordelijkheid. Business moet focussen op business. It moet business versnellen in plaats van een obstakel vormen.”