Introduction to Specification by Example

109 views
Skip to first unread message

Frauke Quik

unread,
Nov 20, 2018, 6:20:15 AM11/20/18
to Specification by Example
Hi!

I have been asked to give a 30-40 minute introduction to Specification by Example for a group of Agile coaches. They've asked me to make this an interactive session. I fully understand that one of the main principles behind Specification by Example is that people learn by making explicit what they think and know about a topic by actively engaging with it. and then contrasting this understanding with other people's understanding. So I'm highly in favor of making this interactive.

I'm just not really sure what to do to make it interactive, since it's basically a meta situation where I don't feel I have enough time to fully let them engage with the method (such as using black jack as Goijko did during the training).

My main points are going to be about:
  • the necessity of creating shared understanding
  • how by using examples we can overcome the ambiguity of language and some of the difficulties of communication
  • that people from different disciplines come with different perspectives, leading to a more complete picture of what is needed

I might throw in the Cynefin framework (because they've recently become familiar with this framework, so it's useful to incorporate it as a hook), stating that when writing software everything needs to be reduced to a "simple" situation (similiar to when Goijko said that during programming is the first time that people fully describe the system), while in people's minds, their knowledge of the system to be built might be in chaos, complex or complicated.

I could of course use the 5/10 pointed star! And I could ask people for examples of times when communication about a system to be built went wrong. But I hope there might be a nice exercise for the entire group (probably about 10-15 people) that I could use to illustrate one of the above points.

Can anyone help?

KentMcDonald

unread,
Nov 21, 2018, 11:31:32 AM11/21/18
to Specification by Example
Hi Frauke,
I've found this presentation on example mapping to be a good interactive introduction to specification by example.  It may not in its current form explicitly address all the points below, but there is room to revise some of the talking points.  The interactive part is giving folks some time to try actual example mapping.

Kent

Frauke Quik

unread,
Nov 22, 2018, 12:57:57 PM11/22/18
to Specification by Example
Hi Kent,

Thanks for sharing your method/explanation! I'm definitely going to see if I can use this to help illustrate one of the points. I'm aware of this method and in my experience it does take a while for people to get going (because they're also getting acquainted with the method and can be worried about doing it "wrong"). So it might be a bit of a leap to go from here to understanding one of the (way more abstract) points, given the short time frame. Do you have any tips to help with that?

I'm also thinking about using a feedback question. Do you, or does anybody have any experience with that? Like a good example question just to illustrate that method?

Kind regards,
Frauke

Op woensdag 21 november 2018 17:31:32 UTC+1 schreef KentMcDonald:

KentMcDonald

unread,
Nov 24, 2018, 4:50:35 AM11/24/18
to Specification by Example
Frauke,
You're welcome.

I've found that people grasp the key points via doing the exercise that they should discuss the expected behavior of the solution in certain situations, create a shared understanding of that behavior and discuss that behavior in terms of examples.  If they get that bit, it's really the only abstract point I'm concerned about them picking up to start off with.

Understanding of the other abstract points is not critical to them to start using the technique effectively.

Frauke Quik

unread,
Nov 24, 2018, 7:49:26 AM11/24/18
to Specification by Example
Kent,

You are absolutely right that it's not needed to understand all the abstract points when you are just going to use the technique. However, this is a presentation for a group of agile coaches responsible for an agile transformation. So they will never use the technique themselves. It is exactly these abstract points that I want to convey to them.

Kind regards,
Frauke

Gojko Adzic

unread,
Nov 25, 2018, 6:44:45 AM11/25/18
to specificati...@googlegroups.com
Hi Frauke,

As you already mentioned, Jerry Weinberg's point/star problem works well with larger groups. I wrote about that in Bridging the Communication Gap, there is a small write up on my blog as well (https://gojko.net/2008/08/29/how-many-points-are-there-in-a-five-point-star/). In smaller groups, you may not get that much difference. 

On a meta-level, problems with personal names tend to work well for a shorter exercise because people make silly assumptions about personal names, and everyone can relate to that. In the SBE workshop we sometimes do a payment cheque printing exercise, that involves two systems (an employee record system and a printing system), which may have different constraints (database field length vs space on a payment cheque, character sets supported, validity...) something like that can show the meta points relatively quickly, in an interactive way.

gojko



--
You received this message because you are subscribed to the Google Groups "Specification by Example" group.
To unsubscribe from this group and stop receiving emails from it, send an email to specificationbyex...@googlegroups.com.
To post to this group, send email to specificati...@googlegroups.com.
Visit this group at https://groups.google.com/group/specificationbyexample.
For more options, visit https://groups.google.com/d/optout.
Reply all
Reply to author
Forward
0 new messages