Mocka med inhoppare – del 6 i TDD på svenska

TDD är en vana man behöver etablera. Första hindret är ofta när man återvänder efter kurs att omsätta teori i praktik. I detta avsnitt berätta jag om hur man isolerar en enhet så att man kan testa den.

Del 6 är i serien “TDD på svenska” handlar alltså om detta och har precis nu publicerats på vår YouTube-kanal “Crisp Agile Academy”.

Du hittar som vanligt de tidigare delarna i serien och mycket annat producerat av mina kollegor. Speciellt tack till Jimmy Janlén för foto, regi och klipp

Hur Wunderkraut håller budget och skapar långvariga relationer med hjälp av Agila kontrakt

Vi har byggt en sajt där med goda exempel, för att inspirera företag, myndigheter och verksamheter på väg in i en upphandling att ta steget till Agila kontrakt. Check it out – agilakontrakt.se. Eller följ oss på twitter: @agilakontrakt.

wundkraut_personerna-268x400Turen har kommit till att berätta om Wunderkraut, som använt Agila kontrakt sedan 2010. Det intressanta är hur de i den ombytliga webb och reklamvärlden, framgångsrikt bygger långvariga relationer med sina kunder. De har tagit steget från att se Agil utveckling som “något som sker inom IT” – till något som driver bättre affärer. Agila kontrakt är av nycklarna. Läs hela storyn här.

 

Psst:  Häng med på vårt frukostseminarium den 16 Oktober om upphandling med Agila kontrakt som vi samarrangerar med Wunderkraut. Varför inte ta chansen och träffa oss båda? Anmäl dig på: http://akademi.wunderkraut.se/frukostseminarium-agil-upphandling

 

 

Omöjligt att kombinera agilt arbetssätt med pm3

Låt oss säga det direkt: att kombinera pm³ och någon agil metod, som t ex Scrum, är en dålig idé. Varför?

Därför att du kommer inte kunna dra nytta av det agila arbetssättet. pm³ är baserat på en helt annan världsbild. pm³ bygger på årsplaner och att verksamheten beställer från en leverantör, typiskt den egna IT-avdelningen.  Agilt har som en grundläggande värdering att reagera på förändringar i stället för att följa en plan. Det agila arbetssättet drivs proaktivt genom utforskande i motsats till att vara en mottagare av beställningar.

Vi har sett flera försök att implementera pm³ och de har ofta misslyckats på grund av att pm³ bygger på tankar om att verkligheten kan förutsägas 18 månader i förväg, att användarna vet vad de vill ha och att det är viktigt att ha en skarp linje mellan verksamhet och IT. Vi hävdar (och flera med oss törs vi lova) att inget av detta är varken sant eller bra.

read more »

New book from Crisp – Kanban in 30 days

Kanban in 30 days

Kanban in 30 days

Designed as a 30-day action plan, this book will help you understand and implement Kanban – and start seeing results – in a month.

Analyze your current situation and define your goals and wider strategic aims, and begin developing a plan to help you and your team confidently work towards achieving them. Involve your team into driving cultural change, learn how to prioritize, and organize tasks and projects to efficiently use your time and resources.

Create your own value stream map to better understand your processes and identify improvement areas, and adapt and use the features, tips, and examples to overcome challenges you may face when implementing Kanban. Pick up this book and experience the full results of this vital Agile methodology-fast.

Who this book is written for

If you want to simplify your processes, improve collaboration, and manage projects successfully, this guide to Kanban is an essential companion. read more »

Real World Kanban – now on Amazon

My new Kanban case book now ships from Amazon (as hardcover or in Kindle format).

new book: "Real World Kanban"Learn how we:

  • Improved the full value chain by using Enterprise Kanban.
    (Find out how we improved time to market and shifted focus from Sprints to Flow to deliver customer value in a traditional company.)
  • Boosted engagement, teamwork, and flow in change management and operations.
  • Saved a derailing project with Kanban.
  • Helped an office team outside IT keep up with growth using Kanban.

