Agile Development: Back To The Future!

Agile Development Back to the Future!In an ideal agile development environment, all changes must be reversible.

Why? Because one of the fundamental principles of agile development is the concept of fixed timescales. Developing one feature at a time. Iteratively developing the product in small incremental steps.

So what happens when you’re at the end of a timebox (or Sprint in the Scrum agile methodology)? Inevitably, something doesn’t quite make it in time. Inevitably, something’s incomplete or just too buggy to release. Not on your projects – obviously – but maybe sometimes on other peoples 😉

And yet, still, in agile development we want to cut the release on time, when the fixed time is up.

How?

Not easy. Well, technically straightforward. But in practice, not easy.

Imagine first a very simple situation. A situation where you have just one developer. One developer working in a Sprint that was planned to deliver 10 things – features, bugs, use cases, user stories (xp), whatever you call them – things. Working through the things in priority order, using Microsoft SourceSafe terminology, ‘label’ the code on completion of each feature. And remember, by completion, I mean ‘DONE!’, i.e. shippable. Then, when time runs out, you can pull out the code at the last complete feature and release the software! That’s what I mean by *Back to the future!*

So what’s so hard about that? Nothing really. But in practice it can be very hard to control.

Now imagine a more realistic situation where there are several developers, not necessarily all in one location, all coding furiously on the same application. Imagine one or some developers don’t quite get something to production quality before moving on to the next thing. Or thinking it’s done but finding issues with it later. Any break from the discipline of ‘DONE!’ and this approach breaks down.

So in practice it’s hard. Also because developers don’t all complete the features they’re working on neatly at the same time. Life’s just not as simple as that, unfortunately! As far as practically possible, get developers working together on the same feature. As well as spreading knowledge, this helps quality, speeds up the completion of each individual feature, and alleviates the complexity I’ve outlined above, allowing you to stick to fixed timescales.

Extreme progamming even recommends you go as far as ‘pair programming’, with two developers literally working on the same piece of code together. This makes a lot of sense, but in my experience, rarely do you find a team (or managers) that feel confident enough about the payback to apparently halve their productivity.

So what happens towards the end of a Sprint when some developers start finishing their features? Ideally they help their colleagues. Whether it’s development, testing, or whatever they are able to do. They help their team to achieve the Sprint. Because the Sprint goal is a *team* goal.

If, for some reason, you reach the point where they really can’t help the team any more, consider any necessary documentation, self-training, R&D, or any other thing that all good development teams need but often don’t get the time for!

And if, for some reason, that’s not possible, practical or necessary – if they really must move ahead of the team and onto the next thing – branch the code from the last shippable feature (‘label’) and make sure you merge the branch back in the next Sprint.

This discipline is very important for agile development teams to master.

It’s not easy, but it is important.

Because without this discipline, one of the 10 key principles of agile development can’t be consistently achieved. That is the key principle of fixing the timescales.

Kelly.

Share on facebook
Facebook
Share on twitter
Twitter
Share on linkedin
LinkedIn

Leave a Reply

Your email address will not be published. Required fields are marked *

Recent Posts

Culture, Skills, and Capabilities // How to become a more data-driven organisation

In our whitepaper “How to become a more data-driven organisation”, we wrote about the five steps that an organisation would need to take, which are: Outcomes: Defining goals and metrics to ensure clear and measurable outcomes Analytics: Implementing and sharing the analytics to improve data-driven decision making Innovation: Testing assumptions through hypothesis testing and learning Data Platform: Gaining new insights

Read More »

Data Platform // How to become a more data-driven organisation

This is the fourth article in our series on “How to become a more data-driven organisation”, and we are going to be focusing on Data Platforms. It is at this point that most people start to dive deep into the technical aspects of Data Lakes vs Data Warehouses, but we want to bring us back up a level and ask

Read More »

Innovation // How to become a more data-driven organisation

In our white paper “How to become a more data-driven organisation”, we wrote about the five steps that an organisation would need to take, which are: Outcomes: Defining goals and metrics to ensure clear and measurable outcomes Analytics: Implementing and sharing the analytics to improve data-driven decision making Innovation: Testing assumptions through hypothesis testing and learning Data Platform: Gaining new

Read More »

Search the Blog

Agile Management Made Easy!

All About Agile

By Kelly Waters

“’Agile’ is one of the biggest buzzwords of the last decade. Agile methods often come across as rather more complicated than they really are. This book is an attempt to unravel that complexity. To simplify the concepts. This book breaks the concepts into small bite-sized pieces that are easy to understand and easy to implement and delivers the message in a friendly and conversational style. Allaboutagile.com is one of the most popular blogs about agile on the web. ”

Kelly Waters

Agile 101 is available to purchase. GAME ON!

Agile 101

Emma Hopkinson-Spark

“Whilst there are lots of ways you can vary the game depending on the teams you have and the learning outcomes you want, the basic flow of the game play is common to all.”
Emma Hopkinson-Spark

Why did we make the game?

How to play the game?

London

101 Ways Limited
145 City Rd
London
EC1V 1AZ
United Kingdom

Amsterdam

101 Ways BV
Weesperstraat 61-105
1018 VN Amsterdam
Netherlands

Contact Us

If you would like to get in touch with one of the team at 101 Ways, then please fill out the form below or email us at contact-us@101ways.com.