Implementera agila metoder som skalar

Azure DevOps Services | Azure DevOps Server 2022 – Azure DevOps Server 2019

Företagsorganisationer tillämpar agila metoder av många skäl. Några av följande orsaker är:

  • Korta ned tiden till marknaden, påskynda produktleveransen
  • Förbättra organisationens effektivitet för att hantera ändrade prioriteringar
  • Förbättra programvarans kvalitet och leveransförutsägbarhet
  • Förbättra projektets synlighet och minska projektrisken

När din organisation växer vill du skala dina metoder för att förbli flexibla och uppfylla föränderliga mål. För att göra det bör du tänka på följande två vägledande principer:

  • Hur ser framgång ut för dig, dina team och din organisation? Vad är mest intressant: Leverans i tid? Produktkvalitet? Förutsägbarhet? Kundtillfredsställelse?
  • Återgå till de första principerna, återgå till de principer och delade värden som räknas upp i det agila manifestet som anges av Ken Schwaber, en av grundarna av Scrum:
    • "Värden och principer skalas, men metoderna är kontextkänsliga."
    • "Behåll värdena, behåll principerna, tänk själv. En central förutsättning för Agile är att de som utför arbetet är de människor som bäst kan ta reda på hur de ska göra det."

Skapa rytm och flöde

Genom att anta en delad takt och en uppsättning periodiska kommunikationer skapar du ett konstant aktivitetsflöde i hela organisationen. Metoder som hjälper till att skapa rytm och flöde inom större organisationer är:

  • Delad kadens: Regelbundna sprintar och utgåvor etablerar verksamhetens rytm. Att låta alla team arbeta med en gemensam takt hjälper till med all samordning och samarbetsaktiviteter.
  • Sprint-e-postmeddelanden: För att hålla organisationen och alla team informerade om funktionsteamens framsteg och planer kan varje funktionsteam skicka en sammanfattning av sina tidigare sprintresultat och aktuella sprintplaner via e-post.
  • Sprintdemonstrationer: En snabb--2 till 3 minut--video som illustrerar en ny funktion som teamet producerade. Länkar till sådana videor kan ingå i sprint-e-postmeddelanden.
  • Visa upp möten: För att informera andra team och be om feedback om programvara under utveckling visar teamen det arbete de har gjort. Genomför dessa möten med jämna mellanrum under hela projektets livscykel och öppna dem för alla berörda parter.
  • E-postmeddelanden med buggsammanfattning: Dela regelbundet kvalitetsmått med organisationen för att stödja insikt i produktkvalitet och uppmuntra till att upprätthålla buggområdet. Dessa mått kan omfatta aktiva buggar per funktionsteam, buggtrender och buggar per tekniker.
  • Samordningsmöten: Håll möten som samordnar team med jämna mellanrum eller så ofta som behövs för att hantera överlappande mål, beroenden och risker.

Interagera med kunder

Att engagera kunder under hela produktlivscykeln är en primär agil princip. Ge varje team möjlighet att interagera direkt med kunder i de funktionsuppsättningar de äger.

  • Kontinuerlig feedback: Skapa i feedbackslingor för kunder. Dessa loopar kan ha många former:
    • Kundens röst: Gör det enkelt för kunderna att ge feedback, lägga till idéer och rösta på nästa generations funktioner. Att ge feedback görs ofta via en dedikerad webbplats.
    • Produktfeedback: Feedbackknappar i produkten är ett annat sätt att be om feedback om produktupplevelsen eller specifika funktioner.
    • Kunddemonstrationer: Regelbundet schemalagda demonstrationer som ber om feedback från dina kunder kan hjälpa dig att forma nästa generations produkter och hålla dig på rätt spår för att skapa program som dina kunder vill använda.
  • Tidiga adopterprogram: Sådana program bör utvecklas med tanken att alla team kanske vill delta någon gång. Tidiga användare får tillgång till tidiga versioner av fungerande programvara, som de sedan kan ge feedback om. Ofta fungerar dessa program genom att aktivera utvalda funktionsflaggor för en lista över tidiga användare.
  • Datadrivna beslut: Hitta sätt att instrumentera produkten för att få användbara data och som kan testa olika hypoteser. Hjälp till att köra till en experimentvänlig kultur som hyllar lärandet.

