Inleiding tot Agile en Scrum

Agile is een software-ontwikkelingsmethode die de bandbreedte heeft om zich snel aan te passen aan veranderende projectvereisten en om zich aan te passen aan de ontwikkeling van een nieuw product terwijl het project loopt of na de voltooiing van het project, in tegenstelling tot traditioneel projectbeheer.

Laten we het onderscheidende voordeel dat agile heeft ten opzichte van traditionele projectmanagementmethodes begrijpen:

Traditionele aanpak:

  • Gedetailleerde planning voor start
  • Maakt het mogelijk om minimale verandering aan te nemen
  • Vaste projectdefinitie

Agile aanpak:

  • Minimale planning vóór de start is vereist
  • Accepteert en past zich aan wijzigingen aan
  • Vaste tijd en kosten

Scrum is de meest gebruikte en populaire aanpak om een ​​agile methodiek te implementeren.

We zullen binnenkort naar de scrumsectie komen, maar laten we eerst meer zien over het agile framework.

Beginselen achter Agile Manifesto

  1. Klanttevredenheid is van de hoogste prioriteit die wordt bereikt door continue en vroege levering van waardevolle software.
  2. Lever een werkende software in een korte tijdspanne met continue ontwikkeling van nieuwe software / producten in de lijn volgens dezelfde aanpak.
  3. We moeten in staat zijn om aan de veranderende eisen te voldoen, zelfs als het laat komt tijdens de SDLC-levenscyclus.
  4. De teamleden moeten altijd gemotiveerd blijven en daarvoor moet voldoende ondersteuning en een goede omgeving worden geboden.
  5. De ontwikkelaars en zakenmensen moeten dagelijks gedurende het project samenwerken.
  6. De meest efficiënte manier van gesprek wordt beschouwd als de persoonlijke interactie.
  7. Duurzame ontwikkeling. Alle teamleden moeten een constant tempo kunnen aanhouden.
  8. Een werkend product / software wordt beschouwd als de primaire maatstaf voor vooruitgang.
  9. Aan het einde van de dag moet de nadruk liggen op technische excellentie en een robuust ontwerp.
  10. Eenvoud moet worden gevolgd tijdens het SDLC-proces
  11. De teams moeten daadwerkelijk demonstreren over continue effectiviteit en wijzigingen aanbrengen om de effectiviteit te vergroten.
  12. Robuust ontwerp en architectuur komen van zelforganiserende teams.

Benaderingen voor Agile Implementatie:

Link: https://goo.gl/images/fkZqGe

  1. SCRUM - Dit is een iteratieve benadering waarbij er zoiets als sprints wordt genoemd die tot een of twee weken duren. Met deze aanpak kunnen teams het werkende product of de software op een regelmatige basis leveren.
  2. Kanban - Om agile te implementeren, gebruikt deze aanpak een visueel raamwerk. Hier zijn geen sprints met een vaste lengte en krijgt het team de taak uit een geprioriteerde achterstand.
  3. Extreme Programming (XP) - Deze aanpak is bedoeld om de softwarekwaliteit en het reactievermogen te verbeteren door eenvoud, feedback en integratie over te nemen.
  4. Feature Driven Development (FDD) - Deze aanpak omvat 5 basisactiviteiten die zijn: - Een algemeen model ontwikkelen, een lijst met functies samenstellen, plannen per functie, ontwerp per functie en per functie bouwen.
  5. Adaptive System Development (ASD) - Deze aanpak kan worden gebruikt voor het bouwen van complexe software en systemen en richt zich vooral op teamsamenwerking en zelforganisatie. Het omvat 3 iteratieve activiteiten die zijn: Speculeren, Samenwerken en Leren.
  6. Dynamische systeemontwikkelingsmethode - DSDM is een agile benadering die een iteratieve en incrementele benadering volgt die grotendeels is gebaseerd op de Rapid Application Development Methodology. Het pakt de veelvoorkomende mislukkingen van projecten aan, zoals projectbudgetkwesties, ontbrekende deadlines enz.
  7. Lean Software Development - Lean Software Development is een agile aanpak die 7 basisprincipes heeft en die zijn: Afval elimineren, het team versterken, snel leveren, het geheel optimaliseren, kwaliteit inbouwen, beslissingen nemen en leren verbeteren.

