Adaptiv mjukvaruutveckling - Adaptive software development
Adaptiv mjukvaruutveckling ( ASD ) är en mjukvaruutvecklingsprocess som växte fram ur Jim Highsmith och Sam Bayers arbete med snabb applikationsutveckling (RAD). Det förkroppsligar principen att kontinuerlig anpassning av processen till det aktuella arbetet är det normala tillståndet.
| Mjukvaruutveckling |
|---|
| Kärnaktiviteter |
| Paradigmer och modeller |
| Metoder och ramar |
| Stödjande discipliner |
| Övningar |
| Verktyg |
| Standarder och kunskapsorgan |
| Ordlistor |
| Konturer |
Adaptiv mjukvaruutveckling ersätter den traditionella vattenfallscykeln med en upprepad serie av spekulera , samarbeta och lära cykler. Denna dynamiska cykel ger kontinuerlig inlärning och anpassning till det framväxande tillståndet i projektet. Kännetecknen för en ASD-livscykel är att den är uppdragsfokuserad, funktionsbaserad, iterativ , tidsboxad , riskstyrd och förändringstolerant. Som med RAD är ASD också ett förefall för smidig mjukvaruutveckling .
Ordet spekulerar hänvisar till paradoxen för planering - det är mer troligt att man antar att alla intressenter har jämförbart fel för vissa aspekter av projektets uppdrag, medan de försöker definiera det. Under spekulation initieras projektet och adaptiv cykelplanering genomförs. Adaptiv cykelplanering använder projektinitieringsinformation - kundens uppdragsbeskrivning, projektbegränsningar (t.ex. leveransdatum eller användarbeskrivningar) och grundläggande krav - för att definiera den uppsättning släppcykler (programvaruinkrement) som krävs för projektet.
Samarbete hänvisar till ansträngningarna för att balansera arbetet baserat på förutsägbara delar av miljön (planering och vägledning) och anpassning till den osäkra omgivningsmixen av förändringar som orsakas av olika faktorer, såsom teknik, krav, intressenter, programvaruleverantörer. De inlärningscykler, utmanande alla intressenter, är baserade på de korta iterationer med design, build och testning. Under dessa iterationer samlas kunskapen genom att göra små misstag baserat på falska antaganden och korrigera dessa misstag, vilket leder till ökad erfarenhet och så småningom behärskning inom problemområdet.
Referenser
- Adaptiv mjukvaruutveckling: En samarbetsstrategi för hantering av komplexa system , Highsmith, JA, 2000 New York: Dorset House, 392pp, ISBN 0-932633-40-4
- Agile Project Management: Creating Innovative Products , Addison-Wesley , Jim Highsmith, mars 2004, 277pp, ISBN 0-321-21977-5
- Lev Virine & Michael Trumper (2007). Projektbeslut: Konsten och vetenskapen . Ledningskoncept. ISBN 978-1-56726-217-9.
- Software Engineering: A Practitioner's Approach, Roger Pressman, Bruce Maxim. ISBN 978-0078022128