Inside each case story, you’ll find guerilla techniques on how we made improvements happen (including cases where we #failed). I also walk through why focusing on “improving IT” can make you miss your biggest improvement opportunity (the front end part of your value stream) as well as the 5 system “enablers” that guided our long term improvements.

Get “Real World Kanban” from:

Vi behöver skifta från kravställan till behovsställan

Hur något som egentligen är så självklart kan komma som en aha-upplevelse är en gåta – även för mig som jobbar med det dagligen. För ett litet tag sedan höll jag en utbildning i upphandling och kravställning, “Certifierad Agil Beställare”, efter utbildningen sa en av deltagare att den största aha-upplevelsen var insikten att vi ska göra en bra “behovsställan” i stället för kravställan för att lyckas med upphandlingen och inte styra in på detaljerade lösningar. Det var ju så självklart! Att jag inte har sett det förut?

I den stunden myntades ett nytt begrepp – “behovsställan”.

Insikten hade hon fått genom att vi hade gjort övningar i att gemensamt definiera målgrupper med gemensamma behov, och sedan titta på vilka dom behoven var genom att göra user journeys. Insikten att vi definierar befintliga beteenden och hittar problem som utgångspunkt i upphandlingen gjorde stor skillnad i att förstå att en lyckad upphandling måste vara en upphandling som utgår från behov och löser riktiga problem för riktiga användare.

Ett skifte som många behöver göra

Ofta när jag jobbar på produktföretag, oavsett storlek, så ser jag att just detta är är ett skifte som behöver göras. Många företag fokuserar direkt på vad lösningen är genom att beskriva en detaljerad lösning, i stället för att först titta på VARFÖR och för VEM, vad är behovet och vilka problem ska vi lösa? Har vi inte förstått vad problemet är och för vem, så kan vi inte heller hitta den rätta lösningen. Det faktiska utförandet av lösningen bör ligga i teamet, och inte hos beställaren, det är dom som har kunskapen och verktygen att bygga lösningen på rätt sätt, beställaren bör fokusera på att man bygger rätt sak.
read more »

Agila kontrakt – så vill vi förbättra världen

Föreläsning om Agila kontrakt i ALmedalenJust nu packar jag och fixar det sista inför avfärden till Almedalen, mitt första besök på den omtalade politikerveckan. Det ska bli oerhört spännande. Vad ska jag göra där då? Jo, jag och Mattias Skarin, samt Tomer Shalit, som alla brinner för att förbättra världen genom Agil upphandling med Agila kontrakt, ska prata under söndagen på talarplats Hamngatan/Korsgatan kl 10.00 – 11.00, på temat “Skapa effektiv offentlig sektor med Agila kontrakt”. Det här blir en grym avslutning på en vår med många frukostföreläsningar hos olika företag och myndigheter på samma tema, vi lyckades också få till en interpellation i Riksdagen där Statsrådet Ardalan Shekarabi (s) tog beslutet att upphandlingsmyndigheten ska utreda införande av Agila kontrakt. Vi har också haft vår första utbildning på samma tema, “Certifierad Agil Beställare”. Vi har så här långt märkt att ämnet är glödande hett, så mer kommer att komma under hösten. Här kan du läsa mer om utbildningen och anmäla dig >
read more »

Think twice before logging

balloon_irrelevant

One property of legacy code is inflation by irrelevant logging statements. Not only does this increase the size of a bulging code base, I’d also argue that it’s dead wrong.

Quite recently I’ve had the honor of making acquaintance with a piece of code that looked roughly like this:

if (LOGGER.isLoggable(Level.FINEST)) {
    LOGGER.log(Level.FINEST, "foo is now", foo.getValue());
}
boolean result = doSomeActualWork(foo);
if (LOGGER.isLoggable(Level.FINER)) {
    LOGGER.exiting(this.getClass().getName(), "bar", result);
}

read more »

Dedicated Scrum Master or not?

Should the Scrum Master role be full time or part time? What if there is not enough Scrum Master work to do? Can the Scrum Master also do other work in the team? Can the Scrum Master be Scrum Master for several teams?

There was a debate about this and Scrum Alliance created the Scrum Master Manifesto in 2011.

Even though this has been debated by many minds before, I still get asked what my views are on this topic.

I’ve done all kinds of variations on this role. I’ve been a dedicated Scrum Master for a single team. I have done the SM role and a developer role at the same time. I’ve been a Scrum Master for several teams at the same time. These alternatives have their own advantages and challenges. In this post I intend to describe my view and recommendations.

read more »

Samarbetets myserier på Agila Sverige 2015

Samarbete är en svår konst. De flesta organisationer har grava underskott på samarbete. Ännu saknas på många sätt förståelse för vilka mekanismer som driver och uppmuntrar samarbete. På Agila Sverige 2015 pratade jag om samarbetets mystik och gjorde några nedslag i en längre workshop om detta. Bland annat visar jag hur man kan spela ultimatumspelet i storpublik, hur apor reagerar på orättvisor och de fyra pelarna i samarbetets mekanik.

read more »

2nd edition of Scrum & XP from the Trenches – “Director’s Cut”

Guess what – I’ve updated Scrum and XP from the Trenches!

Scrum and XP from the Trenches 2nd edition

read more »

No, I didn’t invent the Spotify model

You know the saying “don’t shoot the messenger”? Well, that goes both ways – “don’t praise the messenger”. Well, OK, you can shoot or praise the messenger for the quality of the delivery – but not for the message content!

I’ve spent a few years working with Spotify and published a few things that have gained a surprizing amount of attention – especially the scaling agile article and spotify engineering culture video. This has come to be known as the “Spotify Model” in the agile world, although it wasn’t actually intended to be a generic framework or “model” at all. it’s just an example of how one company works. The reason why I shared this material is because my Spotify colleagues encouraged me to, and because, well, that’s what I do – help companies improve, by learning stuff and spreading knowledge.

Spotify engineering culture

read more »

Slides from Hookedfest

Just back from Hookedfest – a conference for product people. It’s refreshing to see and discuss product development from a market and product perspective, in contrast to the “what can we build” perspective we all to often resort to as engineers.

It was interesting to see other speakers (for example the Google guy) share similar experiences on product development (keep up speed, prototype and fail fast). I couldn’t agree more on the quote: “If it isn’t tested, it is broken”.

The coolest demo of the day was a JavaScript live code demo of JS interacting with HW devices for example pulse meters . (Thanks @wouter).

Thanks Maarten for bringing together so many interesting people.
Here are my slides – Introducing Concepts.

speaker_card_mattias

 

 

 

Tillsammans – så river programmerarna företagspyramiderna

I år hade jag äran att i anslutning till Agila Sverige (2015) släppa Riv pyramiderna igen som riktig bok med den mycket bättre titeln Tillsammans – så skapar du flyt och egenmakt med agile och lean (tack till Joakim Holm för att du övertalade mig att negativa titlar är dåliga).  Den hemliga undertiteln tycker jag dock är “så river programmerarna företagspyramiderna”.Tillsammans

För det är ju just det det handlar om. Först vände programmerarna upp och ner på mjukvarubranschen genom att börja ge bort sitt arbete som fri källkod. Nu vänder de upp och ner på företagen genom att göra den gamla sortens chefer överflödiga.

Programmering handlar om att generera kunskap. Och det sker bäst när man får arbeta direkt mot användarna och när man själv får styra sitt arbete. När man får makt över sitt liv på jobbet, kort sagt. Och eftersom allt mer i samhället kräver programmerare får programmerarna makt. De kan forma sina arbetsliv så bra som det är möjligt.

Denna förändring är så spännande att följa och i Tillsammans skildrar jag mitt arbete som chef i en produktorganisation och hur vi förvandlade den till en utvecklingsorganisation i världsklass, med hjälp av agile och lean och en hel del gnutta sunt förnuft, och framförallt: extremt experimenterande.

Jag påbörjade och en märklig resa där min roll som chef drastiskt förändrades: den som behöver praktiska tips om hur man gör med utvecklingssamtal, karriärvägar, lönesättning, kompetensutveckling och rekrytering i en organisation som domineras av självorganiserande team hittar gott om tips i Tillsammans hoppas jag.

Läs mer om Tillsammans här eller köp direkt från:
adlibris och bokus.

eBook release: Real World Kanban

My new book – “Real World Kanban” is now available. Here’s the plot in a nutshell:

What happens when Kanban is used in real projects? Kanban has few rules, but an infinite number of strategies. What seems easy in theory can become tangled in practice. So there’s nothing like learning from real world cases. Learn how we:

  • Improved the full value chain by using Enterprise Kanban.
    (Find out how we improved time to market and shifted focus from Sprints to Flow to deliver customer value in a traditional company.)
  • Boosted engagement, teamwork, and flow in change management and operations.
  • Saved a derailing project with Kanban.
  • Helped an office team outside IT keep up with growth using Kanban.

Inside each case story, you’ll find guerilla techniques on how we made improvements happen (including cases where we #failed). I also walk through why focusing on “improving IT” can make you miss your biggest improvement opportunity (the front end part of your value stream) as well as the 5 system “enablers” that guided our long term improvements.

Sounds interesting?  You can get “Real World Kanban” from:

new book: "Real World Kanban"

 

 

 

 

 

 

 

 

Cheers

Mattias

Guest post by Ellen Gottesdiener: Agile Product Ownership – 9 Essentials for Product Success

packageThe key to product success is to discover and deliver the right product for the right customers—and to do it at the right time. That doesn’t change when you move to an agile way of working. In fact, appropriately applying the agile mindset amplifies the imperative of eliciting and specifying the right requirements. The goal is to deliver the highest value product needs (requirements) in as short a time as possible.
read more »

How We Developed Candy Crush Soda Saga

Curious about how we developed Candy Crush Soda at King? Like any project we’ve had our challenges. We developed the game on a framework that had never been tested live, while programming in two languages simultaneously to support multiple operating systems. Adding to the challenge, we started working without a prototyped game idea, within an existing Saga format that comes with a long list of features that players are used to. The project, code-named Stritz, was born in the spring of 2013. We soft launched a year later, and hard launched in the fall of 2014. This is our story. 

stritz-for-life-tagline

read more »

GraphWiki

My GraphWiki is now in a public beta :-)
http://www.graphwiki.com/

Download Crisp’s voting and hand signal posters

At Crisp we often find ourselves discussing various, sometimes though topics, in really big groups. The way we govern ourselves (no managers) and the fact that we make big decisions by consensus or concent have driven a need for us to figure out how to have efficient and effective discussions in big groups. A couple of hand signals have emerged over time that works as a great communication/collaboration tool for us when voting and discussing.

IMG_2400

You can download a PDF with all the hand signals here.
Once downloaded you can, if you want to, print them on A4 or A3 papers and use them yourself.

Here you can read a previous blog post from Peter Antman about Crisps concesus model (v2.1).

And here you can read about How we make decisions on dna.crisp.seour open-source site that describing how Crisp works and why. On the same site you can also read about the Hand signals shown below.

The hand signals are…

01 Up (Crisp Hand Signal)02 Sideways  (Crisp Hand Signal)03 Down (Crisp Hand Signal)04 Stand Aside (Crisp Hand Signal)05 Want to speak (Crisp Hand Signal)06 Facts (Crisp Hand Signal)07 Agree (Crisp Hand Signal)

Programming with kids & co-speaking with my son :)

