GROW Your Projects Before They Start

What are your Goals, what is your Reality, what are your Options and how strong is your Will?

GROW is a very useful acronym which you can use before you embark on a new project or add a new Epic to your Stakeholders backlog. It describe the arc from knowing what you want, to knowing how to do it and whether or not you have the will.

G is for Goal Setting

What are your goals exactly? What is the desired outcome? Be specific.

EXAMPLE 1: I want to play centre for Manchester United.

EXAMPLE 2: I want an Aston Martin.

R is for Reality

What is the reality of you or your organisations situation?

EXAMPLE 1: I am 47 years old and so unlikely to play centre for Manchester United.

EXAMPLE 1: I have a car currently worth £12k and I earn £75k a year. A new Aston Martin could be out of my reach and not so popular with my wife as we’ve already decided to move house in the next year or so.

O is for Options

What are your options? Name them.

EXAMPLE 1: I could join a team suitable for my age range, or I could train to become a referee or linesman. Maybe I could join the Manchester United organisation in some way even if it’s for their junior teams.

EXAMPLE 2: I could save up and sell my car in order to buy a second hand Aston Martin. If I need a second car for the school-run perhaps I could lease a small car.

W is for Will

How strong is your will and that of your fellow stakeholders?

EXAMPLE 1: Actually, I don’t want to train three times a week to be a linesman for my local junior team which won’t guarantee I’d get into the Manchester United organisation. Perhaps my resources and will are better placed elsewhere.

EXAMPLE 2: If I save £X a month for a year then sell my current car, I’d be able to buy a second hand Aston Martin and lease a used Fiat 500. My wife is fine with this so long as it doesn’t impact our ability to buy our next house. I’m going to start this month and keep track of everything in Excel.

The Agile Glossary

A new word is like a fresh seed sewn on the ground of the discussion – Ludwig Wittgenstein

Acceptance Criteria (Given, When, Then)

The format “Given, When, Then” is a way of writing Acceptance Criteria for a User Story.

It works like this: Given (context), When (an action), Then (an outcome).

Example:

Given my car has a full tank of petrol which should last 300 miles,

When I take a journey of 100 miles,

Then I will be able to drive without the need to refill

A User Story would typically have one Acceptance Criteria but may have more depending on the complexity of the User Story. If, when writing Acceptance Criteria, it turns out to be complex – you may want to consider breaking your User Story into smaller pieces.


Agile

A framework of people, processes, actions and materials which deliver the desired outcomes.


Anti-Pattern

An anti-pattern is in effect a solution to a problem, but where the solution (which may appear to be useful at the time) may actually not be very effective and worse still, cause further issues.


Backlog

The backlog is list Epics, User Stories or Features which have not been prioritised in the current / upcoming Sprint. The Epic backlog is maintained by the Stakeholders which defines which User Stories or Features the Project Team should prioritise in turn.

During a Sprint an emergency may cause a User Story from the Backlog to be promoted into the current or next Sprint. Similarly, a User Story which suddenly becomes unimportant, or has a dependency on a 3rd pty and cannot be completed in the current Sprint may be demoted to the Backlog.


Backlog Refinement

Typically in a bi-weekly meeting the Backlog is reviewed, prioritised and sized in readiness for the next Sprint. Once refinement has been completed and your team are clear on the contents of the next Sprint, it should ideally be replayed to the Stakeholder(s) for approval.


Behaviour Driven Development (BDD)

Behaviour Driven Development is the method which encourages Acceptance Criteria in using the “Given, When, Then” format.


Burn-Up Chart

The Burn Up Chart shows the number of User Stories which have been delivered vs the number of User Stories. It is normal for some User Stories to be added and some to be removed from a Sprint while it’s in-flight – see the example below:

Business Agility

Business Agility is the capability of an organisation (or sub-division) to adapt quickly to internal and external changes, to respond quickly in a productive manner and to focus on continuous competitive advantage.

Business Agility encourages skills such as creativity, adaptability and resilience – which in turn help deliver the Outcomes required to remain agile.


