Agile och Lean Product Development i relation till ACD³

Från ACD3
Hoppa till: navigering, sök

ACD³ oc Lean Product Development

En inriktning inom produktutveckling är Lean Product Development (LPD), vilken innebär att principer från lean-tänkandet appliceras på produktutvecklingsarbetet (Liker, 2004; Morgan och Liker, 2006). Grundtanken går ut på att i arbetet fokusera på de aktiviteter som ger kundvärde och reducera de aktiviteter i utvecklingsprocessen som inte bidrar till ökat kundvärde (så kallat waste). LPD tar också ett helhetsgrepp på hur en utvecklande organisation ska arbeta, både övergripande och i detalj. Morgan och Liker (2006) anger tretton principer som centrala för LPD .

Processer och flöden:

1. Bestämma kundvärde för att kunna särskilja värdeskapande från slöseri

2. Göra utvecklingsprocessen framtung för att grundligt kunna undersöka alternativa lösningar, när det finns maximalt utrymme för förändringar

3. Skapa ett jämnt flöde i produktutvecklingsprocessen

4. Använda en omfattande standardisering för att minska variation, skapa flexibilitet och förutsägbara resultat


Skickliga människor:

1. Skapa en chefsingenjörsfunktion för att från början få en integrerad utveckling

2. Organisera arbetet så att det blir balans mellan specialexpertis och tvärfunktionell integrering

3. Utveckla en hög kompetens hos alla ingenjörer

4. Fullständigt integrera underleverantörer i produktutvecklingen

5. Bygga in lärande och ständig förbättring i organisationen

6. Stötta en kultur som stödjer excellens och ihärdigt förbättringsarbete


Verktyg och teknik:

1. Anpassa teknologier så att de passar människor och processer

2. Samordna organisationen genom enkel, visuell kommunikation

3. Använda kraftfulla verktyg för standardisering och för organisationens lärande


Kopplingen mellan HFE och LPD ligger främst i princip 1 och 2 från processer och flöden (Institoris och Bligård, 2014). HFE kan generellt stödja LPD genom att utformade produkter blir bättre anpassade till människor, med högre systemprestanda och mänskligt välbefinnande som resultat. HFE kan alltså bidra till att minska slöseri (waste) i användningssituationen och därmed öka användarvärde och kundvärde. Det praktiska bidraget från HFE är ett tillvägagångssätt som kontinuerligt integrerar användaren och användningen i hela produktutvecklingsprocessen.

Fyra områden inom HFE är av särskilt intresse för LPD (Institoris och Bligård, 2014):

  • Metoder för att dokumentera och kommunicera användarnas behov
  • Teori för att utforma produkter anpassade till människan
  • Metoder för att involvera användarna i utformningen
  • Metoder för att utvärdera produkten ur användarperspektiv


LPD:s relation till ACD3-processen är snarlik den till HFE. ACD³ stödjer LPD genom att tydligt fokusera på vad som skapar värde för kunden och användaren och på att reducera slöseri i användningssituationen. ACD3 lägger också stor vikt vid arbetet som sker i inledningen av en utvecklingsprocess för att reducera slöseri under utvecklingsarbetet, till exempel tid för personal som får göra om saker eller material som förbrukas, när felaktiga prototyper produceras. Främst är det LPD-princip ett och två från Processer och flöden (Morgan och Liker, 2006) som stöttas:

1. Bestämt kundvärde för att kunna särskilja värdeskapande från slöseri

2. Gör utvecklingsprocessen framtung för att grundligt kunna undersöka alternativa lösningar, när det finns maximalt utrymme för förändringar


De två principerna motiverar också behovet av en arbetsprocess såsom ACD³, dvs LPD stöttar även ACD3-processen. Vidare så poängterar LPD att det är ett ingenjörsjobb att vara i kontakt med användarna och att det är viktigt att ingenjörerna är med från början i utvecklingsarbetet, vilket motiverar innehållet i ACD3-processen utifrån ingenjörens perspektiv.

ACD³ och Agile

Agile systemutveckling är ett samlingsnamn för arbetsmetodiker inom programvaro-utveckling. Det gemensamma är ett flexibelt synsätt på utvecklingsarbetet, ofta kontrasterande mot sekventiella arbetssätt som anses vara oflexibla och dokumenttunga. Arbetet genomförs iterativt och inkrementellt; lösningen byggs alltså upp genom att delar successivt förs samman till den färdiga lösningen. Under arbetet utvärderas resultaten löpande och kan ändras för att uppfylla nya krav och önskemål. Agile utgår från "Manifest för Agil systemutveckling" (Beck et al., 2001):


Vi finner bättre sätt att utveckla programvara genom att utveckla själva och hjälpa andra att utveckla. Genom detta arbete har vi kommit att värdesätta:

Individer och interaktioner framför processer och verktyg

Fungerande programvara framför omfattande dokumentation

Kundsamarbete framför kontraktsförhandling

Anpassning till förändring framför att följa en plan

Det vill säga, medan det finns värde i punkterna till höger, värdesätter vi punkterna till vänster mer.


Även om det vid en första anblick tycks som att tre av grundtankarna bakom Agile står i stark konflikt med ACD3-processen, då ACD3 är ett sekventiellt arbetssätt, så avser båda att med en liknande ansats motverka samma potentiella problem. Problemet, som både Agile och ACD³ syftar till att undvika, är att det som utvecklas inte kommer att passa användaren och inte ha de efterfrågade effekterna.

De övergripande lösningarna som både Agile systemutveckling och ACD³ vilar på är:

  • Nära samarbete inom utvecklingsprojektet och med användarna
  • Tidig och kontinuerlig utvärdering av design mot användarna
  • Flexibel planering som växer fram under projektet


Den konkreta skillnaden mellan ACD3 och Agile, är att ACD³ lyfter fram nyttan med ha skiftande perspektiv och att en lösning kan designas och utvärderas på olika abstraktionsnivåer. Alltså, lösningen i ACD3-processen växer fram som en komplett helhet, vilken successivt blir tydligare och med detaljerad ju längre utvecklingsarbetet pågår. Inom Agile arbetar man ofta direkt med den färdiga lösningen, mjukvaran, där delar skapas i detalj för att successivt bilda en komplett helhet (i slutet av utvecklingsarbetet).

Agile systemutveckling har därför inte någon naturlig koppling till hela ACD³, utan kan främst ses som en utvecklingsmetodik för mjukvara i konstruktionsfasen. Vid samarbete med mjukvaroutvecklare som arbetar enligt Agile, så intar HF-ingenjören rollen som kunden, då HF-ingenjören vet hur programvaran ska fungera gentemot användaren. Arbetssättet kräver att HF-ingenjören arbetar nära mjukvaroutvecklarna med en kontinuerlig interaktion för att diskutera de lösningar som utvecklas. Viktigt att tänka på är, att det är svårt att skapa en specifikation så detaljerad som mjukvaroutvecklarna behöver för att oberoende kunna utveckla lösningen, utan att lösningens detaljer växer fram i samspelet mellan mjukvaroutvecklarna och HF-ingenjören. Specifikationer som görs i HFE-aktiviteterna i Agile systemutveckling syftar till att kunna utvärdera lösningarna mot användarna.