Hvad er Agile softwareudvikling?
I erhvervslivet i dag er innovation kritisk, og lydhørhed med fleksibilitet er nødvendig for at overleve. En ny model til softwareudvikling blev oprettet for at tilpasse sig de høje krav fra moderne forretningsbehov. Agil softwareudvikling er det udtryk, der bruges til at beskrive en modulopbygget, lydhør tilgang i høj kvalitet til softwareudvikling.
Med den stigende efterspørgsel efter hurtigere produkter på markedet har softwareudviklere skabt måder at udvikle software hurtigere. Disse smidige teknikker bryder komplekse systemprogrammer i funktionelle moduler, som kan implementeres i produktion uafhængigt af en hel applikation. Denne modulære tilgang er nødvendig, da det er urealistisk for moderne virksomheder at vente flere år på en softwareapplikation.
Historisk systemsoftware blev udviklet ved hjælp af en vandfaldsmetode. Denne proces omfattede arbejdet med kravene, design, udvikling og kodning af en hel applikation. Når det bruges sammen med store virksomhedsapplikationer, vil dette vandfaldsproces tage mange år at gennemføre. Med smidig softwareudvikling er moduler tilgængelige til implementering inden for et par måneder.
Der er mange agile udviklingsrammer tilgængelige i dag. Disse inkluderer ekstrem programmering, scrum, adaptiv softwareudvikling og funktionsdrevet udvikling. Alle de grundlæggende elementer i disse rammer blev kombineret til det agile manifest. Dette manifest blev oprettet i 2001 af de tekniske skabere af mange af den tiders smidige udviklingsrammer.
De grundlæggende mål for agil softwareudvikling er at øge kommunikationen, øge hastigheden på markedet og skabe en feedback-loop fra kunden. Denne form for udvikling giver et middel til hurtigt at demonstrere krav med en fungerende applikation. Dette bygger også gennemsigtighed i softwareudviklingsprocessen mellem kunden og udviklingsteamet.
Inden for agility softwareudvikling betragtes hver modulopløsning som en sprint eller spiral. Hver udgivelse giver kunden mulighed for at prioritere den funktionalitet, der er mest vigtig for virksomheden på det tidspunkt. Denne model giver virksomheden mulighed for at tilpasse sig skiftende krav til hver modulær implementering.
De fire centrale områder til effektiv smidig softwareudvikling uanset de specifikke rammer er planlægning, test, kodning og validering. I hver fase af processen har kunden muligheden for at verificere og validere krav, der er opfyldt. Den grundlæggende regel inden for den agile proces er at holde modulerne små nok til at udføre hurtigt.
Planlægningsfasen er den vigtigste fase i den smidige proces. I denne fase vil kunden bestemme prioriteterne og definere de modulære krav til den næste udgivelse. Hvert krav skal være et forretningssag på højt niveau og ikke omfatte tekniske detaljer. Kravet skal være lille nok til at afslutte test og kodning på under fire uger.