agile manifesto understanding agile values
Agil manifest Introduktion:
Vores tidligere tutorial om Agil metode forklarede os alt om Agile modeller og metoder i detaljer.
Men indtil nu handler vi ikke om, hvorfor der i første omgang var behov for adræt, og hvordan agil overvandt manglerne ved de eksisterende softwareudviklingsmetoder som vandfaldsmodellen.
I denne vejledning går vi dybere ind i detaljerne om agil og det agile manifest. Vi vil se, hvad manifestet siger, og hvad er de værdier og principper, der er nedfældet i det.
Hvad du lærer:
- Introduktion
- Adræt manifest
- De 4 smidige værdier
- De 12 smidige principper
- Konklusion
- Anbefalet læsning
Introduktion
Som vi så i vores forrige tutorial , tidligere udviklingsmetoder tog for meget tid, og da softwaren var klar til implementering, ville forretningskravene have ændret sig og således ikke imødekomme de nuværende behov.
Den forandringshastighed, der manglede på det tidspunkt, forårsagede mange problemer. Da lederne af forskellige udviklingsmetoder mødtes for at bestemme vejen fremad, og de var i stand til at blive enige om en bedre metode og også var i stand til at færdiggøre ordlyden til manifestet.
Dette blev fanget som 4 værdier og 12 principper for at hjælpe de praktiserende med at forstå, henvise til det og omsætte det til praksis. Og på det tidspunkt kunne ingen af dem have forestillet sig, hvilken indvirkning dette ville have på fremtiden for projektledelse.
Adræt manifest
Manifestet er meget omhyggeligt formuleret for at fange essensen af smidig i minimumsord, og det lyder som nedenfor -
”Vi afdækker bedre måder at udvikle en software ved at gøre det og hjælpe andre med at gøre det. Gennem dette arbejde er vi kommet til nedenstående værdi:
- Enkeltpersoner og interaktioner over processer og værktøjer.
- Arbejder software over omfattende dokumentation.
- Kundesamarbejde over kontraktforhandling.
- Svar på at skifte efter en plan.
Det vil sige, at mens der er værdi i elementerne til højre, værdsætter vi elementerne til venstre mere. ”
hvordan man tilføjer elementer i en array-java
Som vi kan se, er disse ret koncise og enkle udsagn og gør det meget klart som det, grundlæggerne ønskede at promovere. Normalt er traditionelle projektplaner stive, og de lægger vægt på procedurer og tidslinjer, men det agile manifest udbreder nøjagtigt de modsatte ting.
Det foretrækker:
- Mennesker
- Produkt
- Kommunikation og
- Lydhørhed
Vi vil udforske dette nye paradigme, som grundlæggerne ønskede at promovere i detaljer ved at få en dybere forståelse af de agile værdier og principper.
De 4 smidige værdier
De fire værdier sammen med de 12 principper styrer den smidige softwarelevering. Vi vil diskutere hver af værdierne detaljeret nu.
# 1) Enkeltpersoner og interaktioner over processer og værktøjer
Enkeltpersoner og interaktioner foretrækkes frem for processer og værktøjer, fordi det gør processen mere lydhør. Hvis individerne er justeret, og når de først forstår hinanden, kan teamet løse eventuelle problemer med værktøjerne eller processerne.
Men hvis holdene insisterer på blindt at holde sig til processerne, kan det medføre misforståelser blandt enkeltpersoner og skabe uventede vejspærringer, hvilket resulterer i forsinkelser i projektet.
Derfor er det altid at foretrække at have interaktioner og kommunikation mellem teammedlemmerne i stedet for blindt afhængigt af processer, der styrer vejen frem. En af måderne til at opnå dette er ved at have en involveret produktejer, der arbejder og kan træffe beslutninger i samarbejde med udviklingsteamet.
At tillade enkeltpersoner at bidrage på egen hånd giver dem også mulighed for frit at fremvise som det, de kan bringe til bordet. Når disse holdinteraktioner er rettet mod at løse et fælles problem, kan resultaterne være ret kraftige.
# 2) Arbejdssoftware over omfattende dokumentation
Traditionel projektledelse involverede omfattende dokumentation, som medførte en forsinkelse på måneder. Dette påvirkede projektleveringen negativt, og de resulterende forsinkelser var uundgåelige.
Den slags dokumentation, der blev oprettet til disse projekter, var meget detaljeret, og så mange dokumenter blev oprettet, at mange af dem ikke engang blev henvist til under projektforløbet. Dette var en unødvendig ondskab, som projektteamene plejede at leve med.
Men dette forværrede også leveringsproblemerne. Fokus var på dokumentation i en sådan grad, fordi holdene ønskede at ende med et færdigt produkt, der var 100% i henhold til specifikationerne. Derfor var fokus på at indfange alle specifikationerne i detaljer.
Men stadig, slutproduktet plejede at være helt anderledes end forventningerne eller ville have mistet relevansen. Derfor siger agile, at en fungerende software er en meget bedre mulighed for at måle kundernes forventning end masser af dokumentation.
Dette betyder ikke, at dokumentationen ikke er nødvendig. Det betyder bare, at et fungerende produkt enhver dag er en bedre indikator for tilpasning til kundens behov og forventninger end et dokument oprettet for flere måneder siden. Det indebærer også, at holdene er lydhøre og klar til at tilpasse sig ændringer efter behov, mens de viser arbejdssoftwaren til klienten, når sprinten slutter.
Manglende test af produktet under sprints tager mange omkostninger og kræfter i den næste sprint. Når funktionaliteten er implementeret, øges omkostningerne ved disse ændringer i væsentlig grad.
3. Kundesamarbejde om kontraktforhandling
Forhandling betyder, at detaljerne stadig er ved at blive fanget og ikke er afsluttet. Der er stadig mulighed for genforhandling. Men når forhandlingen er afsluttet, kan der ikke være nogen diskussion om den. Det smidige siger er, at i stedet for forhandlinger, gå til samarbejde.
Samarbejde indebærer, at der stadig er plads til diskussion, og kommunikationen er i gang.
Ikke en engangs ting. Hvad dette gør er, det giver en fordobling fordoblet - mens det hjælper holdet med at foretage en kursuskorrektion, hvis det kræves på et tidligere tidspunkt, hjælper det klienten med også at forbedre deres vision og omdefinere deres krav, hvis det kræves i løbet af projekt.
Det andet aspekt er, at mens traditionelle softwareudviklingsmodeller involverer kunden, før udviklingen begynder i dokumentations- og forhandlingsfasen, og de er ikke så involverede under projektudviklingen.
Når kravene er blevet frosset, får de kun se produktet, når produktet er klar. Agile bryder også gennem denne barriere ved at give mulighed for kundeinddragelse i hele livscyklussen.
Dette hjælper de agile teams bedre med at tilpasse sig kundens behov. En af måderne til at opnå dette er gennem en dedikeret og involveret produktejer, der kan hjælpe teamet i realtid til afklaringer og tilpasse arbejdet til kundens prioriteter.
4. Svar på ændring efter en plan
Standard tankeprocessen er, at ændringerne er en kostbar affære, og vi bør undgå ændringer for enhver pris. Det er det unødvendige fokus på dokumentation og udførlige planer for at levere ved at holde fast i tidslinjerne og produktspecifikationerne.
Men som erfaringen også lærer os, er ændringer for det meste uundgåelige, og i stedet for at løbe fra det, skal vi prøve at omfavne det og planlægge det.
Agile giver os mulighed for at udføre denne overgang. Hvad agil mener er, at ændring ikke er en udgift, det er en velkommen feedback, der hjælper med at forbedre projektet. Det skal ikke undgås, men i stedet tilføjer det værdi.
Med de korte sprints, der er foreslået af agile, kan holdene få hurtig feedback og skifte prioriteter med kort varsel. Nye funktioner kan tilføjes fra iteration til iteration.
Hvorfor gør vi dette? Fordi de fleste af de funktioner, der er udviklet ved hjælp af vandfaldsmetoden, aldrig bruges. Dette skyldes, at vandfaldsmodellen følger planen, mens det er den fase, hvor vi ved mindst.
Agile planlægger også, men det følger også just-in-time tilgangen, hvor planlægning udføres lige nok, når det er nødvendigt. Og planerne er altid åbne for ændringer, efterhånden som sprinterne skrider frem.
De 12 smidige principper
Der er 12 smidige principper, der blev tilføjet efter oprettelsen af manifestet for at hjælpe og vejlede holdene overgå til smidige og kontrollere, om den praksis, de følger, er i tråd med den smidige kultur.
Følgende er teksten til de oprindelige 12 principper, offentliggjort i 2001 af Agile Alliance:
# 1) Vores højeste prioritet er at tilfredsstille kunden gennem en tidlig og kontinuerlig levering af en værdifuld software.
#to) Velkommen skiftende krav, selv sent i udvikling. Agile processer udnytter ændringer for kundens konkurrencemæssige fordel.
# 3) Lever arbejdssoftware ofte fra et par uger til et par måneder med en præference frem for den kortere tidsplan.
# 4) Forretningsfolk og udviklere skal arbejde sammen dagligt gennem hele projektet.
j2ee interview spørgsmål og svar pdf
# 5) Byg projekter omkring motiverede individer. Giv dem det miljø og den støtte, de har brug for, og stol på dem til at få arbejdet gjort.
# 6) Den mest effektive og effektive metode til at formidle information til og inden for udviklingsteamet er en ansigt til ansigt samtale.
# 7) Arbejdssoftware er det primære mål for fremskridt.
# 8) Agile processer fremmer bæredygtig udvikling. Sponsorer, udviklere og brugere skal være i stand til at opretholde et konstant tempo på ubestemt tid.
# 9) Løbende opmærksomhed på teknisk ekspertise og godt design forbedrer smidighed.
# 10) Enkelhed - kunsten at maksimere det arbejde, der ikke er udført, er meget vigtigt.
#elleve) De bedste arkitekturer, krav og design fremgår af selvorganiserende teams.
# 12) Med jævne mellemrum reflekterer holdet over, hvordan man bliver mere effektivt, og indstiller derefter og justerer dets adfærd i overensstemmelse hermed.
Disse smidige principper giver udviklingsholdene praktisk vejledning.
En anden måde at organisere de 12 principper på er at overveje dem i følgende fire forskellige grupper:
- Kundetilfredshed
- Kvalitet
- Samarbejde
- Projektledelse
# 1) Vores højeste prioritet er at tilfredsstille kunden gennem tidlig og kontinuerlig levering af en værdifuld software - Kunder vil naturligvis være begejstrede for at se, at en fungerende software leveres hver sprint i stedet for at skulle gennemgå en tvetydig ventetid, i slutningen af hvilken kun de får mulighed for at se produktet.
Her kan kunden defineres som projektsponsor eller den person, der betaler for udviklingen. Slutbrugeren af produktet er også en kunde, men vi kan skelne mellem de to, da slutbrugeren kaldes en bruger.
c interview spørgsmål og svar pdf
#to) Velkommen skiftende krav, selv sent i udvikling. Agile processer udnytter ændringer for kundens konkurrencemæssige fordel - Ændringer kan indarbejdes uden store forsinkelser i de overordnede tidslinjer.
Da de agile teams tror på kvalitet frem for alt, vil de hellere indarbejde ændringer og levere i henhold til kundens krav end at undgå ændringer og levere et produkt, der ikke tjener forretningsbehovet.
# 3) Lever arbejdssoftware ofte fra et par uger til et par måneder med en præference for den kortere tidsplan - Dette er taget hånd om af holdene, der arbejder i sprints. Da sprints er it-boks-iterationer og leverer en fungerende software i slutningen af hver sprint, får kunderne regelmæssigt en idé om fremskridtet
# 4) Forretningsfolk og udviklere skal arbejde sammen dagligt gennem hele projektet - Der træffes bedre beslutninger, når begge arbejder sammen, og der er en konstant feedback-loop mellem de to for kursuskorrektion og ændringsfleksibilitet. Kommunikation mellem interessenterne er altid nøglen til agil.
# 5) Byg projekter omkring motiverede individer. Giv dem det miljø og den støtte, de har brug for, og stol på dem til at få arbejdet gjort - Du er nødt til at støtte, stole på og motivere holdene. Et motiveret hold er mere tilbøjeligt til at få succes og vil levere et overlegen produkt end ulykkelige hold, der ikke er villige til at give deres bedste.
En af måderne til dette er at styrke udviklingsholdet til at være selvorganiseret og tage deres egne beslutninger.
# 6) Den mest effektive og effektive metode til at formidle information til og inden for udviklingsteamet er en ansigt til ansigt samtale - Kommunikation er bedre og mere virkningsfuld, hvis holdene er på samme sted og kan mødes ansigt til ansigt til diskussioner. Det hjælper med at opbygge tillid og bringer forståelse blandt forskellige interessenter.
# 7) Arbejdssoftware er det primære mål for fremskridt - En fungerende software slår alle de andre KPI'er og er den bedste indikator for det udførte arbejde.
# 8) Agile processer fremmer bæredygtig udvikling. Sponsorer, udviklere og brugere skal være i stand til at opretholde et konstant tempo på ubestemt tid - Konsistens ved levering fremhæves. Holdet skal være i stand til at opretholde deres tempo i løbet af projektet og ikke brænde ud efter de første par sprints.
# 9) Kontinuerlig opmærksomhed på teknisk ekspertise og godt design forbedrer smidighed - Holdet skal have alle de færdigheder og et godt produktdesign til at håndtere ændringerne og producere et produkt af høj kvalitet, mens de er i stand til at inkorporere ændringer
# 10) Enkelhed - Kunsten at maksimere mængden af arbejde, der ikke er udført, er afgørende og er lige nok til at opfylde definitionen af færdig.
#elleve) De bedste arkitekturer, krav og design fremgår af selvorganiserende teams - Selvorganiserede hold har beføjelser og tager ejerskab af deres arbejde. Dette fører til åben kommunikation og regelmæssig deling af ideer blandt holdmedlemmerne.
# 12) Med jævne mellemrum reflekterer holdet over, hvordan man bliver mere effektiv, indstiller derefter og justerer dets adfærd i overensstemmelse hermed - Selvforbedring fører til hurtigere resultater og mindre omarbejdning.
Konklusion
Kundecentreret og fokus på kommunikation har ført succes til agil, der er synlig i dag.
Det er en gennemprøvet teknik med implikationer ikke kun i softwarelevering, men også i andre industrier, og i dag er det blevet en industri i sig selv.
Vores kommende tutorial i denne serie vil forklare mere om Scrum Team sammen med deres roller !!
PREV-vejledning | NÆSTE vejledning
Anbefalet læsning
- Agile Scrum Online Quiz: Test din viden om Agile Scrum
- Mindset Change of An Agile Tester: Tilpasse sig det Agile Manifest
- Kanban vs Scrum vs Agile: En detaljeret sammenligning for at finde forskelle
- Sådan leveres softwarefunktioner af høj værdi på kort tid ved hjælp af Agile Scrum-processen
- SAFe Agile Tutorial: Hvad er Scaled Agile Framework
- 4 trin mod udvikling af Agile Testing Mindset for vellykket overgang til agil proces
- JIRA Agile Tutorial: Sådan bruges JIRA effektivt til styring af agile projekter
- DevOps-praksis baseret på agil manifest (del 2 - blok 1)