How the customer
explained it

How the analyst
designed it

How the programmer
wrote it

What the tester
tested

What the customer
really needed

Bridging the Communication Gap is a book about improving communication between customers, business analysts, developers and testers on software projects, especially by using specification by example and agile acceptance testing. These two key emerging software development practices can significantly improve the chances of success of a software project. They ensure that all participants speak the same language, and build a shared and consistent understanding of the domain.

PROGRAM

Thursday 25 March

Registration + Breakfast

08h00 - 09h20

Open Conference

09h20 - 09h30

Challenging Requirements

09h30 - 10h30

Gojko Adzic will try to convince you that the established models of gathering requirements in software projects are bad and present an alternative model that leads to much less rework, more consistent specifications with less functional gaps and ultimately happier customers. Gojko will then talk how to apply this model for agile acceptance testing and behaviour-driven development.

Author of Bridging the Communication Gap
Agile Acceptance Testing: A Case Study

10h30 - 11h30

This case study looks at a project in which acceptance testing could not be performed agilely at the beginning. By looking at the measures taken to get the testing up to speed on agility, participants can benefit from our experience to improve the agility of the tests in their own projects. The talk starts by looking at the requirements for agile testing, after which the project where these requirements could not be upheld at the outset is introduced. The main part of the talk describes the problems we encountered on the journey to agility and the measures we took to overcome them. After presenting our experiences and our solutions to these problems (as well as the pitfalls to avoid!), the talk concludes with the benefits that we have noted from introducing agile acceptance testing to the project, including a vast reduction in the manual test phase, less stress before a release and fewer costly errors after roll-out. We hope that our journey to agility will help you on yours!
Break

11h30 - 12h00

Quality Code with Cucumber

12h00 - 13h00

Cucumber is a novel tool for Behaviour Driven Development. While early BDD tools like RSpec and Shoulda are geared towards programmers, classes and objects, Cucumber nicely fills the communication gap between customers, programmers and testers. This session will change how you approach requirements and testing of Ruby applications. In this session I will walk you through the development of a real application using Cucumber and BDD. You will learn how to install and run Cucumber and how to use it with other tools. I will also show you some common antipatterns and mistakes and how to write great features that talk to the whole team. The presentation will be in the form of a small, fast paced project, alternating between customer-team conversations and real-time programming with Cucumber and Ruby.
Lunch

13h00 - 14h00

JBehave in Action - BDD in a Java-based environment

14h00 - 15h00

We introduce BDD and JBehave for Java-based development environments. We explore the feature set of JBehave and show its use in IDE, command-line and web contexts. We present some of the common pitfalls and propose some emerging best practices based on the lessons learnt in using it in commercial projects.
Acceptance Testing with an agile remote team

15h00 - 16h00

Getting customers for the first time into the agile set of mind is never easy and difficulties are even greater when trying to define an Acceptance Testing procedure with them. Our case study highlights how we managed to have the full involvement of the customer into the development process by structuring our iterations in a way that allowed us to have a precious feedback as soon as stories were implemented. To make things even more interesting we operated with a representative of the team at the customer's site constantly connected to the rest of the remote working group.
Break

16h00 - 16h30

Live Agile Testing with GUIdancer

16h30 - 17h30

This presentation gives a live demonstration of agile testing with GUIdancer. It shows some of the factors that are involved in agile development processes, from the view of the acceptance tester. The demo charts the progress of an agile team over a series of sprints. For each sprint, the user stories are presented by the customer and discussed by the development and testing team. The story is then formulated so that the acceptance test is defined as a part of the story. While the development team works on the implementation, the testing team begins to write acceptance tests for the software being developed. The tests will be developed in real time, during the demo. Over the course of the sprint, questions and misunderstandings are cleared up, so that both the tests and the software reflect the customer?s wishes. The sprint ends with the presentation of the software (in the form of the running acceptance tests) for the customer. The aim of the demo is to use a light-hearted format to highlight some of the aspects which are important for agile testing and to demonstrate how these aspects are incorporated into GUIdancer. These include independence from the application which is being developed, communication with other team members, flexibility and abstraction in the acceptance tests and continuous integration.
A Roundtrip on Acceptance Testing

17h30 - 18h30

In this session, we will take position in the customers brain: what does he expect from agile teams? We will talk about how you build trust, how you can increase your business value and how to avoid pitfalls in acceptance testing. This session is about building relationships and increasing value as a team for the customer, rather than implementing practices and tools. We step away from the process-centric insiders view on agile (but we do Scrum!) and discuss acceptance testing from the outside in.

