Hans invändning verkar mest gå ut på att synsättet inte stämmer med etablerad terminologi.

Ett nytt synsätt har kommit under de senaste åren på metodområdet. Extremprogrammering liksom Agile-rörelsen vänder upp och ner på invanda begrepp. Det är som om vi nu börjar ana vad mjukvara egentligen är.

Jag tycker inte att vi ska slänga allt det gamla överbord, däremot ska vi kritiskt granska varje grundtes med öppna och oförvillade ögon. Att blunda och låtsas att inget händer i omvärlden är alltid fel.

Programkoden är inte en tillräcklig designmodell. En designmodell ska kommunicera systemets design på bästa sätt. Programkod och databasschema bör då kompletteras med en översiktlig grafisk och textuell beskrivning. När och hur denna beskrivning är framtagen beror på vilken metod man använder sig av.

Vid vattenfallsmetoden är beskrivningen styrande och alltid komplett innan kodningen påbörjas. Likaså om man kör tunga långa iterationer så ligger alltid den översiktliga designmodellen före koden inom varje iteration. Man talar då om modelldriven utveckling.

Om man däremot kör snabba, lätta och informella iterationer, som förespråkas inom de nya metoderna, blir det meningslöst att prata om före eller efter. Designarbetet pågår under hela projekttiden. Man använder de modelleringstekniker som bäst för systemutvecklingen framåt för tillfället. Det kan vara text. Det kan vara grafiska modeller.

Exekverande programkod är dock alltid den mest värdefulla, och den enda oundgängliga, modelleringstekniken. Det är exekverande kod som räknas och driver projektet framåt.

I det läget talar vi om koddriven utveckling. Att programmering är design, ja till och med analys, blir då tydligt.

Peter Tallungs