Continuous Delivery

Continuous Delivery is one of the aims of the Agile Framework. Each two-week Sprint should deliver tangible value in the form of a completed widget (product, software, process, material etc) or in the form of having progressed the development of a Product.


Daily Meeting (aka Scrum)

See “Scrum”.


Definition of “Done”

The Acceptance Criteria attached to a User Story define when the User Story has been completed – or is “Done”.


Epic

An Epic is a large piece of work typically defined by Stakeholders or a Program Manager. For example “As ABC Ltd we have on-boarded a 3rd pty provider to satisfy our Regulatory Reporting requirements”.

An Epic usually comes with a t-shirt size ranging from XS to XXL – using the same Fibonacci series as “sizes” but typically in weeks rather than days. For example an extra-small “XS” Epic may mean one Sprint, and a medium “M” Epic may mean 4 weeks.

An Epic usually also comes with Acceptance Criteria, when help Product Owners and Project / Program Managers to break down an Epic into User Stories.

It is important than once this break-down has completed, it should be replayed to the Stakeholders / Management Team to make sure they understand and are happy with the approach.


Facilitator

A facilitator is someone who conducts a meeting – their focus being to create the conditions and to pursue the objectives of the meeting.


Fibonacci Sizing

Agile attempts to define a better way of sizing Epics and User Stories by limiting the choice of estimation to the Fibonacci series.

In practice this means that you can estimate the number of days (aka Story Points) to be 0.5, 1, 2, 3, 5, 8 or 13 days. Yes 0.5 is not really in the Fibonacci series but is necessary to size User Stories which will take less than a day.

If a User Story is sized at 5 or more Story Points you may want to consider breaking it into more than one story.


Incremental Delivery

Incremental Delivery means adding new functionality (e.g. in software) in as small chunks as possible – each defined by a User Story with Acceptance Criteria.


INVEST (Acronym)

INVEST in Agile is an acronym which refers to how a User Story should be written:

I = Independent of other User Stories

N = Negotiable – i.e. not a hard specification for features

V = Valuable – i.e. to the incremental development of a Product

E = Estimable – i.e. you can estimate how long it will take to complete vs. it’s Acceptance Criteria

S = Small – i.e. to ideally fit into a Sprint

T = Testable – i.e. the User Story comes with useful Acceptance Criteria


Iteration

An Agile Iteration is the length of the Sprint. For example if your Sprints are two weeks in length, you might say that a Medium Epic will take four iterations to complete.


Kanban

Kanban derives from a Japanese method where work and it’s breakdown and status are displayed visually on a Kanban Board.

In it’s simplest form it has three columns To Do, Doing and Done.

In practice Agile will use a few more columns – e.g. in JIRA to keep track of the status of each User Story in the daily Scrum.


Milestone Retrospective

Similar to a bi-weekly Retrospective at the end of each Sprint, a Milestone Retrospective looks back at the period since the last milestone to identify what went well and what could have gone better.

It is important that a Retrospective has specific Outcomes – for example a set of actions which are fed back into the Agile process to help make improvements or avoid making the same mistake again.


Minimum Viable Product (MVP)

An MVP derives from “Lean Startup” and means an initial version of a new product which “allows a team to collect the maximum amount of validated learning about customers with the least effort” (Eric Ries, Author of “Lean Startup”).

In practice this means your MVP should be useful and deliver against a desired Outcome with the least effort. Typically this means building in assumptions, short-cuts and hard-coding (business or technical) into your MVP.


Planning Poker

Planning Poker is an informal way during the Backlog Refinement meeting to size User Stories.

Once a User Story has been described (ideally by the Product Owner (PO) or an SME) everyone is asked to hold up cards or fingers (careful now) indicating how many Story Points should be associated with the User Story.

The PO or SME will check the results and challenge any outliers. For example if most people hold up three fingers and one holds up one finger – that person should explain why they think this User Story is one Point.


Product Owner

A Product Owner is not a Project Manager. In Agile, each team should “self-organise” which may need assistance from the PO.