Typical issues that we raise, are:

- what the customer really values rather than what he says he values
- what the customer really expects to see and hear during the demo
- what the customer really needs rather than what he say he needs

Friday 26 March

Registration + Breakfast

08h00 - 09h20

Open Conference

09h20 - 09h30

Coaching Teams over Acceptance Testing Hurdles

09h30 - 10h30

Teams face many hurdles when starting to integrate acceptance testing into their daily work. Some of the hurdles are technical but most are down learning a new approach where acceptance tests are pivotal to the work we do. Get some practical tips for what you can do to coach a team over these hurdles.
Testability

10h30 - 11h30

All applications can be tested, but not with equal ease or effieciency. Testability is the degree to which an application architecture or design lends itself to effective testing. In this talk I discuss the effect architectural decisions have on application testability. I assert that a testable architecture is inherently a better architecture, and demonstrate how testability in itself is an essential dimension in any architecture because of its relationship to good architectural patterns and practices. In addition to technical concerns, I explore how the organisational and political aspects of software development have an impact on the cost of testing. I will also take a look at simple techniques to improve testability in application
Break

11h30 - 12h00

Business-oriented keyword-driven testing with the ETA Framework

12h00 - 13h00

Ease of use and limiting maintenance to the testware are key to effective automated testing in any project. The short cycles of Agile approaches make maintenance even more important, and development is often test-driven. Keywords support all these important requirements very well, for any system and interface, and allow the tester to express tests in a natural way. The ETA Framework is free, powerful, supports several important test tools already (Selenium, WebDriver, Watij, ...) and is easy to extend with further interfaces and tools.
Lunch

13h00 - 14h00

Executable Requirements in Practice with Robot Framework

14h00 - 15h00

Executable requirements neatly combine two important agile development 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 gives an introduction to this important process. However, main focus is on demonstrating how the acceptance criteria can be converted to executable acceptance tests. Acceptance tests are automated using Robot Framework, an open source keyword-driven test automation framework.
Narrative FitNesse - Beyond Scenario Tables

15h00 - 16h00

Acceptance Tests elaborate a user story & are essentially behaviour specifications, expressing examples of how the application will actually be used. These should represent customer-intent in terms the customer understands. This session shows developers and testers how to transcribe their understanding of customer intent in a way that makes sense to customers. Using the popular BDD Given/When/Then approach to acceptance tests, participants will learn how to leverage the popular FitNesse application to replicate that approach.
Break

16h00 - 16h30

BDD with FitNesse and GivWenZen

16h30 - 17h30

FitNesse is a great tool for collaboration that continues to evolve and improve. FitNesse combined with BDD techniques and language is even more powerful. GivWenZen combines the language of BDD, using step classes influenced by Cucumber's step definitions and organization style, with the benefits of FitNesse's table types. The goal of this session is to show how to use GivWenZen to focus on communicating story value. I will walk through implementing two simple stories that show how to use the GivWenZen features and evolve the tests while retaining maintainability.

ABOUT

Join us!

Join us on March 25 - 26 in Belgium for our next exciting Agile community event. Two days of fun, inspiring talks and tool demos from speakers coming over from UK, Finland, Norway, Netherlands, Germany, Sardinia, Philippines...

LIMITED TO 75 PARTICIPANTS

What is Agile Acceptance Testing?

Agile Acceptance Testing is a technique for closing the communication gap between business, developers and testers. A way to write specifications as examples which become executable. The specification are created together in a workshop and not handed over like traditional requirements.

Who is it for?

Anyone involved in the development of software projects. Business, developer, tester or ... this is where you will learn to work together, speak the same language and build a shared understanding of the domain.

You'll be in good company because our events attracs participants from all over Europe.

What does it cost?

Early bird [until February 27th, 2010]:

99 EUR*

Normal Price:

150 EUR*


*All prices are exclusive VAT



Includes:
- Two days of fun and networking
- Breakfast, lunch
- Goodies

Where is it?

IBBT
Zuiderpoort Office Park
Gaston Crommenlaan 8 (bus 102)
B-9050 Gent-Ledeberg
Belgium

View Map

How to register?

Who are the organizers?

AGILEMinds is an Agile consultancy and training company located in Belgium. We have an extensive and proven experience in delivering value to startups, govermental, banking and insurance companies.

We regularly organize events, workshops, open spaces and other fun stuff while always keeping the human factor in mind. We're passionate about supporting the Agile community in Belgium and abroad.

SPONSORS

Ready to support the community?

Click here to become a sponsor NOW!