Agile Software Development Lifecycle Phases Explained
# On startups
Agile software development method är ett av de enklaste, men ändå effektiva sätten att leverera en fantastisk produkt på marknaden. Och ändå, någonstans längs vägen, började folk verkligen överkomplicera det. Korrekt implementerad Agile är snabbt, flexibelt, felsäkert och helt enkelt bättre sätt att hantera programvaruutvecklingsteam. I den här artikeln förklarar vi Agile-programvaruutvecklingsfaser och hur man integrerar Agile-principer.
Innehållsförteckning
De viktigaste principerna för smidig utveckling
Huvudidéerna bakom Agile utvecklingen beskrivs i det ursprungliga manifestet för Agile Software Development. Sammanfattningsvis är de:
- Ändring är oundviklig. Projektet måste anpassas till det snarare än att ignorera det.
- ivering Att leverera resultat är viktigare än etablerade processer och verktyg.
- Verkliga kunders behov prioriteras framför kraven i utvecklingsplanerna.
Dessa idéer beskrivs ytterligare i nyckelprinciperna för agil mjukvaruutveckling.
Fokus bakom Agile är slutanvändarnöjdhet. Alla uppgifter som inte fungerar direkt för att förbättra det är sekundära. Och medan Agile-utvecklingsgruppen fortfarande arbetar med att etablera processer, skriva dokumentation och följa planerna kan dessa uppgifter skjutas upp eller göras på en minimalt acceptabel nivå om de hotar effektiviteten i utvecklingen.
Agile Methodology Förklaras
Det viktigaste verktyget för smidig utveckling är iteration. Iteration är en process där en uppsättning åtgärder upprepas i en sekvens tills ett villkor är uppfyllt.
Olika agila utvecklingsmetoder uppnår iteration på olika sätt. Scrum implementerar till exempel Sprints. Sprints är fasta tidsperioder – i allmänhet 1-2 veckor långa – under vilka utvecklingsteamet slutför en viss del av funktionaliteten och uppnår förinställda mål.
Behöver du hjälp med mjukvaruutveckling?
Relevant tillhandahåller programvaruutvecklingstjänster i full cykel från marknadsundersökningar och affärsanalyser till design, utveckling och lansering. Vi kan hjälpa dig att bygga din produkt från A till Ö. Kontakta oss för att få en offert.
Få en kostnadsfri offert
Här är ett exempel på arbetsflödet inom en enda Scrum Sprint:
- Produktägaren – den som är ansvarig för dess slutförande – granskar de ofullständiga uppgifterna i produktbackloggen. De föråldrade uppgifterna tas bort medan de nya läggs till.
- Produktägaren fastställer omfattningen av den nya sprinten och det mål den syftar till att uppnå.
- Produktägaren har en planering Möte med utvecklingsteamet. De skapar användarberättelser som sönderdelas i uppgifterna för vissa Sprint som lagras i Backlog.
- Utvecklingsteamet håller dagliga möten, under vilka de håller sig uppdaterade om framstegen för varje lagmedlem;
- När tidsperioden för Sprint tar slut anses Sprint vara komplett. De oavslutade uppgifterna flyttas tillbaka till produktbackloggen; I undantagsfall kan ett Sprint-slutdatum ändras av en produktägare.
- Produktägaren håller en demonstration för kunden och visar det arbete som utförts under Sprint.
- Produktägaren håller ett möte med utvecklingsteamet, där resultatet av Sprint är recenserad. Teamet fastställer vad som gjordes bra och vilka processer som kan förbättras under nästa sprint. Denna recension kallas en Sprint-retrospektiv.
- Nästa sprint börjar.
Den regelbundna granskningen av Backlog hjälper till att bibehålla relevansen hos funktionerna i Backlog. Sprints begränsade omfattning och deras förutbestämda mål hjälper utvecklarna att slutföra meningsfullt arbete i tid. De kontinuerliga utställningarna av nya funktioner håller kunden nöjd och kan ge feedback. Sammantaget blir utvecklingen effektivare.
OBS. Scrum är bara en Agile metod bland många. Kanban har till exempel ingen Sprint-ekvivalent och behåller istället sin relevans via den ständigt uppdaterade Task Priority Queue.
Ladda ner e-boken
Nyckel Agile Software Development Lifecycle Phases
När du bryter ner det till kärnkoncepten är Agile-utvecklingen inte så svår. Och även om det kan verka slösaktigt med antalet involverade möten sparar det mycket tid genom att optimera utvecklingsuppgifterna och minska felen under planeringsfasen.
Fas 1: Krav
Innan en produktägare ens kan börja designa ett projekt måste de skapa den ursprungliga dokumentationen som visar de ursprungliga kraven. De är:
- Slutresultatet projektet kommer att uppnå. Till exempel en textredigerare;
- Funktionerna som den stöder. Till exempel olika teckensnittsstorlekar;
- Funktionerna som den ursprungligen inte stöder. Till exempel att lägga till animationer i texten eller förmåga att bädda in video.
En allmän rekommendation är att sänka dessa initiala krav så hårt som möjligt, bara lägga till de absolut nödvändiga funktionerna och ignorera sådana som kommer inte att användas ofta. Utvecklare kan arbeta med dem senare, när appen har distribuerats och kärnfunktionerna fungerar bra.
OBS: Om utvecklare väljer att ignorera det här steget är de benägna att krypa – en situation när nya icke-avgörande funktioner läggs ständigt till i projektet och tar utvecklarnas tid från de viktiga uppgifterna.
Vid ytterligare iterationer granskar kunden och produktägaren kraven och gör dem mer relevanta.
Fas 2: design
Det finns två sätt att närma sig design i programvaruutvecklingen – den ena är den visuella designen och den andra är appens arkitektoniska struktur.
Programvarudesign
Under den första iterationen sätter produktägaren ihop sitt utvecklingsteam och introducerar de krav som skapats under föregående steg. Teamet diskuterar sedan hur man kan hantera dessa krav och föreslår de verktyg som behövs för att uppnå bästa resultat. Teamet definierar till exempel det programmeringsspråk, ramar och bibliotek som projektet kommer att använda.
Vid ytterligare iterationer diskuterar utvecklarna funktionsimplementeringen och den interna strukturen i kom.
UI / UX Design
Under detta SDLC-steg skapar designers en grov mock-up av UI. Om produkten är av konsumentkvalitet är användargränssnittet och användarupplevelsen viktigast. Så det är i allmänhet en bra idé att granska de möjliga konkurrenterna för att se vad de gör rätt – och särskilt vad de gör fel.
Ytterligare iterationer spenderas på att förfina den ursprungliga designen och / eller omarbeta den så att den passar nya funktioner.
Fas 3. Utveckling och kodning
Utvecklingsfasen handlar om att skriva kod och konvertera designdokumentation till den faktiska programvaran inom programvaruutvecklingsprocessen. Detta steg i SDLC är i allmänhet det längsta eftersom det är ryggraden i hela processen.
Det finns inte många förändringar mellan iterationerna här.
Fas 4. Integration och testning
Detta steg ägnas åt att se till att programvaran är felfri och kompatibel med allt annat som utvecklarna har skrivit tidigare. Kvalitetssäkringsteamet utför en serie tester för att säkerställa att koden är ren och affärsmålen för lösningen uppnås.
Under de fortsatta upprepningarna av detta SDLC-steg blir testningen mer involverad och konton är inte endast för funktionstestning, men också för systemintegration, interoperabilitet och testning av användaraccept, etc.
Fas 5. Implementering och distribution
Applikationen distribueras på servrarna och tillhandahålls till kunderna – antingen för demo eller för faktisk användning. Ytterligare iterationer uppdaterar den redan installerade programvaran, introducerar nya funktioner och löser fel.
Ladda ner vitboken
Fas 6. Granskning
När alla tidigare utvecklingsfaser är klara samlar produktägaren utvecklingsgruppen igen och granskar de framsteg som gjorts för att uppfylla kraven. Teamet introducerar sina idéer för att lösa de problem som uppstod under de tidigare faserna och Produktägaren tar hänsyn till deras förslag.
Därefter börjar Agile programvaruutvecklingsfaserna på nytt – antingen med en ny iteration eller genom att gå vidare till nästa steg.
Integrering av allmänna magra principer inom agil metodik
De magra principerna är:
- Eliminera avfall;
- Byggkvalitet;
- Skapa kunskap;
- Visa ansvar;
- Leverera snabbt;
- Respektera människor;
- Optimera som helhet.
Sammantaget överensstämmer dessa värden med Agile-metoden ganska bra och kan användas för att komplettera den om frågor uppstår .
Slutsats
Programvaruutveckling är en strukturerad iterativ process. Det finns dock inget enda ”korrekt” sätt att göra Agile – det finns bara sådana som passar eller inte passar ett visst lag.Varje företag har sin egen uppfattning om vad som utgör Agile utveckling, och var och en har sina fördelar. Det som är viktigt i slutet av dagen är en värdefull slutprodukt som levereras i tid.
Och så utvecklar vi på Relevant Software väl skräddarsydda applikationer som tillgodoser våra kunders affärsbehov. Vi använder Agile paradigms för alla våra projekt och levererar ständigt enastående resultat.