söndag 1 april 2012

Mer press gör oss bättre!

Ofta uppfattar vi orden stress och press som något negativt. Jag tycker inte att det är det. Snarare tvärtom. Utan yttre press ifrån kunder, uppdragsgivaren, användare och övriga intressenter till våra IT-system så levererar vi sämre värde. Skulle Sveriges bästa systemutvecklare få fria händer i 3 månader utan någon yttre press, så skulle det bli ett sämre slutresultat än om de hade pressats framåt av en drivande produktägare. Jag är helt övertygad!


Agila metoder och press
Inom agila metoder och scrum i synnerhet så förespråkas ofta att man skall hålla ett "lagom" tempo, inte driva på för hårt utan satsa på kvalitet (i kod och test) hellre än fler funktioner (värden) i systemen. I grund och botten är detta en sund filosofi och bra värderingar. Men jag undrar om det i långa loppet inte leder oss in i en fälla. När grundtesen är att det kommer att ta längre tid att skapa system med kvalitet, så luras vi nog också att använda onödigt krånglig och ny teknik, alltför avancerad arkitektur och omfattande tester.

Lean, mindre "Waste"
Ibland kan en tydlig yttre press vara en viktig faktor för att hålla både verksamhet och utvecklare på spåret. Det kan hjälpa verksamheten att prioritera: vad är det egentligen som är viktigt? Vad händer om vi inte får funktion X? Mindre nödvändiga funktioner som kanske inte skulle ha använts så mycket lyfts ut ur projektet, vi producerar mindre "waste". Men det bidrar också till att sätta systemet i drift efter varje sprint. Nåt som man ska göra, men alltför ofta så går det 2-3sprintar innan det faktiskt görs.

Keep it simple
Press hjälper inte bara verksamheten, det hjälper systemutvecklarna också. Även om de inte gärna erkänner det. Yttre press tvingar utvecklarna att omvärdera teknik och arkitekturbeslut, inte tänka lite mycket på alla framtida eventualiteter som *skulle kunna ske* utan fokusera på vad systemet ska göra idag. I bästa fall blir systemet enklare, mer effektivt och mer anpassat till den faktiskt uppgiften.

Myntets baksida
Tyvärr tror jag inte att "mer press" är en universell princip som funkar i alla lägen. Riktigt så enkelt är det nog inte. Men när både verksamhet och utveckling har jobbat med varandra en tid, samarbetet fungerat bra och båda parter har förtroende för varandra, då är det läge att lägga på lite press! Men tänk på att det bör finnas erfarenhet på både sidor. Att sätta extra press på personer som är nybörjare i sin roll kan lätt leda till att fel krav blir realiserade, utvecklarna producerar "spaghettikod" och då står där med en produkt som är nästintill omöjlig att förvalta.



5 kommentarer:

  1. Intressant! Håller med på sätt och vis.
    I min vardag (som utvecklare) är det alldeles för vanligt med en kommentar som "okej, det här är en fullösning, men vi har inte tid att göra det bättre just nu". Och efter 20+ såna fullösningar har kunden fått ett svårförvaltat system. Men det är kanske sånt du kallar "dålig press"?

    En annan kommentar ang "om systemutvecklare skulle få fria händer i 3 månader" så ligger sanningen i att nästan alla kunduppdrag är lite för "tråkiga". Skulle jag få fria händer i 3 månader och utveckla nåt eget, som jag brann för, så skulle du få se på nåt så vackert att du skulle börja gråta.

    SvaraRadera
    Svar
    1. Jo det är klart att jag också möter "silvertejps"-kommentaren allt för ofta. Men möter man den ständigt ifrån en kund så är det ett tecken på att erfarenheten inte finns på kundsidan, och då är inte konceptet med mer press hälsosamt. Då är det dags för dig som utvecklare att utöva press på verksamheten: "Nej, du får inte den här funktionen gjord på 10h, jag behöver 10h för att rensa upp efter tidigare stresskodningar, och efter det så får du din funktion på 20h".

      Man får inte glömma bort att utöva press själv! Annars är det ju inget som pressar verksamheten att fatta rätt beslut!

      Radera
    2. Väldigt tänkvärt. Och bra! Klart att vi utvecklare måste ta vårt ansvar och "ligga på" våra kunder också. Det hörs ju i namnet "konsult", man ska vara någon som konsulterar.

      Radera
  2. "That´s how diamonds are made!" ;) Press != stress, tycker jag. Men håller med om att man många gånger gör "bättre" ifrån sig under yttre press. Till en viss gräns...

    Det är ofta svårt att stå emot yttre press utan att skapa "fulkod". Men samtidigt behövs en press för att man inte ska börja koda en massa egna onödiga lösningar som det kanske finns bättre kod för. Man måste tjäna pengar också, och bli färdig i tid. Det är väl därför "technical debt" finns.

    Jag tror att många duktiga människor sätter en egen press på sig själva för att skapa bra saker, de behöver inte yttre press för detta. Mao håller jag med om Henriks kommentar, hade jag fått fria tyglar i 3 månader...ojojoj. =) Men samtidigt hade jag kanske behövt någon med överblick som kan bromsa in om vissa saker börjar spåra ur...man har ofta en tendens att "grotta ner" sig.

    SvaraRadera
  3. Snor denna länk från Roland:
    http://www.estherderby.com/2012/02/but-are-they-working-hard.html

    SvaraRadera