Yesterday me and Dave (11 yrs) spoke together for the first time! We did a public talk at Spotify about how to help kids learn to program. We’ve been experimenting a lot with that in my family (4 kids to experiment with… muahahaha), and wanted to share some learnings. Worked out better than we could have hoped, considering all the risky tech demos and live coding involved :)

Shared the stage with teacher Frida Monsén who talked about how to get this kind of stuff into schools. Thanks Helena Hjertén for organizing this, and Spotify for hosting & sponsoring. Here’s an article in Computer Sweden about this event and our little “mod club”.

Here are the slides! They are in Swedish though. Might do an English version of this talk some day :)

Dave on Stage

read more »

A3 problem solving template – now in Google Doc!

I’ve finally gotten around to porting the A3 template to Google Doc. Who wants to send around MS Word docs and PDFs? Bah. Put the doc in the cloud instead, where everyone can see and edit together. Or print the template and do it by hand.

Curious about A3 problem solving? See the FAQ.

Here’s a direct link to the template.

A3 template

Enjoy!

New book in the writing: Toolbox for the Agile Coach – Visualization Examples

CoverA couple of weeks ago I published my new book ”Toolbox for the Agile Coach – Visualization Examples (How great teams visualize their work)” even though it’s still very much a work in progress.

The book can be found here.

