Dan North, Agile troublemaker, developer, originator of BDD

Dan North

Biography: Dan North

Dan 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: "Agile Operations - optimising the business one shell script at a time"

Track: Dev and Ops / Time: Wednesday 16:50 - 17:50 / Location: Falconer Salen

Building software used to be the bottleneck. The delays and hand-offs between groups meant you could go literally years without any delivery. Then came Agile with its co-located teams, automation, feedback and collaboration, which meant we could deliver quickly and respond to changes in business direction.

For a lot of firms freeing this bottleneck exposes the next constraint: getting things done across the organisation. They are structured according to a hierarchy which directly opposes the flow of value through the organisation, meaning more hand-offs and more delays.

Agile Operations combines Lean thinking and Agile development practices to addressing this constraint. In this talk, Dan introduces Agile Operations using real examples of refactoring business processes to achieve dramatic improvements, and describes techniques you can apply to your own situation. There will be shell scripts.

Tags: lean, agile, operations, automation, continuous-delivery, process

Presentation: "Patterns of Effective Delivery"

Track: Keynote / Time: Wednesday 18:35 - 19:35 / Location: To be announced

Some teams are orders of magnitude more effective than others. Kent Beck famously described himself as "not a great programmer, but a good programmer with great habits." Over the last year or so I've been working with, and observing, some very good teams with quite exceptional - and rather surprising - habits.

Are katas the best way to learn a new language? Is manual testing a waste of time? Is copy-and-paste always evil? Is the customer always right? In this talk Dan introduces the idea of delivery patterns - patterns of effective behaviour in delivery teams - and describes some of the more unusual but effective patterns he's been collecting. These are not patterns for beginners, but then again, Dan argues, patterns aren't for beginners anyway.

Presentation: "Where is the Quality in Agility?"

Track: Agile from the Outside / Time: Thursday 14:05 - 15:05 / Location: Falconer Salen

Quality is one of those hot button words. When you talk about quality being variable it can make people very uncomfortable. ("You can flex scope, time or budget but quality is not negotiable!")

In this talk, Dan proposes that quality applies on several levels: not only how well-written the software itself is, but the completeness of a solution and also its fitness for purpose. Using these three levers, Dan argues that quality not only can be flexible, but should be, and demonstrates how being agile can give you control of those levers.

Presentation: "UserGroupMeeting: ScrumForum Kbh. Kickoff"

Time: Thursday 19:15 - 20:15 / Location: Room 204/205

Sign up for the event here

Workshop: "Secrets of Agile Architecture"

Track: Agile from the Outside / Time: Tuesday 09:00 - 16:00 / Location: Room 204/205

We architects love a good framework. We like our abstractions, we like to design "enterprise" solutions, we like to mandate complex algorithms, or better yet to prescribe toolkits to enable other teams to implement complex algorithms under our expert guidance. If it looks like a good idea we slap the label "pattern" on it and tell everyone to do it.

Ok, maybe that isn't you. But it's likely you work in an organisation where the other guys do. So what can you do about it? Is this the only way to do architecture?

This tutorial looks at strategies and techniques to incrementally architect your way out of a legacy mess, and to set up new applications for success. 

During this one day tutorial you will learn, among other things:

  • the joys of a strong domain model, and how to evolve one.
  • how to use an anti-corruption layer as a border guard.
  • to get over your dependence on dependency injection frameworks.
  • not to have interfaces for everything.
  • that you can incrementally replace legacy apps more often than you realise.
  • how to successfully decouple subsystems.
  • the value of getting into production early.
  • not to fear integrating with third party libraries.
  • the courage to automate the things you should, the serenity to accept the things you can't and the wisdom to know the difference.
  • why "transfer object" is an oxymoron, and how to do remoting properly.

More importantly, you will learn to doubt what your experience is telling you, and instead to focus what's really there. Maybe.