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: "Adventures of an Agile Architect"
Track: Agile in Practice
Time: Tuesday 11:30 - 12:30
Location: Store Sal
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. Oh, and the builders say they can't work together.
So, join me as I try to rearchitect my house from top to bottom 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.
Keywords: Agile, experience, architecture, change, coaching, patterns, SOA
Target audience: Developers, Agile coaches, architects, people trying to introduce change
Workshop: "Behaviour-driven development: writing software that matters"
Time: Sunday 09:00 - 12:00
Behavior-driven development (BDD) is an evolution of the ideas behindagile software delivery. With its roots in test-driven development,domain-driven design, and automated acceptance testing, BDD focuses onthe ways an application is expected to work - its behaviour. Byconstantly reflecting on the varied points of view of differentstakeholders, BDD helps ensure that product owners and the developmentteam are in sync on what is really needed and what to work on next.
In this highly-interactive session, Dan North introduces theprinciples behind BDD and describes how it works in practice. Heprovides an overview of the methodology of BDD: understanding yourdomain and who your stakeholders are, identifying and exploringrequirements, automating acceptance criteria, and delivering workingand tested software. Dan then looks at the nature of change anddescribes how to implement BDD in different contexts, includingapplying it to an in-flight project, managing distributed orlarge-scale development, and working with legacy systems. Danencourages both experienced and novice agile managers and practitionersto join this session and bring with them their current challenges—andwar stories.