I’ve made it public, thanks to persuasion from my colleague Hans Brattberg. I decided to try out Google Slides to make it easily accessible and to provide a simple way to give feedback. That turned out to be a great decision. The response has been overwhelming. There are at any given point 5-15 people reading the book, many of which provide great feedback, point out spelling correction and provides generous suggestion for more examples.

Examples

read more »

Lean Documentation

My amateur research has given me the insight that the three most important things for greater effectiveness and good quality are knowledge, knowledge and knowledge. Knowledge is best acquired through a dialog but a dialog is only efficient if it includes someone with knowledge. Unfortunately, there are situations when such a person is not around.

This article will help you write effective and useful documentation for those situations where documentation is the only available source of knowledge.

Read the full article at InfoQ

How to peel off Post-its

Having trouble with curled Post-its that won’t stick to the wall? Well, it could be due to bad glue or that you peel them off wrong. I would guess it’s the latter. Might feel like a silly blog post to write, but I found myself teaching people the technique of peeling Post-its quite frequently.

It’s very simply. Grab the top Post-it with a firm grip, and pull it straight down.
Not to the side. Not up.
Straight down.

With practice comes mastery – someone probably said.

How to peel a post-it

Side note: Some colleagues argue that it is easier to place the left-hand thumb in the middle of the pack (on the second Post-it) instead of on the side of the deck. I guess you need to try to see what works best for you :-)

