Sessions Synposis 2011

Kevlin Henney

Keynote:A Question of Craftsmanship

Although a great deal of the enthusiasm for Agile development initially grew from software developers, much of the current focus in Agile circles has moved on to organisational aspects, product management and soft skills. Craftsmanship has long been a quality and a metaphor applied to software development, but more recently software craftsmanship has emerged as a more explicit movement and branding focused on reclaiming and re-emphasising the importance of the detail, of how to code and how to do it well. There are many different perspectives on what the craftsmanship metaphor implies and what benefits and liabilities it may have. This session lays out and explores the motivation, implications, pros and cons of a craftsmanship view of software development.

Mary & Tom Poppendieck

Keynote: First Build the Right Thing, Then Build the Thing Right

There are two keys to success in building a software business. First of all, if you build the right thing, the world will beat a path to your door. This isn’t as easy as it sounds, but the Lean Startup movement has pioneered techniques to help you discover offerings that will entice customers to send money your way. The second step is to build that thing right. Software is essentially complex, and that complexity tends to increase dramatically with time. Applications usually start out simple, but they inevitably grow messy and difficult to change over time. The Agile Development movement has perfected techniques that help you contain complexity and make changes safe and cost-effective. Mary Poppendieck will outline today’s thinking on how to discover the right product to build, and how to develop robust systems that will remain flexible as they grow over time.

Workshop: Value Stream Mapping

Have you ever wondered what a value stream map is? Very briefly, it’s a technique for looking at your internal processes from your customer’s point of view. You follow a customer need through your process and discover how long it really takes, and how much of that time is spent actually adding value. A value stream map will open your eyes to lots of hidden waste in your process, giving you the opportunity to tackle the underlying cause of that waste. This workshop will walk small groups through the process of creating a value stream map for a real process, one used by someone in the group. Then the value stream maps will be analyzed by the workshop leaders and colleagues in the workshop, giving everyone an opportunity to learn how to develop and leverage value stream maps.

Agile in Cornwall case study

Allan Kelly and Michael Barritt plus Research Instruments & Sullivan Cuff Software Ltd.

The Cornish Agile programme was established as part of the Convergence Funded Grow Cornwall Programme with the aim of helping companies which write software in Cornwall adopt Agile and Lean methods.

To date the programme has helped over more than half a dozen companies working in medical software system, web development, embedded devices and other areas and is still working with more.

This case study will describe how the programme works and what has been found to be effective. Two of the companies who have taken advantage of the programme will contribute their own stories of how Agile has helped them and how Agile is helping them improve further.

Jerrett Myers – Towards Agile Government

Working with a high level Taskforce, the Institute for Government explored the key challenges facing government as it spends around £16 bn on ICT each year. We concluded that in a fast paced world driven by rapidly changing technology, government ICT was struggling to get the basics right and falling further and further behind. This manifested itself in long procurement timescales, project delays, commercial and supplier problems, high costs of change, over customisation, a low user focus, and obsolete requirements. Our report, System Error recommended a new dual approach to government ICT that emphasises adaptability and flexibility in procurement and delivery while retaining the benefits of scale and collaboration across government. We described these twin tracks as ‘agile’ and ‘platform’. Both these elements feature prominently in the Government’s ICT strategy, which promises that Government will “apply agile methods to procurement and delivery to reduce the risk of project failure” and introduce a “common ICT platform”. Implementing many of these changes will be extremely challenging. For example, the transition from a traditional method of project management to an agile approach requires a change of organisational culture and the acquisition of new skills as well as totally rethinking many of the traditional, linear procurement processes. This session will discuss the System Error report, the government’s ICT strategy and progress towards achieving a more agile approach in government ICT.

Lorna Mitchell – Tool up Your LAMP Stack

With the LAMP (Linux, Apache, MySQL and PHP) stack growing and growing in popularity and adoption, let us take a moment to examine the tools available for working with and supporting that stack with the aim of making the technology the least of our worries! This session takes a look at tools for source control and deployment, efficient project delivery, and managing the workflow and collaboration of development teams. As well as a purely technical overview, we’ll talk about how to choose which options will work for your scenario, and discuss how to manage technical change within an organisation. Recommended for technical leaders and anyone working with LAMP.

Jason Gorman – The Software Craftsmanship Imperative

We live in a world reliant on software. Modern economies are information economies, and if the trend continues, in 50 years time there’ll be no aspect of our lives that doesn’t rely on software to some degree. Our ability to create and to evolve and adapt useful, reliable software is increasingly becoming a limiting factor on our economies. In this presentation, we explore the underlying challenges for a world driven by software for us as creators of code, and why, for every organisation from tech start-ups to major corporations, software craftsmanship is becoming increasingly crucial to achieving long-term success.

