I softwarebranchens konstruktionslag (det er der, hvor jeg sidder til daglig) har der altid været en spænding mellem positionerne i dette spektrum:
- Puristen: lad os lave software af allerhøjeste kvalitet
- Pragmatikeren: lad os levere software af tilpas kvalitet
- Cowboy’en: lad os bare få noget ud af døren i en helvedes fart. Kvaliteten har de ikke betalt for.
Puristens udfordring er at han har en tendens til at være lidt for forelsket i processen, konstruktionen som kunstform. Elsker abstraktioner. Tid er af ringe betydning.
Pragmatikerens tilgang er naturligvis at man her har fokus på både leverance OG kvaliteten inden for den kontekst man leverer i. Han stræber efter en perfekt afbalanceret tilstand mellem kvalitet og leverance. Har fjender i begge omkringliggende lejre.
Cowboy’en udfordring er at for ham er tiden så knap at den ikke skal sløses væk på at læse bøger, men på at levere noget til kunden. Elsker konkret problemløsning. Tiden er knap.
I øjeblikket kører der en ret ophedet diskussion i .Net softwaredesignkredse, startet af Joel Spolsky da han i Stack Overflow podcasten sagde:
Last week I was listening to a podcast on Hanselminutes, with Robert Martin talking about the SOLID principles. (That’s a real easy-to-Google term!) It’s object-oriented design, and they’re calling it agile design, which it really, really isn’t. It’s principles for how to design your classes, and how they should work. And, when I was listening to them, they all sounded to me like extremely bureaucratic programming that came from the mind of somebody that has not written a lot of code, frankly.
Det har naturligvis affødt en del debat på blogs og twitter, som handler om de indbyggede spændinger der er indenfor softwarekonstruktion og -leverance.
Bob Martin: ‘”Quality Doesn’t Matter That Much” — Jeff and Joel’
Jeff Atwood : The Ferengi Programmer (Spolskys side kick på StackOverflow)
Rob Conery : Patterns, Purists, and Sinkholes
Justin Etherridge: Today I’ve Realized How Far We Have To Go
Hør først podcasten, læs så bloglindlæggene og deres kommentarer.