RSS RSS feed | Atom Atom feed

What to do when Scrum doesn't work

Keynote slides from Scrum Gathering, Cape Town

Here are the slides from my keynote at the Scrum Gathering in Cape Town.
Positive atmosphere and lots of laughs, really enjoyed the audience! The whole topic felt a bit like poking a stick at a hornet's nest, but it looks like I got away with it, at least so far :o)

Slide samples:
Scrum Zombies

Sadoscrumism
Wrong tool vs Tool wrong

Kanban for Scrum practitioners

Slides from my deep-dive workshop at Scrum Gathering, Cape Town

Here are the slides from my deep-dive workshop at the Scrum Gathering, Cape Town:
Thanks for attending! Lots of interesting questions and insights came up during the workshop.

Sample slide:
Setting WIP limits

Leading Lean Software Development with Mary Poppendieck

Sep 16-17 in Stockholm

On Sep 16-17 Tom & Mary Poppendieck will once again come to Stockholm and teach a lean course with me. "Leading Lean Software Development" is aimed at leaders in organisations that are serious about succeeding with Lean software development.

The course also includes an evening seminar on Sep 15.

Save SEK 2000 by registering this week (early bird price expires on Friday Aug 20).



There are still a few spots left, more info and registration here:
http://www.crisp.se/leadinglean/20100916

Join us!

Kanban and Scrum - making the most of both

Slides from Agile 2010, Orlando

Here are the slides for my session Kanban and Scrum - making the most of both at Agile 2010, Orlando. Thanks for participating!
For those who didn't get a hold of the handouts, here is the Kanban Kick-Start Example and the Scrum Checklist.

I was a bit worried that the participants would be tired & unengaged since this was the last session of a week long conference. But I threw in some exercises and jokes to liven things up and was happy to see that everyone seemed highly engaged througout the whole session! The course feedback forms confirm this - the average rating of the session was 5.0 out of 5! Every one of the 85 feedback forms said 5. How to improve from here? :o)

Sorry for those of you who couldn't get in (the room filled up quickly). These links may be of interest to you:
Slide excerpts:
Kanban Scrum estimation

Scrum sprints and Kanban cadences

Scala Code Kata Roman Numerals

Babysteps Scala

There's a Scala User Group in Gothenburg that had several meetings during this summer.  In one of the meetings the group solved a Kata named KataRomanNumerals (A Kata is a small problem that you do over and over again to learn)

The KataRomanNumerals says you should write a function to convert from normal numbers to Roman Numerals: e.g.
     1 --> I
     10 --> X
     7 --> VII

Unfortunately I could not attend at this meeting, so I had to do it on my own during a few summer nights when my family finally was asleep :-).

Here's my solution:

  object Program extends Application {

    class RomanInt(number: Int) {

      def toRomanString() = {
        val ones = List("", "I", "II", "III", "IV", "V", "VI", "VII", "VIII", "IX");
        val tens = List("", "X", "XX", "XXX", "XL", "L", "LX", "LXX", "LXXX", "XC");
        val hundreds = List("", "C", "CC", "CCC", "CD", "D", "DC", "DCC", "DCCC", "CM");
        val thousands = List("", "M", "MM", "MMM");

        thousands(part(1000)) + hundreds(part(100)) + tens(part(10)) + ones(part(1))
      }

      def part(digit: Int) = {
        number % (digit * 10) / digit
      }

    }

    implicit def Int2RomanInt(number: Int) = new RomanInt(number)

    println(154.toRomanString()) // prints 'CLVIII'

  }

Here's the code with better formatting.

Please comment and correct if I didn't write idomatic Scala or if you have suggestions for improvements.

/Hans

Highlights from USI 2010 and Lean SSC London

June and July have been busy months. I'd like to share a few highlights from other speakers in USI 2010 in Paris and the Lean Software and Systems gathering in London on which I had the honor of presenting.

Long term sustainable releases with 99% backward compatibility [USI 2010]
 
In "The challenges of long-term software quality in open source" Jürgen Höller  described how they worked in the Spring team to achieve 99% backward compatibility  by avoiding revolution and using evolution, even when radical new features are fit in. During the last seven years the Spring team have absorbed 4 major JDK's and 4 generations of J2EE.  I was sure this was possible and Jürgens team shows it is. A challenge to all of us the next time we want to restart from scratch :)

Learning to Learn - becoming a Lean startup [Lean SSC]

In this presentation Damon Morgan shows how they as a company now have reached a level where they continuously do set based engineering of business ideas. He showed using their Quote web page how experimenting with not so obvious changes lead to a jump in business leads. I noted another experience which I have seen -  when you get flow going, estimation is redundant.

Using Kanban to get knowledge and continuously improve [Lean SSC]

Benjamin Mitchell blew me away with his presentation. I had some seriously great laughs :) But there are some serious learnings as well. Benjamin has done some great efforts in experimenting with statistical process control in software. For example, he could demonstrate that a bulk part of the product portfolio wasn't generating value to cover the complexity it brought by.  But what does help if there isn't a thinking process in the organization capable of absorbing these learnings? I will highlights his takeaways,  which we all can improve on:
  • THINK for yourself in your context
  • Get KNOWLEDGE by studying your process as a system, end to end from the customer's point of view
  • RUN EXPERIMENTS  to learn while you work
...  If you have the chance, go see him.:)

Read more...

Tags :

Canned Wicket Test Examples

Can of worms, can it be?

Unit testing of the GUI is not the same as unit testing through the GUI. We are interested in the logic of the GUI rather than the placement and order of the GUI widgets on screen.