The PO should push back on any additional User Stories which Stakeholders / Management Team may want to add once a Sprint is in-flight. If an emergency occurs then of course some User Stories can roll into the next Sprint to free up resourcing for the emergency.

The PO has to balance the demands and timelines of multiple Stakeholders.

The PO is responsible for each Sprint, beginning with understanding an Epic, translating into User Stories and running meetings with the exception of the daily Scrum.


Proof of Concept (PoC)

Although not strictly part of the Agile Framework, setting aside one or more Sprints to deliver a PoC is a very powerful method especially for technical projects requiring software development. PoC’s typically require a number of assumptions and hard-coded data which in turn enable the testing of a concept such as “Can we join trade data from multiple systems into one database for portfolio analysis”. In this example you may have to “fake” unique trade id’s or skip what would normally be unified static data to see if, once assembled, the joined up data works.


Retrospective

A Retrospective is an essential part of the bi-weekly rhythm of the Agile process. It occurs at the end of a Sprint, when the Scrum Master hosts a meeting where team members say what worked well, what didn’t, and what actions may be useful to capture to help improve the Agile process.

Typically the Scrum Master would own this process of capturing, communicating and tracking actions.


Scrum

The Daily Scrum is the heartbeat of the Agile Framework. Each morning, the Agile team should assemble and each team member should review in just a few minutes where they are with each of their User Stories.

This session is also very useful for team members to highlight any problems they’re having – potentially to engage help from other team members, the PO and/or the Scrum Master.


Scrum Master

The Scrum Master acts as a facilitator for the Stakeholders, Product Owners and Agile team members.

Most importantly, they run the daily Scrums and although they might not get involved in team members issues, they will capture the issues and manage a log.

Scrum Masters assist PO’s and help to improve the overall efficiency of the team.

Scrum Masters should also help motivate and empower the PO and especially the team members.

For Stakeholders as well as the PO and team, Scrum Masters produce MI for everyone to help make the planning, backlogs and Sprint Burn-Up’s all transparent for all to see.

Scrum Masters should be able to answer enquiries from Stakeholders and Senior Execs etc regarding the state of Epics, each teams Velocity and the status of any individual Sprint.


SMART (Acronym)

SMART is an acronym used when setting goals or milestones:

S = Specific – i.e. when setting a goal you should be as specific as you can about what you want to achieve

M = Measurable – i.e. what metrics will you use to know whether or not you achieved your goal? Also known as Success Criteria. For long projects you may what to set intermediate goals which are measurable.

A = Achievable – i.e. to make sure your goal is achievable and at the same time motivating for your team. If the ultimate goal is outside of your teams skill set, an intermediate goal could be to complete some training.

R = Relevant – i.e. the goal you are setting is in context with a higher level goal or vision within your organisation.

T = Time-boxed – i.e. in addition to being relevant, your goal should be achievable in a reasonable time, which is also part of the success criteria.


Sprint

A Sprint is typically the two week period when a planned, refined and sized set of User Stories is to be worked on.


Sprint Backlog

The Sprint Backlog is the set of User Stories contained in this Sprint. It is not unusual for the scope of the Sprint to change along the way. That said, it is the Product Owners job to manage & push-back on the scope-creep and involve the Scrum Master and Stakeholders in deciding which User Stories should be pushed onto the main Backlog.


Sprint Planning (aka Refinement)

Sprint planning typically occurs a day or two before a new Sprint commences. The planning session is the final stage in defining the Sprint Backlog, making sure the User Stories are well defined, sized by the team and have good Acceptance Criteria to enable a team member to work on each User Story.


Story Points

Story Points are in effect the same as Sizing – i.e. if you size a User Story to be 3 days, you can say the it has three Story Points. Note – it is not necessary to equate one point to one day. An Agile implementation can define what it means by one Story Point – for example that could equal one hour.


User Story

A User Story is the smallest chunk of work in the Agile Framework. It has Acceptance Criteria so you know when it has been completed, and it will be sized by the Agile team so you know about how long it should take to complete.

An Epic comprises many User Stories.


