Dan North

Principal at Dan North & Associates

Talk

Microservices: software that fits in your head
Friday 11:05 - 11:50
Topics:
Microservices
Architecture
Simplicity
Design
Level:
General

Applications get complicated fast. Most of good architecture and design practise is about trying to slow the rate at which software gets complicated. You can’t stop it, it’s a form of entropy. You can only slow it down and do your level best to stay on top of things.

One way to manage the mess is to maximise the likelihood that everyone knows what’s going on in the codebase. This requires two things: consistency and replaceability. Consistency implies you can reason about the application at various level of detail. Replaceability means you can kill code easily and replace it with something better.

Dan argues that code should either be new enough that someone remembers writing it, or well-enough established that everyone knows how it works. It’s code in that awkward middle stage, between brand new and part-of-the-furniture, that gets forgotten about and starts to smell. If code is going to die it should die quickly. If it is going to stick around it should be stable.

In this talk, Dan describes a model for thinking about the age of code and argues for replaceability as a first class concern. He also discovers that if you optimise for both replaceability and consistency you get something that looks a lot like microservice

Talk

Embracing uncertainty: why you should and why you won’t
Thursday 09:05 - 10:05
Topics:
Trade-offs
Risk
Discovery
Options
Level:
Intermediate

Over the last few years Dan has been working with and studying teams who are dramatically more productive than anything he's ever seen. They produce in weeks what would take other teams months, and iterate in days rather than months. One of the central themes he's observed is their ability to embrace uncertainty, holding multiple contradictory opinions at the same time and deferring commitment until there is a good reason.

Uncertainty lies at the heart of agile delivery and is one of the primary reasons organisations struggle with agile adoption: it turns out we are desperately uncomfortable with uncertainty, so much so that we will replace it with anything, even things we know to be wrong. In this talk Dan shows how we have turned our back on the original Agile Manifesto and explains why understanding risk and embracing uncertainty is fundamental to effective delivery, and also why it is so scary. He describes how Real Options and Deliberate Discovery can help make life more manageable and invites you to embrace uncertainty. He is pretty sure he won’t succeed.

Workshop

Testing, Faster
Tuesday 9:00 - 17:00
Topics:
Testing
Patterns
Techniques
Agile
Level:
General

After completing the class, participants will be better able to:

  • Identify and apply a number of testing techniques and methods.
  • Make design choices that promote testability.
  • Understand and implement non-functional testing strategies for e.g. performance and resilience testing.
  • Make suitable cost benefit trade-offs for testing throughout the application lifecycle.
  • Recognise the diminishing return of different testing techniques and avoiding over-testing.
  • Apply consistent testing techniques within and across applications.
  • Understand and develop the role of test analysts.
  • Introduce instrumentation, analytics and telemetry into their development approach.
  • Classify testing techniques by various characteristics and describe their respective merits and trade-offs.
  • Apply a risk-based approach to recognising missing or inadequate testing.
  • Apply feature management techniques like semantic versioning and feature hiding.

Topics:
  • Test Strategy
  • Test Design
  • BDD
  • Designing for Testability

Workshop

Software, Faster
Wednesday 9:00 - 17:00
Topics:
Patterns
Techniques
Delivery
Advanced
Effective
Level:
Advanced

Formerly Accelerated Agile

Great software professionals build better software faster. Agile methods, continuous delivery and software craftsmanship helped speed up delivery from years to months or even weeks, but then what?

Some teams are able to deliver software at a speed of change like you have never seen before, delivering quality software in days or even hours, again and again. So what is keeping the rest of us from doing so? Now is the time to go from months to minutes, to rethink the way we organize and improve our software development and delivery process.

Software, Faster is for people who believe it can be done. People who feel themselves limited by current Agile, CD and Craftsmanship thinking. People who want to go back to basics and uncover new, simpler ways to deliver great software.

Are you a seasoned agile developer who is frustrated at how slow your “hyper-performing” process feels? Are you suffering with an unwieldy feature backlog, the pantomime of estimation, the card wall where cards go to die, the efforts to automate where it obviously isn’t adding anything? Are you fed up with the artificial commitment of sprints and the unwelcome surprises that still seem to derail your projects?

Software, Faster brings agile principles into the 21st century. You will learn new techniques that both enhance and replace existing agile practices, some of which are counter-intuitive and many which are completely counter to current “agile” doctrine. Using a mixture of discussion, instruction and exploration you will start to think differently about design, architecture, development and testing, operations, automation and team dynamics, as well as working with legacy systems and integrating with third parties.

What you will learn:

  • How to challenge the received wisdom of established Agile methods
  • How to design and architect for rapid and sustainable delivery
  • Why understanding risk and embracing uncertainty are at the heart of faster delivery
  • How to manage build, release and operations
  • How systems thinking can help you plan effectively and estimate accurately
  • How to identify and reduce gaps in your testing strategy
  • How to engage with legacy systems and integrating with third parties
  • How to manage different levels of skill and experience within a team

About

Programmer and organizational change specialist Dan North applies principles from lean operations and agile software development to help organizations align their technology capabilities with their business objectives. With over twenty years of experience in IT, Dan is a frequent speaker at technology conferences worldwide, has published feature articles in numerous software and business publications, and contributed to The RSpec Book: Behaviour Driven Development with RSpec, Cucumber, and Friends and 97 Things Every Programmer Should Know: Collective Wisdom from the Experts. The originator of Behaviour-Driven Development (BDD) and Deliberate Discovery, Dan is currently working on his book, Accelerated Agile – from months to minutes, and helping organizations radically improve their delivery. He blogs at http://dannorth.net/blog.

GIVE US
FEEDBACK

Create account

You need an account to save events.

Already have an account? Sign in

Sign in

Sign in to save events.