Tag Archives: requirements

Bragging: 100% coverage, specification by example and pair programming

Posted on by

Yesterday we ended our second two-week sprint and on the demo, besides showing the system, we could do some bragging about test coverage using our Sonar dashboard.  We also could show Fitnesse tests at system level that implements the specification by example technique, or like some say, executable requirements.

read more »

The power of open-ended requirements

Posted on by

David Barnholdt and I recently attended a 1-week PSL workshop (Problem Solving Leadership) with Jerry Weinberg, Esther Derby, and Johanna Rothman, one of the best courses I’ve ever attended. After that course we’ve been thinking about ways to make our own training courses more interactive.

David was first out and invented a brilliant exercise demonstrating the power of open-ended requirements. I built upon that idea and tried out my own variant for the first time last week, with 20 people divided into 4 teams. Here’s what we did:

Step 1 – follow open-ended spec:
Team 1 & 2 were given the task "Draw a summer meadow", Team 3 & 4 the task "Draw a christmas card". The teams were given direct access to the customer (me & Arne, my co-teacher). When they showed prototypes and asked for detailed requirements we were cooperative but gave only high-level answers such as "I want the picture to make me long for summer" or "Some more life would be nice", letting the teams figure out the implementation.

Step 2 – write detailed spec:
The teams were now asked to write a detailed specification for their picture, so that offshore teams could re-create the same exact picture as closely as possible. Due to "bandwidth cost restrictions" we only allowed written text in the specification :o)

Step 3 – follow detailed spec:
Send the spec to the "offshore team" – i.e. team 1 & 3 swapped specifications with each other, and team 2 & 4 did likewise. No communication between the teams. So now each team had to try to recreate the other team’s exact picture using only an overly detailed spec ("draw a 2.5cm wide blue cloud 2 cm under the top-left corner"….etc)

Step 4 – art gallery
All pictures up on the wall. Each person got to grade each picture (draw 1-5 dots on it) indicating which pictures they would most like to take home.

Step 5 – debrief
Not surprisingly, in 3 of 4 cases the "offshore team" pictures from step 3 were significantly uglier. See the examples below. We talked about open-ended specs vs detailed specs, and how this can impact the overall quality of the product. We also talked about how each of the first three steps felt like. Several people mentioned that they recognized the feeling (and result) from real projects they’d been in.

My conclusion:
Fun exercise! The debrief part was a bit too rushed and controlled from my part, I should have been more open-ended there (go figure…). And I might work on the timings. But everyone I talked to liked the exercise, and people referred back to it several times during the course, so I will most likely do this again!

Thanks again David :o)

So, here’s one of the examples. Guess which picture below was drawn to en open-ended spec and which was drawn to a detailed spec…

An exercise based on my PSL experience:The power of open-ended requirements

Posted on by

Today I held a class in Scrum and Lean.

I was then able to test some of my learnings from the PSL class in a exercises I made up just the day before.

The results were almost too good.

I divided the class in two groups (consisting of about 6 people each) and told them that they in this exercise would do a drawing during silence, following a requirement I would hand out.  The would only have one minute to complete the drawing.

I provided them with a number pencils in red, green and blue and one big piece of paper each.  Then I handed out one paper with the requirements to each group and started a visible timer counting down 60 seconds.

One of the groups got the following requirement:

Draw a beutiful summer meadow with blue and red flowers in green grass, some cows and birds under a shining sun.

The other group got the following requirement:

 

Draw a beutiful summer meadow with

  • 10 blue flowers with 5 petals each
  • 5 blue flowers with 6 petals each
  • 13 red flowers with 6 petals each
  • 2 cows with 3 black spots

  • 1 cow with 5 black spots
  • 2 cows with 4 black spots
  • 2 birds to reside in the upper left corner
  • 3 birds in the middle
  • one sun to the right with 5 sun beams

Before reading further, look at there drawings here and guess which drawing was made by which group.


Well, as you might have guessed, the drawing to the left was made by the group that got the open-ended requirements and the drawing to the right was made by the group with a lot of specification detail.  And that drawing does’nt even comply to the base requirement; a summer meadow.

And the cows are, although rich in detail, on the wrong angels.  – The group behind the right drawing had such focus on implementing every detail of the requirements that they forgot the main purpose of the “assignemnt”, to draw a meadow.

Do you recognize that from software development ?  I for certain do, and I do remember how boring it have felt implementing over-specified requirements.  I just wanted to get it over with.  Which I think is a very natural reaction when you are left with no opportunity for your own creativity. Or worse, find out obscure ways to put in your creativity anyway, in ways that might yeild even worse solutions.

I felt that the class got the same “ah” experience as I did myself on the PSL class.

Once again I have to give my appreciation to Jerry Wienberg, Esther Derby and Johanna Rothman.

The Problem Solving Leadership class continues to make a huge impact on my life.

It is the most expensive class I ever spent my money on in terms of actual swedish kronas, but not a cost but truly profitable in terms of the leverage it has on my consulting.

If you are a consultant like me and work with teams and leaders I think you can do no better investment than attending the next PSL class. It will be held in late march, check it out and click here!