A checklist for agile success

As a coach, I’m often asked to take a look at how an agile organisation or team is working, and give my opinion as to if they’re set up for agile success. These are they key things that I look for:

1. The walls talk

You should be able to walk any newcomer round your project space and have them understand exactly what your project is doing from the walls. Similarly, if you’re just back from holiday, you should be able to walk your team’s walls to find out what’s happened and where things are.

Everything should be up there – the overall vision, the current thinking for future epics and things that will be hard, architectural ideas and approaches, user research insights, and more. Use pictures whenever possible. Encourage everyone to draw, even those who think they can’t.

2. There is clear ownership and engagement from the “business”

The “business” are fully engaged and own the delivery. If there is a separate technology department then the delivery has not been “outsourced’ to them. Everyone’s in it together, the budget is jointly held, and success or failure has an equal impact at the senior levels. Without this there can be no valid vision, no meaningful prioritisation, and without it none of the necessary business change activity will happen.

3. The vision is clear

There is a clear vision of the service or product that you are building, i.e. what it will look like in 2 – 5 years time. It’s documented, visually, on the wall. Remember – a backlog is NOT a vision.

4. There is a great team

The team has the skills, attitude and experience necessary to deliver the vision. The value that each individual brings is clear, and each values the others. They are aligned in embracing the shared responsibility of delivering the vision, and the need for constructive feedback and learning. They are empowered to make decisions.

5. There’s space to think

The team has a dedicated space in which to hold analysis, design and research sessions and document the upcoming sprints. This space should be joined to the main team workspace, for example it may be an adjacent room but with the doors left open to encourage flow. At a minimum, the space should include a visualisation of the current and next sprint, with stories attached.

6. Discussions are open

It’s important to build a common understanding of the service of product you’re building, and the approach that you are taking. To make this easy hold all discussions in your dedicated thinking space and apply the ‘rule of two feet’ allowing any team member to join any discussion that they want to contribute to or learn from, or indeed to leave it if they realise it’s not relevant to them at that time.

7. Everyone pairs

Pairing is not just for writing code. You can pair on writing stories, on testing, on designing, on user research. You can also pair across roles. For instance, a business analyst and a designer may work together to design a process. Working together forces you to question and improve things as you go along. You don’t have to pair all the time of course!

8. User research happens all the time

You have at least one dedicated user researcher, they are part of the team. User research happens continually, that typically means at least once every 2 weeks. Everyone in the team attends research on a regular basis, the product owner in particular lives and breathes it. You continuously evolve the product or service based on the insights gained. For more advice, see this blog post by Leisa Reichelt.

9. Releasing is easy

You’re running continuous integration with great automated tests and the developers are checking in code multiple times a day. The team is responsible for releasing to live, the skills to do so are embedded in the team. The business decide when they want things released.

You don’t have to jump through multiple political or process hoops to get a release approved, or rely on an arm’s length central team to do it for you (although a central team who do it with you can work well). Across the organisation things are structured in such a way that interdependencies are minimised and each team can release code independently.

10. You’re delivering thin slices of functionality, incrementally.

Each sprint you deliver thin slices of the overall solution. The slices overlap and build on each other. For instance, if you are building an online supermarket you do not build the ability to add stock to the shelves, then the ability to add things to a basket and the then the ability to pay as separate things which you then join up later giving you an integration headache.

Instead, you may start with a thin journey that allows the customer you to purchase a single tomato using one payment method for delivery on a pre-selected date and time. Future slices might add the ability to select by weight, the ability to remove things from the basket, the ability to use different payment mechanisms, the ability to change the delivery slot and so on.

11. Engagement has replaced traditional governance

Your sponsors are engaged in the project, they regularly spend time with the team, ‘walk the walls’ and attend show and tells. Reporting, where it exists, is lightweight and is of direct benefit to the team as well as to the sponsors. The responsibility of the sponsors to remove blockers and support the team is balanced with the responsibility of the team to deliver.

Progress is communicated and understood in relation to the vision and a high-level roadmap as opposed to in relation to a traditional project plan. There is an acceptance that the roadmap will change based on learning and experience.

12. You have rhythm

The team has a rhythm which goes above and beyond the rhythm of the sprint itself. It includes the up-front analysis and design work, and the pre- and post- sprint user research. You plan how this will work and exactly when the key activities need to take place, and therefore have a constantly evolving set of stories ready for your developers to pick up. The rhythm allows the team to feel in control of the workload and creates the time and space for collaboration.

 

For more detail, see my blog post on setting an analysis rhythm.

Featured Post

Minimum Viable Christmas: agile prioritisation

‘Tis the season for sharing so here’s a prioritisation exercise with a festive twist to highlight the pros and cons of different styles of prioritisation.

The idea came from a conversation last year with my daughter when she asked for us to have Christmas at home but with minimum stress for everyone, particularly mum. We discussed this light-heartedly for a few minutes and came to the conclusion that having the family together, eating baked beans on toast, in onesies, in front of the telly, with a few presents would count as a good Christmas. Needless to say her brothers had different ideas, but the concept of a Minimum Viable Christmas (MVC) had been born.

