Executable Requirements in Practice

Table of Contents

Session type: Workshop
Duration: 120 minutes

This workshop is based on the one presented by same organizers at the XP 2009 conference.

Abstract

Executable requirements neatly combine two important XP practices: user stories and acceptance testing. They enhance communication, ease following the number of "running tested features" during an iteration, and work as regression tests in future iterations. This workshop doesn't only give an introduction to this important process, but also shows how it is used in developing a real system in front of the audience. Willing participants can even join the fun and get real hands-on experience.

Workshop description

Requirements in general, and executable requirements in particular, are
important for all project members (customers, developers, testers, ...) and this workshop has something to give to all these people. The workshop is suitable for both practitioners and beginners. Beginners will get a deep introduction of executable requirements and see how the process works. Practitioners can deepen their knowledge, share their experiences, and also get hands-on experience.

Workshop starts with short introduction of executable requirements and Acceptance Test Driven Development (ATDD) process. The ATTD workflow, Discuss-Distill-Develop-Demo, is explained to provide frame for rest of the session. Additionally Robot Framework, the tool that is used to automate acceptance test cases, is briefly introduced.

Preparations start by explaining an existing, partially complete application which will be developed further during a mini-iteration. Existing acceptance tests are demonstrated to provide understanding how acceptance testing has been conducted earlier. One of the organizers will play the role of the customer who will make the final decisions during the Discuss and Distill phases with help from the audience. Organizers are leading the development and automation teams, but the audience can participate in these actions if they like.

After the preparations a simulation with one full ATDD-cycle is run. The steps of the simulation are:

Discuss (10 minutes) Starting point of discussion is a prioritized list of user stories with development effort estimates. The customer selects items to be developed during the iteration and general discussion about the selected items follows.

Distill (20 minutes) Acceptance test cases are generated in co-operation
between the customer and the development team with one of the organizers
acting as a facilitator. Facilitator helps to write down the test cases as format of executable requirements. Also other participants can take part in the discussion and help to specify the needed test cases.

Develop (30 minutes) For the development there are continuous integration system and version control in place. Acceptance test cases are executed automatically after every commit and the report is visible in the CI machine's screen. Two projectors are used for showing the acceptance test implementation and the application development.

Acceptance test cases are developed by of one of the organizers with the help of the audience. At the same time other organizer is developing features using unit level test driven development. As soon as acceptance tests are ready, they are committed to the version control system. Progress is followed from the executed acceptance tests. If team is able to get the test cases and the development ready, all the test cases defined during the distill phase are passing at the end of the iteration.

Demo (5 minutes) Created functionality is demonstrated by running the
acceptance test cases and manually exploring the new features.

After the simulation there will be free discussion.

Biographies

The organizers are:
Pekka Klärck, Eliga Oy
Juha Rantanen, Reaktor
Janne Härkönen, Reaktor

Robot Framework concept is based on Master's Thesis by Mr Klärck (born
Laukkanen). Mr Rantanen has written his Master's Thesis about using Robot Framework for ATDD. The organizers form the core development team of Robot Framework and have plenty of experience in organizing trainings on test automation and ATDD.

Mr Klärck and Mr Rantanen have participated on Agile Alliance [Functional
Testing Tools Visioning Workshop|http://www.agilealliance.org/show/1938] presenting the concept and implementation of Robot Framework and how to use Robot Framework with ATDD. Mr Klärck also participated Agile Alliance Functional Testing Tools Open Space Workshop.

Enter labels to add to this page:
Please wait 
Looking for a label? Just start typing.
  1. Jul 23, 2009

    Vasco Duarte says:

    Will the simulation you describe be played (keyboard in hand) by the attendants ...

    Will the simulation you describe be played (keyboard in hand) by the attendants or by the presenters?
    Will the participants learn the "process" of defining executable tests and then the tool is used as an example? or will the session be focused on the actual description in the tool of the executable requirements?

    1. Jul 31, 2009

      Juha Rantanen says:

      Presenters will do all hands-on work but that will be only small part of the sim...

      Presenters will do all hands-on work but that will be only small part of the simulation. We want to show whole ATTD cycle (discuss, distill, develop and demo) and the idea is to concentrate on the process. This process pretty much requires a tool to be used, but we are not going to go into the details of the tool that is used. Learnings from this session can be applied regardless the actual tool used in real life.

  2. Jul 28, 2009

    Markus Hjort says:

    I personally attended this when you did this for the first time. However, the gr...

    I personally attended this when you did this for the first time. However, the group size was back then quite small (around 20 persons). What do you think is the limit for number of participants?

    1. Jul 31, 2009

      Juha Rantanen says:

      There is no limit, but with 20 participants there will be more interaction than ...

      There is no limit, but with 20 participants there will be more interaction than with 100 participants.