Förbättra projektets synlighet

Ju mer insikt du och dina team har om målet, visionen och förloppet för det arbete som utförs, desto bättre blir det att minska riskerna och hantera beroenden.

  • Teamstruktur: Oavsett hur stor din organisation blir strukturerar du din organisation kring små team på 6 till 9 skalor. Skapa vertikala, autonoma funktionsteam grupperade under portföljhanteringsområden.
  • Arbetsuppdelningsstruktur: Att dela upp stora mål, funktioner eller krav i mindre förblir en stabil projekthantering. Genom att dela upp arbete i liknande uppgifter kan team göra bättre uppskattningar och identifiera risker och beroenden.
  • Konsoliderade vyer: Använd dina onlinespårningsverktyg för att sammanställa arbete för att få kunskap mellan teamen. Skapa instrumentpaneler för att visa förlopp och trender.
  • Erfarenhetsgranskningar: Dessa möten, som hålls innan utvecklingen börjar med en funktion, används för att utbilda ledningen om scenarier och prioriteringar, samla in feedback, ställa in förväntningar och ta upp eventuella problem mellan team om funktionen.

Ge en produktiv personal

Några specifika agila metoder som skalar bra och leder till lyckligare, engagerade och produktiva anställda är:

  • Inbäddat ledarskap: Ge team och ledare inom organisationen möjlighet att självorganisera och självhantera så mycket som möjligt. Teamautonomi ökar effektiviteten i organisationens agilitetsteam. Se till att teamen har den företagsponsring som krävs för att lyckas.
  • Dagliga stand-ups: Eller så hjälper Scrum-möten teamen att fokusera på vad de behöver göra dagligen för att maximera sin förmåga att uppfylla sina sprintåtaganden. När organisationer växer bör de överväga att häpnadsväckande dessa möten så att deltagande mellan team kan ske efter behov.
  • Scrum of scrums: Dagliga stand ups av medlemmar från olika agila team träffas dagligen för att rapportera slutfört arbete, nästa steg och problem eller block som inträffar inom deras representativa team.
  • Teamkommunikation: Tillhandahålla och uppmuntra team att dela med sig av sina metoder och sin vägledning, som de och andra team kan komma åt via företagsnätverket. Vanliga verktyg som används för detta ändamål är team-wikis, OneNotes eller Markdown-webbplatser.
  • Samarbete: Uppmuntra informell kommunikation från team till team och samarbete i teamet. Institutionalisering av metoder som kodgranskningar, designgranskningar, specifikationsgranskningar ökar inte bara teamsamarbetet utan hjälper till att utveckla individuell och övergripande företagskompetens.

Förbättra organisationskulturen

