|
|
|
<<< Previous speaker
|
next speaker >>>
|
Author BDD Dan North, ThoughtWorks
Dan is a principal consultant with ThoughtWorks, where he writes software and coaches teams in agile and lean methods. He believes in putting people first and writing simple, pragmatic software. He believes that most problems that teams face are about communication, and all the others are too. This is why he puts so much emphasis on "getting the words right", and why he is so passionate about behaviour-driven development, communication and how people learn. He has been working in the IT industry since he graduated in 1991, and he occasionally blogs at
dannorth.net
|
Presentation: "Pimp My Architecture"
Time:
Friday 16:15 - 17:00
Location:
To be announced
Abstract: I didn't ask for this mess - it was here when I moved in. You can see where the previous tenants have botched one job after another. Amateurs every one of them! The place isn't even structurally sound, and you can see the layers of old wallpaper where they have "decorated". Three of the rooms have almost the same stuff in them and there's one door that doesn't even lead anywhere. The services are coupled to the clients, the database schema has leaked out and left a nasty stain all over the UI, and the noise and smell from the deployment process is just unbearable.
The trouble is, my landlord is (understandably) reluctant to let me burn it all down and start over. It's too risky, too expensive, and besides there are lots of other people living here and we can't move them all out during the renovations.
So, join me as I try to pimp my architecture within all these constraints - whilst trying to keep the noise down and not disturb the neighbours. It can't break any downstream dependencies, and we don't want any down time or regression defects when you go into production.
Training: "Behaviour-driven development: writing software that matters"
Time:
Tuesday 09:00 - 12:00
Location:
To be announced
Abstract:
Behavior-driven development (BDD) is an evolution of the ideas behind agile
software delivery. With its roots in test-driven development, domain-driven
design, and automated acceptance testing, BDD focuses on the ways an application
is expected to work - its behaviour. By constantly reflecting on the varied
points of view of different stakeholders, BDD helps ensure that product owners
and the development team are in sync on what is really needed and what to work
on next.
In this highly-interactive session, Dan North introduces the principles
behind BDD and describes how it works in practice. He provides an overview of
the methodology of BDD: understanding your domain and who your stakeholders are,
identifying and exploring requirements, automating acceptance criteria, and
delivering working and tested software. Dan then looks at the nature of change
and describes how to implement BDD in different contexts, including applying it
to an in-flight project, managing distributed or large-scale development, and
working with legacy systems. Dan encourages both experienced and novice agile
managers and practitioners to join this session and bring with them their
current challenges—and war stories.
Training: "Test Driven Development for Java"
Time:
Wednesday 09:00 - 17:00
Location:
To be announced
Abstract: This tutorial demonstrates the development of a small system using test-driven development and supporting technologies. The system will comprise a handful of Java classes that exemplify typical components found in enterprise applications, including domain objects, a service layer, and gateways. The tutorial presents two complementary approaches to TDD: state-based testing and interaction-based testing. Both approaches will be discussed in depth during the development of the system, and benefits of each approach will be highlighted and contrasted. The tutorial also covers common trade-offs and edge case, e.g. how to deal with testing private methods and when not to use dynamic mocks but hand-crafted stub objects. The implementation will use modern technologies such as JUnit 4, Hamcrest, and Mockito. Attendees will gain an understanding of how proper use of test-driven development fosters good design; through decoupling and interface discovery for example. Attendees will also gather a nice catalogue of the most commonly used patterns used in conjunction with test-driven development.
|
 |
| |