från långsamhet och frustration till snabbhet och arbetsglädje | martin rosén-lindholm &...

16
CD @ MVNO @ Telenor DK från långsamhet och frustration till snabbhet och arbetsglädje

Upload: lean-tribe

Post on 02-Jul-2015

156 views

Category:

Leadership & Management


0 download

DESCRIPTION

Presentation hållen vid Lean Tribe Gathering 24 i Växjö 20 november 2014.

TRANSCRIPT

Page 1: Från långsamhet och frustration till snabbhet och arbetsglädje | Martin Rosén-Lindholm & Christian Hollerup Mikkelsen | LTG-24

CD @ MVNO @ Telenor DKfrån långsamhet och frustration till snabbhet och arbetsglädje

Page 2: Från långsamhet och frustration till snabbhet och arbetsglädje | Martin Rosén-Lindholm & Christian Hollerup Mikkelsen | LTG-24

Martin Rosén-Lidholmutvecklingschef

Christian Hollerup Mikkelsenseniorutvecklare

Page 3: Från långsamhet och frustration till snabbhet och arbetsglädje | Martin Rosén-Lindholm & Christian Hollerup Mikkelsen | LTG-24

Problem• Komplex semimanuell utgivningsprocess med t.ex. manuella merges

• Lång utgivningsprocess (ca. 1,5 t)

• Hela systemet byggt och utgivet som en monolit

• Två stora tungjobbade Visual Studio-lösningar (upp till 80 projektfiler)

• Försök att automatisera acceptanstester har misslyckats (SBE, SpecFlow, Selenium, ...)

Page 4: Från långsamhet och frustration till snabbhet och arbetsglädje | Martin Rosén-Lindholm & Christian Hollerup Mikkelsen | LTG-24

Working Review Test Production

Uppgift

Page 5: Från långsamhet och frustration till snabbhet och arbetsglädje | Martin Rosén-Lindholm & Christian Hollerup Mikkelsen | LTG-24

Working

Uppgift

checkout -b uppgift

commit + push

Triggar följande automatiska process:

• Bygger och kör regressionstester

på byggservern

• Skapar NuGet-pkg

• NuGet-pkg i AppVeyor-feed

• NuGet-feed betraktas som test-feed

deploy till utv.server

färdig

ej färdig

pull request

Detta steg utförs ibland då bygg och deploy är en del av lösningen och källkoden för en mikroservice.

Page 6: Från långsamhet och frustration till snabbhet och arbetsglädje | Martin Rosén-Lindholm & Christian Hollerup Mikkelsen | LTG-24

Working Review Test Production

Uppgift

Page 7: Från långsamhet och frustration till snabbhet och arbetsglädje | Martin Rosén-Lindholm & Christian Hollerup Mikkelsen | LTG-24

Review

Uppgift

granska commit

beskriv önskadändring

«automatiskt»

upprätta ’task’ i’Uppgift’

anmärkning/-ar

återståendecommits

markera ’Uppgift’ som’ready to pull’

flytta ’Uppgift’ till’working’

ej anmärkning/-ar

anmärkning/-ar

«automatiskt»uppdatera ’Uppgift’ vid byggfel

Page 8: Från långsamhet och frustration till snabbhet och arbetsglädje | Martin Rosén-Lindholm & Christian Hollerup Mikkelsen | LTG-24

Working Review Test Production

«ready»

Uppgift

Page 9: Från långsamhet och frustration till snabbhet och arbetsglädje | Martin Rosén-Lindholm & Christian Hollerup Mikkelsen | LTG-24

Working Review Test Production

Uppgift

Page 10: Från långsamhet och frustration till snabbhet och arbetsglädje | Martin Rosén-Lindholm & Christian Hollerup Mikkelsen | LTG-24

Test

Uppgift

genomgå ’Uppgift’

ej anmärkning/-ar

flytta ’Uppgift’ till’Production’

flytta ’Uppgift’ till’working’ medkommentarer

anmärkning/-ar

«automatiskt» deploy:a förra versionen

Page 11: Från långsamhet och frustration till snabbhet och arbetsglädje | Martin Rosén-Lindholm & Christian Hollerup Mikkelsen | LTG-24

Working Review Test Production

Uppgift

Page 12: Från långsamhet och frustration till snabbhet och arbetsglädje | Martin Rosén-Lindholm & Christian Hollerup Mikkelsen | LTG-24

Production

Uppgift

flytta ’Uppgift’ till’working’ medkommentarer

«automatiskt»

deploy:a till prod.server

«automatiskt»merge

gick bra

«automatiskt» deploy:a förra versionen

gick inte bra

«automatiskt» stäng pull request

Page 13: Från långsamhet och frustration till snabbhet och arbetsglädje | Martin Rosén-Lindholm & Christian Hollerup Mikkelsen | LTG-24

Production

UppgiftMätningar

Sentry

Egen prestandalogg okej

ej okej

ny uppgift i backloggenpå tavlan

Batch-jobbloggar

Olika driftsloggar

Page 14: Från långsamhet och frustration till snabbhet och arbetsglädje | Martin Rosén-Lindholm & Christian Hollerup Mikkelsen | LTG-24

Problem nu och då• Komplex semimanuell utgivningsprocess med t.ex. manuella merges

Enkel automatiserad utgivningsprocess. Auto-merge (eller varning).• Lång utgivningsprocess (ca. 1,5 t)

Snabb utgivningsprocess (minuter)• Hela systemet är byggt och utges som en monolit

Många självständiga mikroservisar/bounded contexts• Två stora tungjobbade Visual Studio-lösningar (upp till 80 projektfiler)

Många lösningar, inte nödvändigvis Visual Studio• Försök att automatisera accepttester har misslyckats (SBE, SpecFlow,

Selenium, ...)Lätt att implementera accepttester utan ballasten från det förgångna

• Nytt problem! Hur kommunicera optimalt?(Nu: NServiceBus. Imorgon: Kafka?)

Page 15: Från långsamhet och frustration till snabbhet och arbetsglädje | Martin Rosén-Lindholm & Christian Hollerup Mikkelsen | LTG-24

VerktygslådaGit

GitHub

AppVeyor

Octopus Deploy

Slack + Hubot

AgileZen

Chrome Extensions

NuGet

Eget klister