Met de officiële lancering van ons expertpanel op het Topic Development is er gelijk een interessante discussie ontstaan over het dichten van de kloof tussen ontwikkeling en gebruik. Openlijk wordt gesproken of Web 2.0 en agile hiertoe bij zouden kunnen dragen. Onze experts aan het woord.
Van oudsher is de ontwikkeling van software vaak een afgescheiden proces. Vooraf worden de behoeften bij de gebruikers in kaart gebracht en vervolgens wordt er een ontwikkelplan gemaakt. Na het hele ontwikkeltraject volgt een afgerond product, waarbij een bèta-versie nog een feedback-mogelijkheid is voor de gebruikers. Dit verandert door de huidige populariteit van flexibel ontwikkelen, met en voor Web 2.0 maar ook volgens de aloude agile-methodiek. Die twee aanpakken voor programmeren hebben nogal wat gelijkenissen. Zo is er bij beide de verplichting ingebouwd om voortijds al functionele delen van het eindproduct op te leveren. Het Computable-expertpanel Development ziet hierdoor de ontwikkelaar deels gedwongen uit zijn hok komen.
André Weber
Manager teststraat
Getronics
"Ik maak een kanttekening bij tussentijds of voortijdig iets opleveren. Het is niet gewenst dat leveranciers toepassingen op de markt zetten als bètaversies, terwijl het gebracht wordt als volwaardig product. Bètaversies mogen alleen als gebruikers weten dat het een bètaproduct betreft. Als je iets serieus wil gebruiken is het niet aangenaam om meerdere malen te moeten wachten op nieuwe versies en patches, en die te moeten downloaden en installeren. Agile-methodieken hebben zeker toegevoegde waarde. Wel is belangrijk dat er dan ook daadwerkelijk een methodiek toegepast wordt en dat er niet even snel iets in elkaar geknutseld wordt zonder een goede planning en een van te voren vastgestelde aanpak. De meer traditionele ontwikkelmethodieken hebben zich ook verder ontwikkeld. Deze methodieken ondersteunen onder andere incrementeel ontwikkelen. Hiermee krijg je het beste van twee werelden. De keuze voor een ontwikkelaanpak is dus gekoppeld aan het project. Het is afhankelijk van diverse factoren. De aard van de toepassing; standaardsoftware, maatwerk, groot, klein enzovoorts. En of het nieuwbouw of onderhoud betreft. Op basis daarvan moet je kiezen voor de beste methodiek. Een professionele organisatie kan meerdere manieren van ontwikkelen aan."
Justus Beek
Directeur Business Development
Daxx
"Web 2.0- en agile-development zijn nuttige ontwikkelingen die helaas door veel marketingafdelingen binnen ict-bedrijven veel te veel opgeklopt worden. Als je voorbij de hype kijkt, dan zijn er maar weinig bedrijven die echt ‘agile' werken en is het vaak oude wijn in nieuwe zakken. Het gebruik van bestaande, doorontwikkelde ‘objecten' als blogs en rss zijn absoluut een positieve ontwikkeling, maar het op een zinvolle manier integreren van deze zaken vergt nog steeds een hoop specifieke technische kennis. Ook bij gebruik van Web 2.0- en ‘agile'-development blijft goede communicatie tussen bouwers en afnemers cruciaal. Veel techneuten trekken zich nou eenmaal graag terug in de ‘veilige' techniek, daar veranderen deze nieuwe technieken niets aan. Softwareontwikkeling is mensenwerk en voor succesvolle projecten zijn het de mensen die de brugfunctie tussen techneut en klant vormen die het verschil maken, niet een methodologie of technische ontwikkeling."
Robbrecht van Amerongen
Projectmanager en ict-consultant
Amis Services
"Onafhankelijk van de methodiek en het wel of niet gebruik van Web 2.0 kan je tegenwoordig als ontwikkelaar het niet meer veroorloven om je te beperken tot de techniek. Als goede software engineer moet je de veranderingen in de omgeving volgen en hierop inspelen. Dit kan zowel vanuit traditionele methodieken als vanuit agile. Vanuit agile zit contact met de buitenwereld (buiten het hok) in de kern verweven. Deze werkwijze stimuleert de ontwikkelaar om verder te kijken dan de (veilige) technische wereld en samen met de gebruikers, opdrachtgevers, klanten en andere stakeholders tot een goed eindproduct te komen. Ik koppel de keuze voor de ontwikkelaanpak aan de aard en type van het project. Dit zijn vooral die trajecten waarin alle functionele requirements in één keer (zonder tussenversies) moeten worden opgeleverd zonder veel betrokkenheid en communicatie met de opdrachtgever en de stakeholders. Het is kenmerkend van een agile-werkwijze om dan tegen je opdrachtgever te zeggen dat deze methodiek niet past voor dit project. Communicatie, interactie en feedback zijn naar mijn mening de belangrijkste factoren voor het slagen van een softwareproject. Hiervoor zal je als ontwikkelaar meer contact meten gaan zoeken met de gebruikers van je systeem (en vice versa)."
Mark Vroom
Cto
NedFox
"Ik kan me wel vinden in de opmerking dat veel bedrijven wel stellen aan agile te doen, maar in de praktijk komt het neer op oude wijn in nieuwe zakken. Web 2.0 staat voor procesmatig automatiseren. Ga in overleg met je klanten welke processen er bestaan en zorg dat je software die processen ondersteunt. Heel verleidelijk om daarbij de fout te maken om schermen te gaan ontwerpen. Die doen in feite niet ter zake en verbloemen vaak dat opdrachtgevers niet goed in staat zijn om hun processen te beschrijven. Hoe vaak zitten de problemen niet in de uitzonderingen van processen? Het praten over de lay-out van schermen leidt de aandacht van die processen af en verbloemt dergelijke hiaten. Wanneer je de processen helder hebt gedefinieerd met alle uitzonderingen, is de werkelijke productiefase vaak een no-brainer en zal de user interface weinig spannend zijn. Met Web 2.0 is die differentiatie tussen procesmatig automatiseren en de interfacing naar de gebruiker in ieder geval een uitstekende technische mogelijkheid geworden. Of men op andere gebieden dan de techniek ook die shift kan maken; het kost meer tijd en is daarmee duurder. Gaat men voor de korte termijn winst of lange termijn strategie…?"
Edwin van Dillen
Cto
Sogyo
"De stelling die genomen wordt om een selectie van ontwikkelaanpak te koppelen aan het soort applicatie dat gerealiseerd moet worden, deel ik volledig. Dit geldt overigens ook voor de softwarearchitectuur die bij de applicatie past, maar dat terzijde. In mijn praktijk zie ik dat een programmeur veelal geassocieerd wordt met de persoon die puur en alleen code schrijft. Die vorm van programmeur bestaat wat mij betreft niet meer. We hebben het eerder over een softwareontwikkelaar. Dat is een persoon die zowel het ontwerp maakt en dat uitwerkt tot een implementatie. In de praktijk betekent dit vaak dat een softwareontwikkelaar verantwoordelijk is voor een deel van de implementatie. Iemand is gefocust op de user-interactie, de persistentie (de mogelijkheid om objecten in een database op te slaan) of juist op het businessdomein. Voor al deze betrokkenen geldt dat ze, in meer of mindere mate, informatie nodig hebben van een gebruiker hoe het systeem moet functioneren. Ze kunnen het zichzelf niet veroorloven om zonder afstemming met een gebruiker software te realiseren. Korte lijnen zijn van belang. Conclusie is wat mij betreft dat een agile-aanpak voor complexere software, dat is software die het platte formulierniveau (CRUD) ontstijgt, een must is. Dit is noodzakelijk om tot de juiste implementatie te komen. Terugkerend naar de programmeur betekent dit dat deze dus zeker met de gebruiker in overleg moet. Dit staat echter los van het gebruik van Web 2.0. Het geldt evengoed voor de grote hoeveelheid ‘rich clients' (Windows of Java- gebaseerd) die nog steeds ontwikkeld worden."
Expertpanel live
Vanaf nu is ook op het Topic Development het expertpanel live. In dit panel zijn bedrijven als Getronics, NedFox, Outsystems en Ceasar Groep vertegenwoordigd. Op www.computable.nl/development zijn bijdragen terug te vinden over onder andere testen, ontwikkelaars en programmeren. Ook expert worden? Stuur een mail naar development@computable.nl met jouw gegevens en een korte motivatie.
Experts gezocht
Computable is bezig om al zijn 25 topics te voorzien van een expertpanel. Voor de komende tijd zijn wij op zoek naar experts op de volgende vakgebieden:
CRM: crm@computable.nl
ERP: erp@computable.nl
Loopbaan: loopbaan@computable.nl
Netwerken: netwerken@computable.nl
Overheid: overheid@computable.nl
Telecom: telecom@computable.nl
Ben jij expert op een van bovengenoemde zes vakgebieden, stuur dan een e-mail met je gegevens (naam, functie, bedrijf, werkzaamheden) naar het bijbehorende e-mailadres.
Web 2.0 en agile ? Appels en peren mensen ! Het eerste is een product of technologie zo je wilt, het tweede is een methodiek.
Misschien is het aardig om de volgende keer ook een software ontwikelaar aan het woord te laten. Ik stel me bij deze beschikbaar.
Programmeurs willen helemaal niet in een hok zitten, dat wordt grotendeels bewezen doordat agile methodieken van onder af zijn ontstaan. Programmeurs willen graag met klanten praten, laten zien wat ze gemaakt hebben. De brug tussen programmeur en klant is vaak heel groot, daarom is het handig als daar iemand tussen zit, bijvoorbeeld een projectmanager. Bijstand van een ontwerper is ook handig, want het is vaak niet eenvoudig. Dat dit in het verleden er toe heeft geleid dat klant en programmeur uit elkaar gedreven zijn is waarschijnlijk niet de wens van de programmeur geweest, en ook niet van de klant. Denkt u daar alstublieft nog eens goed over na.
Agile betekent letterlijk “behendig”. Open en regelmatig overleg staan in alle agile processen centraal, maar ook het verenigen van krachten, samen meer zijn dan de som der delen. Eigenlijk is het raar dat er ook niet-agile methoden bestaan. Staat er bij u ook in de offerte “wij ontwikkelen op een niet-behendige manier” ? Tenslote wil ik nog graag kwijt dat het belangrijk is om regelmatig een “potentieel bruikbaar” product op te leveren, maar verwar dat niet met de beta-hype die momenteel over alle web-2.0-sites waait.
Beta is de ideale manier om klachten van mensen af te wimpelen als er iets niet werkt. “Tja, het is tenslotte een beta.”
Maar tegenwoordig is het in om er eeuwig Beta achter te laten staan en maar nieuwe versies het web op te pompen.
Web 2.0 is gebakken lucht. Het is geen revolutie geweest, maar een geleidelijk proces. Er bestaan al vele jaren (sociale) websites waar de dynamische pagina’s je om te oren vliegen. Alleen omdat men dat nu kan zonder een page-refresh is het ineens allemaal Web 2.0. Wat een onzin. Er wordt met zinloze termen gesmeten alsof ieders leven er vanaf hangt. “Er moet wel Ajax inzitten anders kan ik mijn golfmaatjes er niet mee imponeren.” zegt de baas dan. (gelukkig niet mijn baas)
Binnenkort beginnen de managers met Web 3.0 te gooien. Als de eerste te term uit zijn duim zuigt hobbelt de rest er wel achteraan. Web 2.0 klinkt inmiddels al zo lang door de wandelgangen dat het inmiddels wel 3.0 mag worden.