mandag den 26. oktober 2009

Quick-and-dirty løsninger – del I: Definition af et tveægget sværd.

Jeg har længe haft lyst til at skrive om brugen af  "quick-and-dirty" løsninger i sofwareudvikling, med udgangspunkt i min holdning om, at disse løsninger hurtigt holder op med at være "quick", men til gengæld bliver mere og mere "dirty", som tiden går. Blogindlægget var derfor planlagt til at hedde noget i retning af "Quick-and-dirty – den hurtigste vej til en langsom død".

Så var der en god kollega, der i bedste provokerende stil spurgte, om jeg ikke skrev et indlæg med titlen "Quick-and-dirty panikløsninger – den hurtigste vej til kunden tillid". Dén kunne jeg naturligvis ikke sidde overhørig, og efter at have rumlet et stykke tid besluttede jeg mig for, at der måtte være basis for mere end ét indlæg om dette emne.

Første del er en simpel definition af, hvad en quick-and-dirty løsning er når det drejer sig om softwareudvikling.

Definition af quick-and-dirty

En tur i wikipedia giver følgende definition (frit oversat til dansk):

"Quick-and-dirty er et begreb der anvendes i forbindelse med en løsning, som er en nem måde at implementerer en workaround eller en "kludge" på. Begrebet er populært blandt programmører, der anvender det til at beskrive en rå løsning, som ikke er perfekt, er uelegant (eller på anden måde utilstrækkelig), men som løser et konkret og nærværende problem, og som ofte er hurtigere og nemmere at implementere end en mere korrekt løsning"

Når man læser hvad wiki skriver om begrebet "
kludge", der er et begreb hvis anvendelse er bredere end softwareudvikling, så er det tydeligt at det er to sider af samme sag. Den indledende definition lyder nemlig som følger:

"A kludge (or kluge) is a workaround, a quick-and-dirty solution, a clumsy or inelegant, yet effective, solution to a problem, typically using parts that are cobbled together. This term is diversely used in fields such as computer science, aerospace engineering, Internet slang, and evolutionary neuroscience."

Det fører mig frem til min definition af begrebet quick-and-dirty løsning i forhold til softwareudvikling:

"En quick-and-dirty løsning er en uelegant, men effektiv løsning af et konkret problem. Løsningen tager ikke nødvendigvis hensyn til kontekst, design og arkitektur af det omkringliggende system, men er alene fokuseret på den rå løsning."

Med denne definition på plads går vi videre til anden del:

Quick-and-dirty løsninger – del II: Den hurtigste vej til kundens tillid?

Ingen kommentarer:

Send en kommentar