Hvad er kontinuerligt design?
Kontinuerligt design er en tilgang til fremstilling af software og andre systemer, hvor udviklerne udgør design og kodning, mens de går. Dette i modsætning til traditionel softwaredesign, hvor designen laves og derefter implementeres. En fordel ved kontinuerlig design er, at det typisk er lettere for udviklere at tilføje nødvendige funktioner på stedet, og de kan tilpasse sig problemer. En anden fordel er, at denne designmetode også kan bruges til at mindske risikoen, hvis klienten får vist den fremskridende software og leverer input undervejs.
Når kontinuerligt design bruges til at fremstille software, har udviklerne besluttet at fremstille softwaren uden et statisk design. Dette betyder ikke, at der ikke er udført noget design på forhånd, fordi nogle programmer, der er lavet med denne metode, allerede har noget designarbejde. Hovedpointen med denne designmetode er, at designet er formbart og kan ændres under programmeringen. Udviklere er også i stand til at tilføje eller ændre funktioner under produktionen.
Før kontinuerlig design blev der ofte brugt en statisk designmetode. Med denne metode blev der lavet en hel softwaredesignplan før nogen kodning opstod. På trods af eventuelle vanskeligheder under produktionen, ville udviklerne fortsætte med at følge designet. Selvom nogle ændringer muligvis kan udføres med statisk design, er det typisk alvorlige ændringer, der sker, fordi den nuværende designramme ikke er kompatibel med klientens eller udviklernes behov.
Udviklere, der arbejder med kontinuerligt design, er i stand til at ændre et softwaredesign, når projektet går videre, hvilket giver flere kodnings- og programmeringsfordele. Hvis der er behov for nye funktioner, enten på grund af klientens ordrer, eller fordi det i høj grad vil gavne systemet, er udviklere åbne for at tilføje disse funktioner, selvom softwaredesignet skal ændres. Eventuelle problemer, der opstår under produktionen med kontinuerlig design, kan normalt løses mere effektivt, fordi udviklerne kan ændre designet efter behov. Med en statisk designmetode ville problemer blive løst på en måde, der bedst bevarede det originale design.
Dette kan også bruges som en risikostyringsmanøvre, hvis udviklerne laver et program til en klient. Produktionen foregår dynamisk, så teamet kan vise klientens dele af programmet for at se, om han godkender funktionerne eller rammen. Hvis ikke, kan programmet let rettes. I en statisk designtilgang vil programmet blive vist for klienten, når det var færdigt, hvilket gør det meget sværere at håndtere disse problemer.