Velocity

Velocity is the rate at which an Agile team completes it’s work (User Stories).

In effect it describes how many User Story points a team can handle in a Sprint.

This is very useful information for the Product Owner, Scrum Master and for Stakeholders as Velocity information helps to predict the work-rate of each Agile team.

In turn this makes it easier to forecast milestones and Epic completion dates.

It will typically take a number of completed Sprints before you have enough data to start articulating Velocity and using those numbers to predict work rates.


Vision Statement

Each Product should have a Vision Statement. It should be short, clear and ideally motivating for the team.

The Vision can change as Sprints develop (remember – stay flexible) – and it is important to share the Vision Statement with Stakeholders, the Scrum Master and the wider team.

If Stakeholders have defined Vision Statements at the Epic-level, it should be possible to dove-tail Product Vision Statements into those of the Epic.

A template to help drive Vision Statements is:

Target Group / Needs / Product / Value

or, if you’re developing a product to sell…

For (the target customer)

Who (statement of the need)

The (product)

Is a (type of product)

That (key benefit)

Unlike (competitor)

Our Product (further elaboration)

EXAMPLE

For people who want an easy way to rent cars, the vroomer is an app that lets users choose a car at the pick-up point and receive an electronic key. Unlike existing car rental companies our product is online, secure, flexible and FAST!

Theory of Constraints (Goldratt) – Summary for Agile

In 1984 Eliyahu Goldratt published a book called The Goal to help companies identify weak links in the pursuit of continuous improvement.

This overlaps into how the Agile works – in having the flexibility to identify what matters the most NOW in a project or program.

The Theory of Constraints is about seeking out the weakest link in a project, program or organisation and to fix it. Goldratt describes three core types of constraint:

Equipment: The way equipment is currently used limits the ability of the system to produce more salable goods/services.

People: Lack of skilled people limits the system. Mental models held by people can cause behaviour that becomes a constraint.

Policy: A written or unwritten policy prevents the system from making more.

Once a constraint (weak link) has been identified it should be fixed as the most important thing to do right now. Goldratt describes this as “breaking” the constraint.

To enable breaking of a constraint, agreement is the enabling factor, where stakeholders have to agree what the problem is, what the solution is and to implement a fix.

This approach is similar to prioritising an Agile Epic and to gain consensus on the Acceptance Criteria and breakdown into User Stories.

Although it may not be advisable to re-focus all your resources every time a constraint has been identified, there is value to be gained in focussing some resources to identifying and breaking constraints.

A Common Agile Failing, and How to Fix it

A common Agile failing is to continuously bump User Stories from one Sprint to the next because there was insufficient time to close them out.

This an unsatisfactory state for an Agile project and can lead Stakeholders to ask questions about why you’re implementing in Agile at all.

There are several ways to fix Agile Creep – here are a few suggestions:

Make sure User Stories are well written, clear, concise and have been elaborated with the help of Stakeholders if required BEFORE THE SPRINT STARTS.

Make sure User Stories have been sized correctly ideally using Fibonacci sizing numbers.

Make sure the Acceptance Criteria are well written, clear, concise have have been agreed with Stakeholders, as above, before the Sprint starts. You don’t want to get to the end of a Sprint and realise, “Oh, you didn’t want this, you wanted that!”. Then bump it to the next Sprint. This is a great way to help Stakeholders lose faith in what you’re doing.

Make sure the right person or people in the Agile Team get the right User Stories. It’s of limited use asking a developer to write a legal document for a 3rd party as is it to ask legal counsel to develop some code (unless your team consists entirely of super-heroes).

Make sure that User Stories which get stuck are discussed in the daily Scrums. This enables the Product Owner and Scrum Master to work out if a User Story is worth parking for now awaiting elaboration e.g. from a Stakeholder or 2rd pty, and if extra bandwidth becomes available in the team to take the next most highly prioritised User Story which makes sense to tackle.

Got a Question? Ask Agile Unpacked…

Focus on Plain English Acceptance Criteria for Epics