Wat is Scrum?

In eerdere secties hebben we al de benaderingen gezien die worden gebruikt om het Agile-proces te implementeren en Scrum was er een van, Scrum is een van de belangrijkste en meest gebruikte Agile-methodologie. Een scrum is een iteratieve benadering waarbij er sprints worden genoemd die tot een of twee weken duren. Met deze aanpak kunnen teams het werkende product of de software op een regelmatige basis leveren. Hier worden de verantwoordelijkheden, rollen en vergaderingen bepaald in Scrum en zijn sprints schema's met sprintplanning, sprintdemo, dagelijkse standup en sprint met terugwerkende kracht.

Scrum-rollen / Scrum-teams:

Link: https://goo.gl/images/XpNHBe

  1. Scrum Master - De Scrum Master is een rol die verantwoordelijk is voor het scrumteam om de Scrum-methodologie te volgen. De Scrum Master organiseert vergaderingen, moedigt het team aan, vergemakkelijkt planning en tracking, gaat uitdagingen aan en behandelt knelpunten. De Scrum Master communiceert ook met de Product Owner om ervoor te zorgen dat de achterstand van het product klaar is voor de volgende sprint.
  2. Product Owner - De Product Owner is verantwoordelijk voor de analyse en communicatie van de softwareversie naar het Scrum Team. De Product Owner coördineert ook met de Scrum Master om te beslissen over productachterstanden voor de sprints.
  3. Ontwikkelteam - Het ontwikkelteam bestaat uit de professionals die verantwoordelijk zijn voor de voortdurende ontwikkeling, het testen en de levering van de software. Ze bepalen hoe stukken werk in frequente stappen moeten worden afgeleverd.

Stappen in Scrum Flow:

Link: https://goo.gl/images/6YTUPf

  1. Product Backlog - De Product Backlog onderhoudt de lijst met productfuncties. Het is de verantwoordelijkheid van de Product Owner en de Scrum Master om prioriteit te geven aan de achterstandsitems op basis van gebruikersverhalen en vereisten.
  2. Sprintplanning - Het is een bijeenkomst die wordt gefaciliteerd door de Scrum Master, waarbij de Product Owner de details van de productachterstand presenteert, de acceptatiecriteria voor de levering bepaalt en het ontwikkelteam dat het werk en de inspanningen definieert die ze dagelijks ontwikkelden.
  3. Backlog Refinement - Om de backlog van het product up-to-date te houden, gebruiken we Backlog Refinement. Hier worden de gebruikersverhalen verdeeld in kleinere delen en worden alle irrelevante gebruikersverhalen verwijderd
  4. Dagelijkse Scrum - Het is een dagelijkse stand-up van 15 minuten waar in principe drie vragen worden besproken die zijn: wat is gisteren bereikt, wat is het plan voor vandaag en wat zijn de obstakels.
  5. Sprint Review Meeting - Deze bijeenkomst wordt gehouden aan het einde van elke sprint waar een live demonstratie wordt gepresenteerd om te laten zien wat er tijdens de sprint is bereikt.
  6. Sprint Retrospective Meeting - We kunnen deze vergadering ook wel de succesbijeenkomst noemen waar het team met hun tijdelijke oplossingen het proces bespreekt dat wel of niet werkte tijdens de sprint.

Conclusie

In dit artikel zagen we dat Agile een software-ontwikkelingsmethodologie is die de bandbreedte heeft om zich snel aan te passen aan veranderende projectvereisten en zich aan te passen aan de ontwikkeling van een nieuw product terwijl het project loopt of in tegenstelling tot traditioneel projectbeheer terwijl Scrum is de meest gebruikte en populaire aanpak voor het implementeren van agile-methodologie.

Aanbevolen artikelen

Dit is een handleiding geweest voor What is Agile and Scrum. Hier hebben we de verschillende benaderingen van Agile en Scrum besproken. U kunt ook onze andere voorgestelde artikelen doornemen voor meer informatie -

  1. Wat is kunstmatige intelligentie
  2. Sollicitatievragen voor Agile Scrum
  3. Wat is SDLC
  4. Agile vs Scrum vs Waterfall