Rachel Davies – Surfing the Agile Wave

Many software development organisations are keen to become more Agile. We dip our toes into the water with a pilot project or two. As each team gets deeper into Agile practice, they may get into trouble and sometimes it can be hard to tell whether they’re waving or drowning. We need to find where the submerged obstacles to Agility are and how to clear them out of the way. Come to this talk to learn what managers can do to buoy up Agile teams and build Agile capability across the wider organisation.

Roger Marlow – So you think you’re a problem solver?

There’s something vitally important to every technology, tool, process, project and methodology. It is also at the root of all their problems. We are drawn to, and are so adept at, processes and tools and yet we are so often inept when it comes to individuals and interactions. This talk explores what recognising this imbalance might mean for the development of Agile methods.

Jon Jagger – Coding Dojo exercise

A CyberDojo is a browser-based coding dojo specifically designed to encourage and practice collaborative test-driven development. Participants work in small groups. Each group works at a single computer, writing their code and tests inside a web browser, and submitting their code and tests to the CyberDojo server as often as they wish. The server saves the submission, runs the tests, and returns the test-outcome to the browser as a traffic-light: red if the tests ran and at least one failed, amber if the tests could not be run (eg syntax error), green if the tests ran and all passed. To encourage collaboration the server periodically plays a round of “musical chairs” by asking the keyboard drivers to take up a non-driver role at the new computer. A CyberDojo is fun and a great learning experience. Don’t forget to bring a wi-fi enabled laptop with a modern browser installed.

Allan Kelly – Objective Agility

Everyone wants to be Agile, or so it seems. But what does that mean? What does the Agile company do that others don’t? There is more to being an Agile company than doing Scrum. In this talk Allan Kelly will consider what it means to be Agile and what you need to do to be an Agile company, rather than a company which just follows an Agile method. He will outline the three different ways we use the word “Agile” – Agile methods, Agile Toolkit and the state of Agile. In doing so he will discuss customers, project design, strategy and portfolio management and how these need to work together to achieve Agility.

Chris Parsons – Beware: Sharp Tools

It’s easier to be agile when your environment is flexible and adaptable. Web based technologies allow changes to code and deployment in a few seconds, driving down the time we need to fulfil customer requests. This extra flexibility is a great advantage, but it comes at a cost. “Sharp” tools are very useful: but it’s easy to cut yourself using them unless you know what you’re doing. Without the safety wheels of strong typing and compilation checks, dynamic languages are fast to work in but unless you apply good software practice to your code you’ll end up in a mess, and have to rewrite it every few months. This talk will detail some of the software engineering techniques you’ll want in your toolkit to ensure you won’t be up at night worrying about whether your code is working.

Stuart Mitchell – HSBC case study

Agile from the trenches will allow attendees to ‘kick start’ their agile project no matter their size or complexity. To learn from the mistakes made by others and to understand why some things work and others fail. All attendees will be given a quick ‘How to Guide’ and free access to 2 pivotal agile documents.

James Lewis

Lean and Lego – Building the Millenium Falcon

Do you know what high performing agile teams get up to in their time off? Why, they use a lean process to build the largest lego set ever produced of course. In this talk I explore what happened to these intrepid engineers as they self-organised themselves into a lean, mean, lego-building machine. Along the way I will introduce key concepts from lean software engineering including cycle-time and throughput, continuous process improvement, stopping the line, work-in-progress limits and the value of play. So, have you ever been a child? Ever played with lego? Ever wondered what self-organisation and lean really look like? If so, come along and watch Han Solo, Luke Skywalker and Chewie turn 5000 pieces of lego and a 300 page manual into a ship that can do the Kessel run in less than 10 parsecs…

Steve Freeman

Sustaining Test-Driven Development.

This talk is about the qualities I look for in test code that keep the development “habitable”. I want to make sure the tests pull their weight by making them expressive, so that I can tell what’s important when I read them and when they fail, and by making sure they don’t become a maintenance drag themselves. I need to apply as much care and attention to the tests as I do to the production code (although the coding styles may differ). Difficulty in testing might imply that I need to change our test code, but often it’s a hint that my design ideas are wrong and that I ought to change the production code. In practice, these qualities are all related to and support each other. Test-driven development combines testing, specification, and design into one holistic activity.

Mike Griffiths

Smart Agile Metrics

Collecting and reporting effective metrics can be a tricky business. Einstein captured it well when he noted “Not everything that can be counted counts, and not everything that counts can be counted”.