Testing the logic makes the tests less sensitive to changes in presentation but introduces the problem of JavaScript dependent features. AJAX is in the vogue so we wish to be able to do testing of that too without being forced to start a browser. There is some support for AJAX in Wicket that may be reached using the test framework that is part of Wicket. However, it is not straightforward to use and there are some pitfalls.

Here are three examples of avoiding those, one for each of the check box, drop down and radio group controls.


Read more...

Tags :

Go for success

What to pull into the sprint

Jeff Sutherland often talks about ready-ready. It sounded clear the first time I heard it. But I have recently got a deeper understanding of the concept. Here is my new understanding and why I think it's important for successful development.

Read more...

Experimenting with Kanban Principles at NDC 2010

My slides

  At the NDC 2010 conference I ran a workshop demonstrating the  principles behind Kanban (showing there is more too it than a visual workspace..) . My approach was to do it using a set of games.

Anyway, here are the slides

Ps:  A great conference for an old MSoft geek :)

Read more...

Tags :

Kanban and Value Stream Mapping workshop

Slides and pictures from my workshop at Agile Spain 2010

Here are the slides from my Kanban & Value Stream Mapping workshop at Agile Spain 2010 in Madrid. Thanks for participating!

Kanban workshop group 1
Kanban workshop group 2Kanban workshop dogfooding

The Essence of Agile

slides from my keynote at Agile Spain 2010, Madrid

Here are the slides from my keynote "The Essence of Agile" at Agile Spain 2010, Madrid. Basically a whole week's course compressed into a one hour lecture, worked out even better than I had hoped :o)

Impressed by the turnup, 300 people is good for being the first agile conference in Spain!

What is all this stuff?

Some Gotchas for Java Developers Learning JavaFX

Experiences from a workshop

In an earlier post, I had attached slides from a presentation on JavaFX that contained some code examples. I discovered that at least one of them, the ball game, stopped working when I switched to JavaFX 1.3.

I would say it is a quite subtle difference.

What happened was that the onKeyPressed and onKeyReleased were not called. My immediate reaction was that it was due to some bug in JavaFX but yesterday I realized what had happened.

Read more...

Limited WIP Stockholm #3 - Kanban from the trenches

The next Limited WIP Society meeting (Stockholm, Sweden) will be focused on experiences from the trenches. Six speakers testing Kanban will do 10min lightning talks, sharing their top 3 experiences.

When: Monday May 31:st 18.00 - 20.00
Where: Avega's office, Stockholm

How do I join? mattias.skarin( at )crisp.se


Read more...

Tags :

Agile and Architecture

Slides from my presentation

Yesterday I held a presentation on the subject "Agile and Architecture" at EDB. They have an internal competence network which meet regularly and discuss agile processes and methods.

My point in this presentation was that every system has an architecture that determines the qualities of it. Given a set of functions, different architectures will give these functions different qualities, such as performance and cost of maintenance.

This is still true, no matter if you do waterfall, RUP or Scrum.

Read more...

Slides from my keynote at Agile Estonia

Mind over matter

It was a blast meeting the Agile community in Estonia. What a vibe!
More to come on that subject .)

Anyway, here are my slides:  "Mind over matter"

Cheers

Read more...

Tags :

Lean vs Traditional Project Management

IMHO

This week, we have Mary Poppendieck with us. She held an evening seminar which inspired me to think about the differences between Lean and traditional project management. I also am inspired by the questions I get from my spouse on this.

I thought that it would be interesting to do a side-by-side comparison between the two. I am no process expert, I am just a programmer who has been the subject of 30 years of different processes. I have seen DOD 2167, RUP, PROPS, PEJL, XP, Scrum and a few others. So this is just my humble opinion.

Aspect Traditional Project Lean Comment

Read more...

System thinking and Kanban

This other day, I stumbled upon an article by John Seddon  - "Rethinking Lean Service" which had been laying around in my disk space for a while.

"Training workers against demand and ensuring they are responsible for what they do is preventative (the better alternative to inspection). All arbitrary measures (standard times, cost, targets and standards) are removed from the system and instead real measures are used to help managers and workers alike understand and improve the work. It is better, for example, to know the actual time it takes to complete transactions as ‘one-stop’; this improves resource planning. Similarly it is better to know the true experience of the customer for any work that goes through a flow (endto-end time or on-time-as-required) in order to improve the flow and, consequently, reduce costs. There are many examples of these principles in use, published examples include Pyke (2008), McQuade (2008), ODPM (2005), and Jackson, Johnstone and Seddon (2007), Seddon and Brand (2008).

At its heart, the systems archetype is concerned with designing against customer demand, managing value rather than cost. And this is the heart of the paradox: when managers manage costs, costs go up; when they learn to manage value, costs fall. It is a counter-intuitive truth.
"

It struck me how these principles can be deployed using a Kanban system:
  • design against customer demand : create the kanban board starting with the demand
  • focus on value creation over cost elimination: set highest priority in completing work before accepting new. Use WIP limits to ensure that is happening.

  • know the actual time it takes to complete the transaction as "one stop" : learn the cycle time of flow and use this to plan resources rather than spent time
Maybe Kanban is well suited for services?

Read more...

What is Crisp?

What we are and how we figured it out

If you enter the Crisp office you will see these two A3 papers on the wall (click picture for bigger version)

What is Crisp

Crisp Strategy

Here is an english translation of these pictures.

The first picture is titled "What is Crisp?". It defines our purpose.
The second picture is titled "Crisp strategy". It defines how the company works and why.

Read on if you are curious about how and why we created these simple A3 pictures, and why it has had such a strong impact on our company.

Read more...