Du förbättrar organisationens effektivitet genom att ta hand om den kultur som du vill skapa. Kulturförändringar sker när individer, team och organisationer tillämpar en eller flera kontinuerliga förbättringsmetoder. Flera skalbara agila metoder är:

  • Retrospektiv: Genom att ställa frågor som: "Vad gick bra?", "Vad ska vi göra annorlunda?", och "Vad ska vi sluta göra?" hjälper teamen att reflektera över hur de kan förbättra sina processer och metoder. Retrospektiv hjälper teamen att visa vad som fungerar bra och vad som behöver förbättras. Retrospektiv kan utföras när som helst och var som helst. Men institutionalisering av vissa retrospektiv i regelbunden takt bidrar till att institutionalisera kontinuerliga förbättringsmetoder. Till exempel:

    • Sprint-retrospektiv kan hjälpa team att identifiera områden som kan förbättras med jämna mellanrum.

    • Lanseringsrespektiv kan hjälpa organisationer att identifiera områden för att förbättra kommunikation och interna metoder och bränsleförbättringar för nästa lansering.

    • Operativa granskningar: hålls vanligtvis varje månad och inkluderar representanter från en hel värdeström. Om du spänner över en portfölj med projekt och andra initiativ och använder objektiva, kvantitativa data, utformar du dessa retrospektiv för att provocera fram diskussioner om den dynamik som påverkar prestanda mellan team.

      Se Agile Retrospective Resource Wiki för idéer, tips och verktyg för planering och genomförande av retrospektiv. Se även Tillägget Marketplace Retrospektiv.

  • Förbättringsspårningstavla: Bra idéer för att förbättra processer kan uppstå när som helst. Att fånga dessa idéer för att diskutera och besluta om hur de ska agera snabbt är en nyckel för att stödja processförbättringsinsatser.

    En vit tavla ger alla enkla och visuella sätt att fånga idéer med. Du kan också skapa ett team för förbättringsspårning och samla in idéer som du spårar på en elektronisk Kanban-tavla.

  • Institutionalisera delning: Att dela metodtips och kommunicera idéer hjälper alla team inom en organisation att växa och förbättras. Att utveckla en inlärningskultur är nyckeln till att stödja detta och andra kontinuerliga förbättringsaktiviteter. Några idéer att tänka på:

    • Interna wikis

    • Interna distributionslistor

    • Hackathon veckor eller 10% hacka tid

    • Internt agilt supportteam för att stödja team som använder agila metoder

      Kulturspelet är en bra resurs för agila chefer som hjälper team att anta agila och dela metodtips.

  • Praxisgemenskaper: Stöd för interna gemensamma discipliner (till exempel dbas, SW Architects, UX-design)

Fungerande programvara

"Leverera fungerande programvara ofta, från ett par veckor till ett par månader, med en inställning till den kortare tidsskalan."
"Fungerande programvara är det primära måttet på framsteg."
- Agilt manifest

I takt med att mängden programvara, funktioner och komplexitet ökar måste du använda metoder som hjälper dig att skapa förbrukningsbara lösningar.

  • Funktionsflaggor: Använd funktionsflaggor för att aktivera eller inaktivera åtkomst till olika funktioner. Ge stöd för att aktivera funktioner till tidiga användare för att få fungerande feedback.
  • Versionståg: Ange en annan typ av kadens för att leverera en eller flera funktioner. Funktionsteamen förstår det förplanerade schemat för att push-överföra nya funktioner och planera korrekt. Versionståg kan motsvara samma sprinttakt som upprättas för organisationen eller ske i en annan takt. Se Skalat agilt ramverk för hur du konfigurerar sprintar och släpper tåg.
  • Kontinuerlig integrering: Anta processer som eliminerar manuellt arbete och i stället automatiserar flödet av programvara genom test-, bygg- och distributionscyklerna.
  • Intern öppen källkod: Ta med det värde och den etik som har utvecklats i communityn programvara med öppen källkod till dina interna utvecklingsteam.

Tillsammans med ovanstående metoder får du mer vägledning om hur du skalar dina agila verktyg i följande artiklar:

Branschresurser

Metoder som inte skalas

  • Uppskattning av stora initiativ: En del av vattenfallsprojektmetoderna handlade om att uppskatta resurser och scheman. Ju större initiativ, desto mindre sannolikt var dessa uppskattningar av något värde. När projekten växer kan risker och oförutsedda problem och hinder uppstå, vilket gör många uppskattningar ogiltiga.
  • Hastighet: Teamhastighet kan ge ett användbart mått för att få insikt i hur mycket arbete varje team kan utföra under en sprintcykel, men du kan inte lägga till teamfunktioner för att få meningsfulla eller användbara mått. Dessutom är det problematiskt att använda hastigheten från många team för att på ett tillförlitligt sätt slutföra prognoser för långa intervall. Teamen varierar i hur de uppskattar sitt arbete, och dessa variationer ökar med tiden.
  • Preskriptiva lösningar uppifrån och ned: En storlek passar inte alla, och en lösning passar vanligtvis inte alla team. Att stödja teamets självbestämmande innebär att låta teamen hitta sina egna lösningar.