Software Development Life Cycle (SDLC). Scrum Model stap voor stap
Scrum framework maakt het mogelijk om Agile development methodologie te implementeren. In tegenstelling tot het watervalmodel van softwareontwikkeling, maakt Scrum een iteratief en incrementeel ontwikkelingsproces mogelijk. Het project is verdeeld in verschillende fasen, die elk resulteren in een gebruiksklaar product. Aan het einde van elke stap (sprint genoemd in Scrum terminologie), wordt een bruikbaar product geleverd aan een klant., Feedback van klanten helpt mogelijke problemen te onthullen of het oorspronkelijke ontwikkelingsplan indien nodig te wijzigen. Als u wilt dat uw project de belangrijkste principes van het Agile manifest strikt volgt, kunt u het Scrum-model gebruiken en er zeker van zijn dat u op de juiste weg bent.
Hier zijn de belangrijkste rollen betrokken bij het ontwikkelingsproces, volgens het Scrum model:
- de eigenaar van het product zorgt voor de belangen van de eindgebruiker;
- de Scrum master coördineert het hele ontwikkelingsproces., Een andere taak is ervoor te zorgen dat Scrum correct wordt gebruikt en regelmatig Scrum vergaderingen te houden;
- het Scrum team ontwikkelt het product. De belangrijkste taken zijn programmering, analyse, testen, enz.
laten we nu eens kijken naar de belangrijkste stappen van het ontwikkelingsproces waaruit Scrum bestaat.
fasen van Scrum Model
Stap 1. Product Backlog Creation
een product backlog is een lijst die functies bevat die tijdens het ontwikkelingsproces moeten worden geïmplementeerd. Het is geordend op prioriteit en elk item wordt een gebruikersverhaal genoemd. Elk gebruikersverhaal krijgt een unieke ID., In de regel hebben gebruikersverhalen het volgende formaat: als een, Ik wil zo dat . Deze lijst hieronder laat zien hoe deze verhalen eruit kunnen zien.,ange de duur en begindatum van de huidige met behulp van drag-and-drop zodat ik de totale projecttijd kan schatten
beter kan beheren
naast deze verplichte velden kunnen optionele velden worden toegevoegd indien nodig:
- de track wordt gebruikt om alle gebruikersverhalen van een bepaald type te selecteren om hun prioriteit te wijzigen., Kan worden gebruikt om de prioriteit van gebruikersverhalen die betrekking hebben op het bedieningspaneel te verhogen, bijvoorbeeld;
- componenten vormen een lijst van componenten die tijdens het werk zullen worden gewijzigd. De modules van een toepassing, zoals authenticatie of zoeken, bijvoorbeeld;
- de aanvrager is een klant die geïnteresseerd is in het implementeren van een bepaalde functionaliteit;
- Bug tracking ID bevat een lijst van gedetecteerde bugs die betrekking hebben op een correct gebruikersverhaal.
Stap 2. Sprint Planning en Sprint Backlog Creation
Ten eerste moet u bepalen wat de duur van uw sprint zal zijn., Een korte sprint kunt u de werkende versie van een product vaker vrij te geven. Als gevolg daarvan, feedback van de klant zal vaker worden ontvangen, en alle mogelijke bugs en fouten zal worden onthuld in de tijd.
als alternatief kunt u de voorkeur geven aan een langere sprintduur. Het zal ontwikkelaars in staat stellen om grondiger te werken. De optimale sprintduur wordt gedefinieerd als een gemiddelde van deze twee opties. In de regel duurt een sprint in een Scrum-model ongeveer 2-4 weken. Wat belangrijker is in deze fase is de Sprint doel. Het doel wordt bepaald voor elke sprint., En in overeenstemming daarmee is de sprint gevuld met gebruikersverhalen. Een ander belangrijk punt is de samenwerking tussen stakeholders en teamleden. De producteigenaar bepaalt het belang van een goed gebruikersverhaal, terwijl het Scrum-team de juiste arbeidskosten bepaalt.
daarna kan het Scrum team de belangrijkste gebruikersverhalen uit de product backlog selecteren. Dan moeten teamleden beslissen hoe ze deze of die taak gaan oplossen. Ook kan het team bepaalde gebruikersverhalen in de kleinste delen en ze vervolgens omzetten in de reeks taken., De Sprint backlog moet vervolgens worden gemaakt. Het bestaat uit gebruikersverhalen die tijdens de huidige sprint worden voltooid. De hoeveelheid van deze verhalen hangt af van hun capaciteit in verhaalpunten toegewezen aan elk verhaal tijdens de evaluatiefase. Het Scrum team moet in staat zijn om al deze verhalen op tijd af te ronden.
Stap 3. Ik werk aan de Sprint. Dagelijkse Scrum Meetings
nadat de werkelijke gebruikersverhalen voor de huidige fase zijn gekozen, begint het ontwikkelingsproces.
om het huidige werkproces te volgen, wordt vaak een taakbord gebruikt., Er zijn meestal grote kaarten met de namen van bepaalde gebruiker verhalen en een bundel van kleine Sticky notes met een beschrijving van enkele taken die nodig zijn voor de uitvoering van dit of dat verhaal. Elk bord wordt ontwikkeld volgens de specifieke kenmerken van een project. Laten we eens kijken naar een klein voorbeeld.
de kaarten kunnen worden gerangschikt volgens hun belang. Wanneer het werk aan een taak is gestart, wordt de bijbehorende sticker verplaatst van het veld “doen” naar het veld “in uitvoering”., Wanneer het werk is voltooid, kan de sticker worden verplaatst naar het veld “testen”, en nadat de taak met succes is getest, gaat de sticker naar het veld “gedaan”. Een voorbeeld van hoe het Scrum task board eruit kan zien wordt hieronder getoond:
Er is ook een mogelijkheid om gespecialiseerde software te gebruiken voor deze taak.
bijvoorbeeld Atlassian JIRA.
een andere belangrijke Scrum functie zijn dagelijkse scrum meetings., Het belangrijkste doel van deze bijeenkomsten is om volledige en waarheidsgetrouwe informatie te krijgen over de huidige projectstatus en ervoor te zorgen dat alle teamleden op dezelfde pagina zitten. Tijdens Scrum meetings, elk teamlid moet vertellen wat hij of zij heeft gedaan voor de Sprint doel, welke taak zal de volgende zijn, en welke problemen teamleden geconfronteerd tijdens het werk.
bovendien is een burndown-grafiek een ander veel gebruikt hulpmiddel waarmee dagelijkse processen effectief kunnen worden gemonitord. Het laat je zien hoeveel taken nog niet zijn voltooid., Deze grafiek geeft de mogelijkheid om het ontwikkelingsproces te controleren en kan worden bijgewerkt na elke vergadering.
dag per dag Scrum bijeenkomsten helpen de flexibiliteit van het ontwikkelingsproces te vergroten. Ze maken het ook mogelijk om te begrijpen welke veranderingen moeten worden aangebracht.
De X-as geeft de resterende dagen werk weer, terwijl de Y-as het totale aantal story points voor de huidige fase weergeeft. Nadat een taak die een bepaald aantal verhaalpunten vereist om te voltooien voorbij is, kunt u een punt op het diagram toevoegen om de huidige voortgang aan te geven.,
JIRA stelt u in staat om ook deze grafieken te maken:
Deze grafiek helpt conclusies te trekken over de huidige werksnelheid. Afhankelijk van deze conclusies kan het aantal gebruikersverhalen voor de volgende sprint worden gewijzigd.
Het is belangrijk op te merken dat, aangezien het ideale resultaat van elke sprint in een Scrum-model een werkend product is, het testproces van de volledige levenscyclus erg belangrijk is. Er zijn verschillende manieren om de kosten van de testperiode te minimaliseren. U kunt bijvoorbeeld het totale aantal gebruikersverhalen verlagen., Hierdoor wordt het aantal mogelijke bugs geminimaliseerd. De andere manier is om QA engineers op te nemen in het Scrum team.
Lees ook waarom QA een sleutelrol speelt in een hoogwaardige Software productontwikkeling
Stap 4. Product Increment en Sprint Review
het resultaat van elke sprint in Scrum is een potentieel shippable product increment die kan worden aangetoond aan de klant. Na elke iteratie maakt het ontwikkelteam een nieuwe versie van een softwareproduct met verhoogde waarde., Tijdens de Sprint Review, die het einde is van elke sprint, kunnen de algemene resultaten worden gedemonstreerd en geanalyseerd. Op basis van al deze informatie kunnen de stakeholders een beslissing nemen over verdere projectwijzigingen en de volgende sprint plannen.
Stap 5. Retrospective en Next Sprint Planning
Retrospective ‘ s belangrijkste doel is om de resultaten te bespreken en te bepalen hoe het ontwikkelingsproces in de volgende stap kan worden verbeterd., Een belangrijk kenmerk is dat in dit stadium de processen van werk en interactie worden besproken om het werk van het Scrum team als geheel te verbeteren. Het team moet concluderen wat goed ging tijdens het werkproces en wat beter kan worden gedaan tijdens de toekomstige iteratie. Wanneer de manieren van verbetering zijn gedefinieerd, kan de ploeg zich concentreren op de volgende sprintplanning.
conclusie
de belangrijkste kenmerken van Scrum zijn flexibiliteit en continue vooruitgang. Het wordt meestal geleverd door permanente communicatie en nauwe samenwerking tussen de stakeholders bij elke stap., De Scrum aanpak impliceert een continu iteratief en incrementeel ontwikkelingsproces. Het doel is om de mogelijkheid te garanderen om de productwaarde voortdurend te verhogen en flexibiliteit te behouden bij het kiezen van prioriteiten voor verdere herhalingen.
wanneer de sprint is voltooid, kan de klant de functionaliteit van het werkende product evalueren bij de huidige iteratie en een weloverwogen beslissing nemen over hoe het project tijdens de volgende sprints moet evolueren.,
hoewel volgens het Agile manifest, je de voorkeur zou moeten geven aan werkende software boven uitgebreide documentatie, belet niets ontwikkelaars het gebruik van een Software Requirements Specificatie. SRS is goed in het zeggen wat een systeem of product moet doen. Ondanks dat SRS sommige agile aspecten van projectontwikkeling kan missen, zoals samenwerking, het kan nog steeds een goed hulpmiddel voor planning en planning.