Agile detaljerat

Agile är ett samlingsnamn för ett flertal processer, där de mer kända är Scrum, Extreme Programming – XP och Lean Software Development.
Agile är ett samlingsnamn för flera olika metoder att utveckla mjukvara. Metoderna har namn som Scrum, Extreme Programming – XP, DSDM och Crystal Clear. Dessa gick tidigare även under namnet lättviktsmetoder.
Agile är ett svåröversatt ord men betyder bland annat snabb, flexibel, lättrörlig, vig och välkoordinerad. En mycket förenklad beskrivning av ett Agile-projekt skulle kunna vara denna. Sätt den betalande kunden (eller representant för denna) tillsammans med fyra till sex utvecklare, med den samlade kompetens som behövs, i ett rum. Fyll rummet med whiteboards och datorer och annat de behöver. Se till att de levererar fungerande demonstrerbar mjukvara regelbundet med några få veckors mellanrum. Se till att ingenting stör dem. Ge dem de resurser i form av tillgång till slutanvändare och annat de behöver. Ha som mål att de på ett effektivt sätt levererar det system som har mest värde vid leveranstillfället dvs avsluta rätt.
De gemensamma värderingarna för Agile-metoderna är
Vi värderar individer och interaktion högre än processer och verktyg
Vi värderar fungerande mjukvara högre än omfattande dokumentation
Vi värderar samarbete med kunden högre än att förhandla om kontrakt
Vi värderar att reagera på förändringarhögre än att följa en uppgjord plan
Även om det finns värde i de saker som står till höger värdesätter Agile-rörelsen sakerna till vänster mer. Till exempel tycker vi processer och verktyg är viktiga men de får aldrig stå i vägen för ett möte mellan individer. Om så skulle vara fallet får helt enkelt processen ändras.
För att förtydliga de fyra värdegrunderna innehåller Agile tolv principer. Vi har djupdykt på följande nio.

  • Prioritera och fokusera – för att maximera Return On Investment – ROI
  • Transparens – för att synliggöra problem och bygga förtroende
  • Iterativ och inkrementell utveckling – för att lära, ge feedback och maximera ROI
  • Samarbete – för att minska missförstånden och klyftorna och säkerställa de affärsmässiga målen
  • Uppmuntra och välkomna förändring
  • Enkla verktyg – för att kunna anpassa processen efter verksamheten
  • Målstyrning/Decentralisering – för att kunna arbeta effektivt
  • Ständig förbättring – för att bli effektivare
  • Hög kvalitet – för att fel är kostsamma