What is Christmas for you?

In a MVC workshop last week I started by asking this question and got everyone to put their elements of Christmas on individual post-it notes. This forms our “backlog” for Christmas

302ca62

Force ranking

Agile teams are encouraged to rank any backlog in strict priority order and so I asked the workshop to do this on the Post-its already captured.

Inevitably and consistent with most agile delivery teams, people couldn’t agree on a strict priority order and even when one “Product Owner” was nominated that person couldn’t prioritise between wine, dinner and pudding.

As an aside, the concept of a “Product Owner” for Christmas seems fundamentally wrong and (while possibly an extreme example) this highlights one of the key issues with the concept of having one individual making the decisions about a product; buy-in from the broader stakeholder community.

Minimum Viable Christmas

They were then asked to identify the elements of Christmas without which the occasion would be meaningless i.e Minimum Viable Christmas. This they found reasonably easy in that they just drew a line under wine, beer, dinner and pudding. However there was a lot of conversation about not working around Christmas, the “holiday” post-it, and “church”.

As with my family, everyone’s minimum viable was different but all agreed that if there was additional time and money they would add other people’s highest priorities into their Christmas. This gave us a natural segway into using MoSCoW.

MoSCoW

One of the really interesting things that came out this discussion is that the team said that their priorities changed with a different question being asked. Specifically you’d expect MVC and the Must’s to be the same, but they are not…Santa left the building and Jesus came in.

My thought afterwards is that asking 3 different questions put different lenses on the problem or perhaps a team needs to be asked 3 times in slightly different ways to get to the crux of the issue.

The workshop immediately identified that if time and money were short they could de-prioritise the coulds and if they were really up against it “cake” from the shoulds so when you have a hard deadline like the 25th December MoSCoW is a crucial prioritisation technique.

Final thought

I did consider introducing other value based prioritisation methods such as those promoted by SAFe but really…come on…how can you put a monetary value on being with your loved ones at Christmas?

Merry Christmas and a prosperous New Year everyone!

Many thanks to Rick Threlfall for drawing the Post-It’s

Featured Post

What is the Dynamic Systems Development Method?

In one sentence, Dynamic Systems Development Method (DSDM) is an agile project delivery framework covering all aspects of change delivery from project initiation to benefits realisation.

At the core of DSDM are similar principles and practices to all other agile methods:

  • Breaking business requirements into small components – user stories
  • Prioritising these components according to the business need
  • Delivering, testing and accepting these components in small time windows
  • Delivery through a collaborative team that includes the end users
  • Regular and transparent feedback on both the solution and the process

DSDM adds a number of useful concepts and advantages to the agile body of knowledge specifically:

  • A framework, practices and guidance for getting an agile project started and governed. Proper initiation and governance processes for change are critical for all large organisations and none of the other agile methods recognise this
  • Detailed definitions of the roles in an agile project team which helps people new to agile to transition effectively
  • In particular, DSDM has 3 roles to represent the business which more accurately reflects how most organisations deliver change. This is more nuanced and practical than the Product Owner concept in Scrum
  • More sophisticated prioritisation through the use of MoSCoW guarantees on-time delivery of the Minimum Usable Subset of functionality
  • It embraces business change aspects of a project rather than just focusing on software development and can be used for projects that have no software

Where DSDM typically needs support from other agile methods is in:

  • The detail of software engineering where techniques such as continuous integration, automated testing and code coverage from XP fit smoothly
  • The detail of testing each User Story and Feature (Epic)

For more information on DSDM go to the DSDM Consortium’s website where the full method is available.

Commentary:

I wasn’t expecting to write this blog entry but recent experiences have pointed out to me that many people don’t know what DSDM is and even if they have heard of the term don’t really understand it. This is true even for many at the centre of the agile community who really ought to know better, given that DSDM has been around since 1994, was a founder member of the agile Alliance and an original signatory to the agile manifesto.

The other linked question is “Why is DSDM not better known?”. In my opinion, there are three answers to this question:

  1. The DSDM methodology was, until 2008, only available to paid-up members of the DSDM Consortium so there was an (unnecessary) barrier to adoption
  2. The DSDM Consortium is not as good as marketing as the Scrum Alliance
  3. The Scrum Alliance has the advantage of being based in the US which is the leading market for software development

At Fimatix we use DSDM as the basic framework because it is the only comprehensive end-to-end agile methodology. We understand its strengths and limitations and use other agile techniques to fill gaps.

Featured Post

Agile: Stuck in the IT Ghetto? 

I’ve rarely had a problem with getting business engagement in my deliveries, in fact it’s usually the opposite – too many different voices!  So if other very good Agilists had a problem is there something else going on?

Having started looking, I saw more and more of it, some patterns formed and I have come to the conclusion that in general Agile is stuck in the IT Ghetto and is finding it difficult to break out.

This has come about because in some ways Agile is a victim of its own success – it’s completely won the argument in the software engineering community. All modern development environments are based around eXtreme Programming concepts and all decent Computer Science courses assume XP. It’s also now rare for a software vendor to develop any other way, most commercial websites are pushing into “higher order” engineering techniques such as Continuous Deployment.