Software projects have a history of measuring irrelevant and even counter-productive progress tracking metrics. The “Hawthorne Effect” should teach us that we will influence what we measure, yet companies continue to overtly track things like hours worked and lines of code written, unaware that they send the message of valuing long hours over results, and discourage simplifications and healthy refactoring. Quite often the metrics we want to track are intangible and subjective and so people tend to shy away from them.

More fundamentally, why are we even tracking these metrics? Is it to report on what has already occurred or help steer our future course? Often an imperfect view of the future is more useful than a perfect view of the past. In the real world, rear-view mirrors are much smaller than windshields for good reason, yet the accuracy of hind-sight and our attraction to certainty often creates too much of an emphasis on lagging, already occurred measurements compared to leading metrics. So we get fancy graphs of project spend and defect rates, but no better insights into what we should be doing differently in order to meet our goal.

In this presentation I will review many common project metrics and explain why they are largely misguided and counter productive. An alternative set of “Design Factory” metrics will be presented that are “simple and relevant to the true project goal”, these metrics leverage the Hawthorne effect and focus on leading metrics to support smarter decision making.

Benjamin Mitchell

Applying the Lean Startup Approach: using continuous innovation to create radically successful businesses

The Lean Startup is an “organisation dedicated to creating something new under conditions of extreme uncertainty” (Eric Ries). It can be applied to one person in their bedroom or teams of professionals in large corporations. Based on the ideas around lean manufacturing it involves focussing on concept of a learning cycle to drive validated learning through rapid experimentation and Agile software development practices.

Rather than focussing time on elaborate business plans, the Lean
Startup provides an approach to test, adapt and adjust before running out of time or money. It enables a company or a group to flexibly respond to market demands and new learnings. This talk will provide an introduction to the Lean Startup approach, an understanding of the contexts it is most effective in and how the philosophy and practices can be employed to create successful businesses.

Antony Marcano

Behaviour Driven Development – Beyond ‘Given,When and Then’

Behaviour Driven Development (BDD) is an evolution of test-driven development that places explicit emphasis on language, communication and ‘outside-in’ development. Many people are familiar with the ‘Given,When,Then’ structure used in BDD specifications (or acceptance tests) but is that really where it ends? In this session Antony Marcano gives a short intro to BDD, explains ‘outside-in’ development and demonstrates these ideas, live, using Ruby, Cucumber, RSpec and Sinatra. Using a powerful metaphor from learning theory and HCI principles, he’ll show you how to go beyond ‘Given,When,Then’ to a shared understanding of
your customer’s needs.

Nancy Van Schooenderwoert

When Agile teams have trouble delivering fully, on time, there are many likely culprits. Some are obvious and some not. But poorly written Agile stories will always be a source of problems, and one that teams will probably never spot. That’s because most Agile teams are not getting all that the Agile story format has to offer. This simple, no-cost thinking tool will help you evolve just the right amount of architecture, estimates, risk plans, etc. for each stage of your project – if you know the 8 techniques of storycrafting.

In this session, Nancy will use examples from embedded systems development to show how well-written Agile stories can synchronize the work of multiple specialist teams in larger projects. This is true for engineering projects, and for other complex work such as financial, scientific, and medical projects. Solid Agile stories make estimation easier, and help you avoid misunderstandings that cause rework.

What you will learn:
•    How well-written Agile stories help control schedule & risk
•    Why you need proper Agile stories to guide Agile planning
•    How Agile stories can guide project work beyond the software team
•    8 techniques for crafting solid, well-written Agile stories

Jamie Allsop

Amplifying Feedback Loops in Agile

So everyone knows what being agile is all about? It’s an old buzzword now, stamped on everything that moves in a development methodology, or everything in an organisation for that matter. The problem of course is that it’s hard to to really distil what makes you agile and what doesn’t. If you cobble together enough process, and throw in a couple of
practices, you have all you need to innovate yourself to a successful, or failing, project. That’s the trouble, without real agility it is often hard to know how successful you are being in a project, and often it is hard to know how agile you are. You might think you are agile and that your project is being successfully delivered when in fact neither
is true.

This talk goes back to basics and re-emphasises the concepts behind agility: showing that agility is achieved through understanding, observing and amplifying the feedback loops present in a truly agile approach to development. By understanding how you setup and magnify feedback loops in your methodology, using loose processes and practices, you have a chance at agility. I’ll present reliable techniques and show how they relate to agility within the feedback context. You should come away from the talk with a refreshed view of agility, some practical tips, and be able to look more critically at how you try to be agile in your organisation.