Useful, comprehensive and plain English Acceptance Criteria are essential at the Epic level.

Writing Epics in plain English will enable a decomposition into User Stories and Acceptance Criteria in the Agile Teams which will align to the Stakeholders requirements.

If Stakeholders do not define their Epic-level Acceptance Criteria very well, a lot of time will be wasted with Agile Team Members going back and forth to the Stakeholders requiring clarifications and elaborations. More thought at the beginning of each Epic saves huge amounts of time and money downstream.

The Product Owner and Scrum Master should reject Epics with no Acceptance Criteria or poorly worded or ambiguous Acceptance Criteria before they get anywhere near the Agile Team for sizing etc.

Got a Question? Ask Agile Unpacked…

Why is a Daily Scrum so important?

The daily Scrum is an important part of the Agile Environment as it allows everyone in a team to understand very quickly what everyone else is doing and why.

A good example of a Scrum is where everyone gets together in person or on a call and there’s a quick round-robin where everyone gets to say what they’re working on and if they need any help. The process should be light touch. The Scrum Master should not overlay unnecessary layers of process, reporting, documentation or reporting on top of this (which is usually the case).

Remember that the Scrum Master is there to facilitate the daily process and to help escalate any issues especially to do with the Agile process itself to the Management Team.

If you think or feel that the daily Scrum is an unnecessary waste of your time each day then you’re Agile Environment is ready for a health check.

Got a Question? Ask Agile Unpacked…

Kanban as a Dashboard for Stakeholders

Kanban is often maligned as a simplified approach or the default thing to do when all other ideas and approaches fail, or cannot be agreed upon

What do Stakeholders Want to See?

A simplified view is often exactly what Stakeholders want to see.

It means Project & Program Managers have to summarise and articulate complexity into a simple, digestible form. This is in itself very useful for PM’s because the process of summarising and articulating into a clear form helps all team members clarify in their own minds what has been achieved, whats happening right now, and what’s coming next.

It also means Stakeholders can make better targeted decisions when presented with clear and summarised information.

If the status of a project cannot be simply articulated, something is wrong (which is also useful information for Stakeholders).

Kanban Prioritisations

To enable Stakeholders to update prioritisation’s (not that projects need that too often) it’s useful to add the most recent prioritisation’s to the To Do and Backlog items.

Got a Question? Ask Agile Unpacked…

Use Cynefin to help bring clarity to your projects

In which domain is your project or problem?

Cynefin was created in 1999 by Dave Snowden (IBM Global Services) – and can help make sense of any project / situation you are in (note: Cynefin isn’t a contrived acronym, it is Welsh for “Habitat”).

In which domain is your project or problem?

There are five domains in Cynefin:

Complex

Complicated

Chaotic

Obvious

Disorder (black hole)

Complex Cynefin

Most projects are complex, which means there are unknown, unknowns – i.e. you don’t have a 100% clear path from where you are to where you need to get to. Along the way problems will arise (you don’t know what they are yet) which you will have to solve.

Complicated Cynefin

Complicated projects are typically in the domain of SME’s – such as Surgeons and Lawyers – where the work is complicated but based on underlying truths and processes. For example, heart surgery is complicated, but generally well understood in terms of what has to happen in an ygiven operation.

Obvious Cynefin

This is the domain of “best-practice” where it is well known and understood what has to happen. That said, it should be noted that if everyone always takes the obvious path, new solutions may be overlooked. This dovetails nicely into Edwards de Bono’s “Challenge for Change” which I’ll cover in a future article.

Chaotic Cynefin

This is a domain where there is no cause and effect correlation. A domain where it is very difficult to predict outcomes. The way to attack a chaotic project is to try to find even the most simple pattern or truth in the chaos.

Disorder Cynefin

Finally, in the middle of all this is the black hole of disorder. Your project is in this domain if no other domain fits.

Snowden says “”The way out of this realm is to break down the situation into constituent parts and assign each to one of the other four realms. Leaders can then make decisions and intervene in contextually appropriate ways.”

Got a Question? Ask Agile Unpacked…