The Sprint Burndown is dead, long live Confidence Smileys

I’ve met very few teams that successfully found a valuable and useful way to update and use a Sprint Burndown. The Sprint Burndown can be tedious to update (if done manually), and doesn’t seem to trigger the discussions in the Scrum team it is designed for. Even to agree on a unit causes confusion (hours, tasks, finished User Stories?).

2015-04-01 11.44.29

But don’t despair; let me introduce you to Confidence Smileys. Confidence Smileys provide a simple, honest, transparent and overview-friendly tool for the team to visualize how confident a team is that they will be able to finish each User Story by the end of the sprint. The can replace the need for a Sprint Brundown (or Sprint Burnup), or function as a complement.

Confidence Smileys_002

read more »

Lean Startup

Du har en idé om en tjänst.
Hur kan du snabbast och enklast verifiera att någon vill använda den?
Det är vad Lean Start-up handlar om.

read more »

A Scrum Product Owner Checklist as a mind map

If you wonder what a Scrum Product Owner need to do, here’s the checklist (in form of a mind map) for you!

read more »

Too small for a user story – bugs, fixes and support

Some things are too small for the overhead of a user story, still they must be handled during the sprint effectively. I suggest a small taxonomy to classify them and also what to do with them.

read more »

Slides from JDays

I talked about some overlooked (and quite new) features of JUnit at JDays in Gotherburg. My presentation was a tour that started with boring example tests, and then proceeded through parameterized tests, theory tests, and generative testing. At the end of this tour, I spoke about fundamental, yet again overlooked, testing techniques such as finding single mode faults and double mode faults, and how these techniques can be combined with parameterized testing and theories. Here are the slides.

 

7 Rules on Code Readability

What makes good code? Many things but whatever the qualities are, readability is a cornerstone.  If you can’t read the code, you can’t fix it. So how do you write readable code? I’ll give you my view but it’s like books, what I find enjoyable may be different from you.

read more »