The problem is that I have heard many senior business people say that “Agile as IT’s thing” and are happy to “let them get on with it” provided they stick with established governance and by implication culture. This sets the organisation up for friction and the Agilists for frustration.

This is even the case in some high profile Agile references: Sky advertising for Prince 2 project managers a couple of months ago shocked me until I asked some pertinent questions.

So what can the Agilist do? Here are my ideas:

  1. Constantly re-enforce the benefits of Agile in hard business terms; better return on investment, reduced project risk, improved transparency, better testing etc.
  2. Use language with the business that they understand. Business people understand what timeboxes are; sprints need explaining.  Scrums are done by sweaty people (usually men) in gladiatorial combat; stand-ups do what they say on the tin.  If there was a need for a different language (to demonstrate a break with the past) its time has past.
  3. Fix the obvious holes in management / governance.  In the real world there are business sponsors who expect their money to be spent with control and reporting.  Accept it and propose Agile governance techniques from e.g. DSDM that minimize the overhead and align with Agile values.
  4. Split the Product Owner role into day-to-day person and strategic / senior person.  In most organisations it is unrealistic to expect someone that has the time to work with a development team to have experience and responsibility to provide strategic direction and decision making.  An additional more senior person can also help protect the team from interference.  One pattern I have seen is that rigidly enforcing a single PO can have the undesireable effect of limiting business engagement.
  5. Have the courage of your principles: stop working on projects without business engagement.  Try to find a good excuse e.g. a tricky prioritisation call, but turn the project status red.
Featured Post

Digital by default: knowledge and experience

This is one of our ‘ways of working’ blog posts focused on what we offer and how we work with our clients.

If you’re building a digital service in government, it’s important that you operate within Government Digital Service (GDS) guidelines specifically referencing the Service Design Manual and adhering to the Digital by Default Service Standard, including passing the related assessments at the end of each phase (Discovery, Alpha and Beta).

Fimatix, having worked extensively at GDS and on multiple Exemplar projects are not only deeply familiar with these, we’ve also contributed to them. Our consultants will be able to draw on this experience to help you navigate them more efficiently and we as a wider organisation will be able to support you by using our network to introduce you to other projects and programmes across government where they have faced similar challenges to you.

We’ll use our network to strengthen your networks and allow you to learn from others, saving you the time and expense of making the same mistakes that others have made and potentially helping you identify areas where you could work together to create efficiencies or innovations.

Featured Post

Agile delivery: focusing on outcomes

Collaborative working, when facilitated by an experienced delivery manager, keeps the whole team focused on an agile delivery. Fimatix delivery managers keep people focused on delivery by involving everyone in creating and updating plans and prioritised backlogs. Working together, and then keeping everything as visible as possible, helps ensure that the whole team stays completely focused on delivery.

Regular retrospectives are important to ensure that the team continually improves their delivery approach. Retrospectives also help new team members feel included as quickly as possible and help surface any tensions so that they can be addressed before they become issues.

Agile delivery: focusing on outcomes.
Agile delivery: focusing on outcomes.

We are strong advocates of the discipline of “done”. By this we mean that the team defines when a user story or user journey is complete and ready to go into production.  Typically a story/journey is done when it has:

  • passed the tests and acceptance criteria agreed when the story was written
  • signed-off by the product manager
  • automated as far as practical
  • integrated into the build so it’s run each time the code is built
  • refactoring of the rest of the code triggered by the new has been completed and the whole build is “clean”
  • the story/journey can be demonstrated working in a “like live” environment with representative data

Having a robust definition of “done” like this means the new user journey (or story) can go live as soon as the service manager decides that it should go live.

This, to us, is the core of continuous delivery. The software should be able to go live at any point but only actually goes into production when the service manager is happy that all aspects of the service including the non-software parts, e.g. assisted digital, are ready.

To this end, we encourage clients to also integrate business change into the delivery teams that look at the non-software aspects of a particular user journey (story) so that these can be delivered at the same time to ensure continuous delivery of the full service.

Featured Post

Setting an analysis rhythm in large or complex programmes

Back in January, Davina wrote a series of blog posts about setting an analysis rhythm in large or complex programmes for the Government Digital Service (GDS). There are four parts:

Below is a taster from part 1.

[line]

I’m an agile coach in the GDS transformation team. I help to establish and develop the agile working practices for programmes. I work with teams and individuals who are new to agile, and often the colleagues doing analysis. Analysis is the work done to turn an idea into a set of user stories for developers to work from.

Agile programmes tend to have rigour around the delivery of sprints, but the analysis is often less disciplined. It’s helpful to set a clear and constant rhythm for analysis so the right stories are written at the right time. A rhythm allows a team to feel in control of the workload and ensures there are prioritised, well-defined and estimated stories for developers.

Over the next four days I will be blogging about the activities of setting the analysis rhythm. At the end of the week you will have a collection of posts to use as a resource to support your work on large or complex agile programmes. I’ll use terminology specific to agile – the methodology we use to deliver GDS projects. If you’d like to know more about agile, here is a good introduction.

[line]

To read the rest, head over to the GDS Digital Transformation blog.

Featured Post