söndag 5 juli 2015

Varken flum eller fascism

En trevlig sak med årets Almedalsvecka var alla de framtidsinriktade samtalen, och att så många uppfattat att digitaliseringen faktiskt medför en samhällsomvandling. För mig som agilist var det ännu roligare att höra att många organisationer på ledningsnivå snappat upp det här med agilitet: snabb förändringstakt i omvärlden kräver snabb förändringstakt i den egna organisationen, och agil utveckling är en möjliggörare.

Däremot blev jag irriterad när så många på ledande nivå återkom till en inbillad motsättning mellan agilitet och struktur. "Ja, vi behöver agilitet, ett iterativt utvecklande av tjänster och produkter. MEN det funkar ju inte när vi utvecklar medicinska tjänster/banksystem/kärnkraftverk och annat som styrs av regulatoriska krav. Där kan vi inte ha agilitet, där måste vi ha ordning och reda!"

Stackars människor! De upplever sig alltså trängda mellan innovativa agila hippies som gör nydanande men osäkra produkter, och strukturfascister som garanterar stabilitet men också bestraffar varje försök att gå utanför ramarna.

Denna motsättning uppfattade även människor inom systemutvecklingen för femton år sedan, eller för den delen inom japansk fordonsindustri på femtiotalet. Men både systemutvecklare och leanpionjärer fann snart att motsättningen är falsk. Själva nyckeln till smidighet och agilitet är istället att kunna kombinera sträng struktur med stor rörlighet.

Problemet med rigida metoder är inte att de är strukturerade, utan att de utgår från att det alls är möjligt att på ett tidigt stadium se precis vilken struktur som är den rätta. Man tror på allvar att planen ska exekveras när den en gång är lagd, trots att det dyker upp nya viktiga insikter under resans gång.

Att införa rörlighet i en rigid metod är katastrof. Det som saknas i dem är mekanismerna som gör det möjligt för oss att återföra de nya insikterna och snabbt få fram en ny plan baserad på den senaste kunskapen. Men agilitet handlar ju inte om rörlighet i en rigid miljö, utan om att ändra miljön så att den tål rörlighet. De agila metoderna skapar sådana miljöer.

För att tåla rörlighet så måste de agila metoderna vara långt mycket mer strukturerade än de rigida metoderna. I en rigid miljö som genomför förändringar batchvis räcker det att stämma av att centrala måstekrav uppfylls vid vissa bestämda toll gates. I en agil miljö måste denna avstämning ske kontinuerligt. Och kravspårbarheten syns i en agil backlogg ner på varje enskilt element, inte på stora listor av krav.

Det är det mycket strukturerade arbetssättet som gör att vi kan vara agila. Vi bygger upp resilienta strukturer som tål ständig förändring utan att kaos uppstår. Det gör att vi kan utveckla medicinskteknisk utrustning som uppfyller FDA:s krav, styrsystem för farliga industriella processer, och vapensystem, agilt. Jag påstår att det är enklare att utveckla robusta produkter och tjänster med hjälp av agila metoder, just på grund av den högre graden av struktur.

Det vore ju hemskt om ledningar i viktiga svenska stora bolag inte känner till vilka tekniker och möjligheter som finns. Agilitet är inte bara ett mindset. Det är en hel container full med beprövade tekniker som gör det möjligt för oss att också realisera detta mindset, mitt i den komplexa verkligheten med samtidiga krav på både flexibilitet och stabilitet.

7 kommentarer:

  1. Även om jag till stor del håller med om ditt ovanstående resonemang så landar du lite olyckligt i påståendet ".. enklare att ..". Enklast är att välja en metod som passar den situation som föreligger. Om förutsättningen är en deterministisk process så är en definierad process modell ett alldeles utmärkt val men skulle det handla om en stokastisk process är säkert en empirisk process modell, agilt etc., ett bättre val. Inte alltid enklast med agila metoder men ibland är de oerhört användbara : )

    SvaraRadera
  2. Jag resonerar så här: Kontexten är utveckling. Utveckling är en komplex och oförutsägbar process. Alltså föreligger redan det villkor du satte upp för att rekommendera empirisk processkontroll.

    Dessutom handlade stycket om robusthet. Det är rädsla för bristande robusthet som personerna i panelen gav uttryck för. Avgörande för robusthet är bl a struktur i processen, disciplin i genomförandet, och spårbarhet i kraven. Eftersom agila metoder har mer struktur, bygger på ett disciplinerat genomförande, och har spårbarhet i alla led, så menar jag att agila metoder gör det enklare att upprätthålla robusthet än om man använder metoder som bygger på batchhantering av krav.

    Förutom då det faktum att saker blir ohyggligt robusta om vi får iterera dem ett par varv.

    SvaraRadera
  3. Missförstå mig rätt men empiriska process metoder är inte svaret på alla frågor digitalisering ger upphov till. Rätt använt är empiriska eller definierade process metoder inte i konflikt med varandra utan kompletterar varandra. Inget utvecklingsprojekt kommer uteslutande innehålla deterministiska eller stokastiska modeller, använd rätt metod utifrån rätt förutsättning så reducerar vi framförallt riskerna i våra utvecklingsprojekt.

    Vad gäller robusthet så gäller väl fortfarande Jon Postels, "Be conservative in what you do, be liberal in what you accept from others" ; )

    I Halmstads kommun uppnår vi robusthet med hjälp av en plattformsstrategi och multimodal IT : )

    SvaraRadera
  4. Jo, men jag pratar inte empirisk styrning som svar på _alla_ frågor som digitaliseringen ger upphov till, utan som svar på frågan hur man bäst styr _utveckling_. Tjänstedesign.

    Det är inte robust tjänsteproduktion jag talar om. Ur ett livscykelperspektiv (där alla aspekter måste vägas in) är det naturligtvis fråga om en mix av angreppssätt.

    Det är klart att även utveckling innehåller öar av förutsägbarhet och vi ska ju inte öka variansen/osäkerheten i onödan, så på så sätt kan man prata om en mix även här. Men utveckling innebär att ta fram nya insikter, så varje utvecklingsansats måste vara öppen för möjligheten att ändra kurs. Det betyder att det empiriska förhållningssättet måste vara överordnat det föreskrivande, även om man för stunden kan hålla sig till det förutsagda.

    Men åter: inlägget handlar inte om huruvida agila metoder är bra, utan vill bemöta missuppfattningen att agila metoder saknar tillräcklig struktur för att man ska kunna bygga livskritiska tjänster med hjälp av dem.

    Frågan om hur man mixar föreskrivande och empirisk kontroll är också intressant, men ett helt annat inlägg. Kanske jag ska skriva ett sådant?

    SvaraRadera
    Svar
    1. Jajamen, alltid bra med balans : )

      Nu något helt annat, var kommer tidsangivelsen i kommentarerna ifrån? De verkar inte höra hemma i vår tidszon?

      Radera
    2. Där blogspot-servrarna står tror jag. Misstänker någon amerikansk tidszon. Dumt. UTC hade varit bättre.

      Radera
  5. Den här kommentaren har tagits bort av bloggadministratören.

    SvaraRadera