Search

Series List

How Not To Be Agile -An Effective Product Backlog

IntroductionHello and welcome to this, the third article in the series ‘How Not to be Agile’.‘How Not to be Agile’ may seem a strange title for blogs about how good Agile is!  What I intend to do over this series of articles is to share with you the misinterpretations, omissions, and mistakes that people make that significantly reduce the potential benefits when an organisation, or a part of it, embark on an Agile Transformation.Last time, I discussed the potential pitfalls of not having a suitable Business Case for whatever it is that we are trying to achieve, be it a new product, a major change to an existing product or the Agile transition itself.This time, I will cover some of the misunderstandings and malpractices that I have come across with respect to the next major item to consider in any Agile framework, the requirements.  The most often used term for the requirements list is the Product Backlog from Scrum; I will use this and other Scrum terminology in this article but you can use whatever names you like; it is the content and management of the requirements list that is important.I will start with a description of the Product Backlog process and then give examples of what has and could go wrong if not follows the Product Backlog tips.The Definition of Scrum Product Backlog Having achieved an agreed Vision and Objectives and decided that the Business Case for the product development is viable, the business stakeholders and development team need to discover a list of ‘business requirements’, at the same level of detail, so that the development team can develop the product in a series of short development timeboxes.These ‘requirements’ become Product Backlog Items (PBI). What is a ‘Requirement’?Functional Requirements:There are 3 commonly used ‘structures’ used to express ‘Agile functional requirements’:Elementary Business Processes (EBP) – the names of EBP, usually extracted from the results of the Business Process Modelling exercise concerned with the area of the business that the product is for; for example:                                                                                              ‘Capture Customer Details’Use Cases – from the Unified Modelling Language (UML).  Only the names of the Use Cases, again, usually extracted from the results of Business Process Modelling exercise and the example is the same as for the EBP aboveUser Stories – a technique from eXtreme Programming which states the user of a business process, the name of the process and why the  process is needed; for example:                                                                                                    ‘As a sales person                                                                                  I need to Capture the Customer Details                                                                                        So that payment can be taken’For all the 3 ‘requirements’ types, it is only the names of the business process that are needed (with the addition of the other 2 clauses in User Stories); there should be no lower level details in the PBI.The level of detail for all of the above can be summarised as:                                            ‘The name of one job, being performed by one person, at one time’Non-Functional ‘Requirements’:In addition to the Functional Requirements, the ‘What’, the business will also express the needs of ‘How’ the product will perform such as:All screens must refresh within 5 secondsThe system must be available 24/7/365The system must conform to the company marketing graphic languageand so on and so forth.These Non-Functional ‘requirements’ can be added to the Product Backlog in a separate section from the Functional Requirements or in a separate ‘document’.What A PBI Is NotThere was a fashion, that still exists in some places, to have ‘Technical User Stories’; ‘User Stories’ those name technical activities that need to be done; for example:As a database designer                                                                         I need to create data access scripts                                                     So that the product can store and retrieve the data that it needs to useSuch User Stories would just be stating elements of a team member’s work and do not add anything to the understanding of the business needs which the Product Backlog is meant to represent.It is my strong recommendation that so-called ‘Technical User Stories’ are NOT used because the Product Backlog becomes large, unwieldy, almost impossible to order by business value and prioritisation; the estimated effort for these technical needs are included in the estimation of the ‘business’ PBI; more of which later.It is true that there may be a need for some activities to set-up the technical environment before the development team can start developing the product, some of which are out of the control of the development team; these activities should take place in parallel with creating the initial Product Backlog.Creating a Product BacklogOrdering the Product BacklogThe whole point of Agile is to deliver a product incrementally so that the business can accrue the best value in the shortest possible time.It, therefore, follows that the product needs to be developed by developing the PBI in the business value order; the highest business value PBI first.Therefore, the PBI needs to be ordered by business value. I will not go into the techniques for ordering PBI, they are well documented elsewhere but I will give an example, later, of what happened when one team did not use Product Backlog ordering.Estimating the PBIWe create the initial Product Backlog just after agreeing on the Vision and Objectives and ensuring development viability via the Business CASE  but before development begins; it needs to be estimated in some way to determine how long it may take to develop the product and consequently how much it may cost to develop.It is a tenet of all Agile frameworks that only the development team is allowed to estimate the PBI.  Once done, these estimates will ‘inform’ the Business Case and analysis can be made to see if the original ‘high-level’ estimates in the initial Business Case are of the same order; a decision can be made as to whether the development is still viable.Types of PBI estimatingThere are 2 generally used types of PBI estimating:1. Absolute Estimating:  Whereby each PBI is estimated by how much time it would take go from just its name to ‘potentially shippable’ functionality.  Of course, the tasks include analysis, design, construction and testing and what normally happens is that each ‘skill’ will estimate the time it would take for their part in the process and the times summed to get the overall estimate.2. Relative Estimating:  Whereby the team chooses the PBI which is likely to be ‘the smallest’.“The smallest in what respect?”  you ask.  The ‘smallest’ does not directly consider time; the PBI criteria that are considered are size and complexity.However, opinions of size and complexity will vary amongst all team members depending on their skill and experience; what may seem ‘simple’ to an experienced developer may seem complex to the less experienced person.  Similarly, although the analysis and construction may seem simple, the testing may be complex.For these reasons, it is highly recommended that Relative Estimating is done using ‘Planning Poker’ which is well described elsewhere (see ‘Planning Poker: An Agile Estimating and Planning Technique’); suffice to say here, that once the team have decided which is the ‘smallest’ PBI, they give it a ‘Story Point’ of 1 and all other PBI are estimated with respect to their individual relative size and complexity compared to the ‘smallest’.So which estimating technique to use?1. Absolute Estimating can take a long time; it is akin to the traditional way of estimating for the Project Plan.  Also, it has been established that, generally, we are not very good at estimating in time; the larger the thing we are trying to estimate, the worse our estimates get.  However, the technique is familiar to most people and does not require a change of mindset to produce estimates.2. Relative Estimating requires a totally different mindset amongst the development team members because, initially, not only are they using unfamiliar criteria to estimate the PBI but also, they are estimating in collaboration with other team members with different skill sets and experience.Despite there being ample evidence that Relative Estimating takes less time overall and allows the stakeholders and development team to focus on business benefit being delivered, because of the ‘difficulties’ of introducing Relative Estimating, many teams revert to time estimation and tracking time.  Also, as we will see in one of the Case Studies below, an organisation’s choice of requirements management tool can make the use of Relative Estimating seem a waste of time for team members.Another Potential Problem with Relative EstimatingSo, having carried out ‘Planning Poker’, the development team now know the total number of ‘Story Points’ that the development represents; not much good to the business stakeholders who want to know how long it is going to take and how much it is going to cost.On completion of the initial Product Backlog and before development begins, we need to ‘translate’ this total ‘Story Points’ into time.An Agile Team’s progress is measured by the number of ‘Story Points’ that they deliver in one Sprint; known as the team’s ‘Velocity’.So we need a knowledge of the team’s Velocity in order to establish an estimate of how long the development is likely to take; for example, if the total number of ‘Story Points’ is 200 and the team’s velocity for a 2-week Sprints is 10, then the estimated time to complete all the PBI is:         200 ‘Story Points’ / 10 ‘Story Points per Sprint  x 2 (the number of weeks per Sprint) = 40 weeksHowever, at the start of an Agile transition, we do not know what the team’s Velocity is or will be.  There are 2 methods to determine what the Velocity may be:1. The team takes one of the ‘smallest’ PBI (with a Story Point of 1) and does a traditional break down to the tasks involved and estimate those tasks in time;  1 ‘Story Point’ is equivalent to the time represented by the sum of the times estimated for all the tasksThe team’s Velocity may be estimated by:                                      ‘The number of working days in the Sprint / the estimated days for 1 Story Point’For example, if the ‘time estimate’ for a PBI of 1 ‘Story Point’  is 1 day:                                             10 working days in 2-week Sprint / 1 day = Velocity of 10This velocity can then be used in the formula above to determine the estimate for the potential total time for the development.2. The development team is allowed to start development for 2 or 3 Sprints taking PBI from the top of the Product Backlog.  At the end of the ‘experiment’ period, the total number of ‘Story Points’ for the completed PBI divided by the number of Sprints completed becomes the Velocity to use in the formula above to determine the estimate for the potential total time for the development.The potential problem with this method is that management have to release funds for this experimental period without knowing the values to feed into the Business Case to determine whether the product development is viable before development begins.Once teams have completed 1 product development, we recommend that the team members are kept together for other product developments even though the business area or technology may be different.  Having a team that works well together is more important than creating teams in an ad-hoc manner.  A team’s Velocity varies insignificantly over different product developments and so can be used directly in the formula above to determine the estimate for the potential total time for the development.\Scoping the Product BacklogGenerally, Agile product developments have strict deadlines so that the major benefits can be accrued; benefits such as competitive advantage, meeting marketing needs, meeting customer expectations or complying with regulations.Also, Agile teams comprise all the skills necessary to take the PBI from ‘names’ to a potentially shippable product; not all team members are full-time but the team is fixed.Therefore, generally, the costs for a fixed time product development are also fixed.Given the classic ‘Iron Triangle’ of development variables:If we fix time and cost, then the only thing that can vary is the Requirements that are delivered in the fixed time for the fixed cost.It is quite probable that the initial Product Backlog will contain more PBI than could reasonably be developed in the fixed time available; because the stakeholders/Product Owner has ordered the Backlog by business value, it is relatively straightforward to ‘draw a line’ underneath the lowest PBI in the list that will probably be developed.  We do not remove the lower value PBI because it has been often found during development that a high-value PBI is actually dependant on one of the lower value ones and the ordering has to be amended.Stakeholders need to understand that even though some requirements (PBI) have been requested, it is probable that they will not be delivered.But the Product Backlog scoping does not stop there.  The ‘story Points’ for the PBI are estimates and, by definition, they are not accurate.  In the past, to account for ‘inaccurate’ estimates, organisations have added contingency in time and costs to the estimates.However, in Agile environments where the time and costs are effectively fixed, the development needs some ‘wriggle room’ for when estimates are proved significantly wrong and when requirements change during the development. For an effective Product Backlog, you need to follow Scrum Product Backlog tips.The Minimum Viable Product (MVP)The development team must agree with the Product Owner/Stakeholders which PBI represent the Minimum Viable Product, ie what is the minimum to be delivered in the fixed time in order to accrue the minimum benefit required.There are ‘rules’ how big this MVP can be.  It has been found, from hard-won experience that for a ‘comfortable’ working environment:1. When a team first starts an Agile transformation they should accept PBI in the MVP which represent around 50% to 55% of the estimated effort; ie if there are 200 ‘Story Points’ in the probable PBI, then the MVP should only contain the highest value PBI whose ‘Story Points add up to between 100 and 110.2.When the team and the organisation are reasonably Agile-mature, between 9 months and a year of transformation, the team can accept PBI representing up to 65% of the total estimated effort in the MVP.3.When the team and organisation are fully Agile-mature, PBI representing up to 70% by estimated effort may be accepted in the MVP.  It has been found that no matter how good the teams and organisation are, the variables that come along with all product development make promising more than 70% by estimated effort fraught with problems; the teams must strive not to give stakeholders over-expectations.  The MoSCoW RulesSome Agile Frameworks recommend using a technique called MoSCoW to ‘categorise’ the PBI.  The acronym stands for:Must Haves: Those PBI that is essential to the product; equivalent to the MVP above.Should Haves: Those PBI that is important but there is a workaround for them if they not completed in the fixed timeCould Haves: Those PBI that might be developed if all the Musts and Shoulds have been completed before the end of the fixed timeWon’t Haves:  Those PBI that was initially discovered but was not likely to be completed based on the estimates for the more valuable PBI“The ‘o’s are just for fun”!Using the MoSCoW rules allows the Business Case to be prepared with 3 scenarios:The ‘Best Case’ scenario where all the probable PBI are completed; giving the best benefit in the fixed timeThe ‘Expected Case’ scenario where all the Musts and Shoulds are completed giving the majority of the expected benefits in the fixed timeThe ‘Worst Case’ scenario where only the Musts are delivered giving only the essential expected benefits in the fixed time.Case Study 1:I was working as a business analyst and ‘just-in-time’ Agile trainer/coach for an outsourced team building a replacement system.  The team had 6 full-time business representatives to specify the Agile Requirements (UML Use Cases in this instance).Creation of the Product Backlog went smoothly; a good ‘To-Be’ Business Process Model was created and Use Cases to be included in the new system were identified; there were 92.Unfortunately, I was due to go on 3 weeks holiday, so I briefed the team on how to order the Product Backlog and we ran through some Planning Poker with a few of the Use Cases.When I came back from holiday, I discovered that the team business representatives had had problems in ordering the Product Backlog and had abandoned the attempt because they considered that all the PBI were essential.  Also, the whole team had had problems with Planning Poker because they didn’t know enough about the low-level details.It had been decided to prototype all the Use Cases before estimation and the developers were split into 3 sub-teams for prototyping and the business representatives split into 3 pairs.I had taught the team that the prototyping of any PBI should only go through 3 cycles:1. Investigation where a very rough ‘first draft’ is specified, built and reviewed to make sure that the developers are ‘on the right lines’2.Refinement where the majority of the functionality is specified, built and reviewed3.Consolidation where any ‘tidying-up’ was specified, completed and the complete prototype demonstrated to the wider stakeholder communityIf it takes more than the 3 cycles, then something is wrong with the detailed process being followed.The time taken to produce a prototype should be no more than 2 days but it can be as short as 2 to 3 hours if done in a workshop.Unfortunately, it was decided to pick Use Cases to prototype based on their perceived ‘easiness’ and ‘rotate’ the business representative pairs around the prototype builders such that one pair specified the Investigation, another pair reviewed the Investigation and specified the Refinement and the third pair reviewed the Refinement and specified the Consolidation. At the ‘final’ review, with all 6 business representatives present, the ‘final’ prototypes were significantly different from what was originally specified for the Investigation and ‘recriminations’ took place.  So the prototype developers started again.It had taken 3 weeks to develop the prototypes for 6 PBI!I asked the project manager what his estimate was for completing the prototypes for all the PBI; he calculated that the time that would be necessary was 1 month longer than the specified length of the project.Suffice to say that I worked with the customer representatives to convince them that it would be improbable to complete all the PBI in the fixed time/fixed cost development contract and helped them order the Product Backlog and decide on an MVP. It is worth noting this product development had a Vision, there were no stated objectives nor a visible Business Case.I worked with the developers and business representatives (who were full team members) to ‘play’ Planning Poker.Actual development work started one week later; PBI were completed in the fixed time that equated to approximately 70% of the expected business benefit; a further short project was commissioned to bring the expected business benefit up to 90%.Lessons:1. Do not go on holiday at a crucial time during the product development lifecycle!2. If the Product Backlog is not ordered by business value, significant time will be wasted prototyping PBI of low business value3. If prototyping is to be used, then the whole team should do it together in a workshop; all views will be accessible to all team members and a consensus reached in the minimal amount of time4. If you are an Agile Project Manager/Scrum Master it is your responsibility to keep the team ‘on track’ and to question decisions that may cause a risk to the projectCase Study 2:I had been asked to do some Agile coaching for some teams in a global organisation that was undertaking the Agile transformation of one of their divisions to use SAFe®/Scrum; the transformation had been running for 6 months.  There were 4 teams distributed around the globe doing support work to enable 24-hour coverage for this global organisation.The reasons for SAFe®/Scrum for this transition I covered in my first article.When I arrived Product Backlog requests were arriving daily to the team members from systems users and the individual team member decided whether the requests were important enough to interrupt the work that they were already doing; the Product Owners were not involved in the decision-making process at all.  As a consequence, there were many requests that had been started and abandoned in favour of ‘questionable’ higher priorities and I discovered that some requests had been sent to inappropriate team members, the work would have been better carried out by members of the other global teams.Furthermore, although the teams were doing some Relative Estimating at Sprint Planning (not before), they were focusing on time estimates because that was what the requirements management tool required and what management was tracking progress by.  I shall cover the pitfalls of Sprint Planning in my next article.I started resolving the Product Backlog issues by speaking to all the Product Owners, mostly via video-conferencing, to see if they understood the problems that the current Product Backlog processes were causing.  They did have some understanding but explained that that was the way they worked before the Agile transition and believed that changes to the process were out of their control.I helped them devise a workable process whereby all requests would be sent to  the Product Owners  at a collective address.  They would take turns during a 24-hour period to determine, with Product Managers, the relative priority of new requests against those already on the Backlog.  In addition, once a week, they would ‘get together’ to decide which team would handle any unassigned requests; ‘show-stopper’ requests would be handled as a matter of urgency and handled by whichever team was immediately available and could resolve the issue before their end-of-day.By this process, the Product Owners would gain control of the Product Backlog, there would be less questionable priority decisions and there would be fewer ‘disgruntled’ customers.The process was approved by the Product Managers and all team members apprised of the reasons for the new process and their responsibilities within it.It quickly became obvious at daily Scrums that not all team members were passing all requests that came to them directly from customers to the Product Owners; the process was reiterated to these team members but then the productivity of some of these members decreased significantly.  The cause was that they were still working on their ‘favourite’ customers requests but not reporting it to the rest of the team.The Product Owners then had to analyse the central Change Request system for items that had been completed by their teams but had not appeared on the Product Backlog; the Change Request system was not integrated with the Product Backlogs.Eventually, the ‘lesson’ was learned by ‘miscreant’ team members.Lessons1. Without control of the Product Backlog by the relevant authority (Product Owners), it is impossible to police work to give the best business value to the organisation2. Without control of the Product Backlog, the resolution to some requests may be started and then abandoned in favour of other later requests leaving the customer frustrated3.Estimating by time at the task level wastes a great deal of time; more of which in my next article.ConclusionThe Product Backlog is arguably the most important artifact for product development:The PBI must be ordered by business valueThe PBI must be estimated, preferably by using Planning PokerIts content over time must be controlled by the Product Owner or equivalentTeam members must be closely coached and mentored during the early instigation of process change to ensure their understanding of the need for the change and their compliance
Rated 4.0/5 based on 24 customer reviews
How Not To Be Agile -An Effective Product Backlog 3322
  • by Steve Ash
  • 08th Oct, 2018
  • Last updated on 06th Dec, 2018
How Not To Be Agile -An Effective Product Backlog

Introduction

Hello and welcome to this, the third article in the series ‘How Not to be Agile’.

‘How Not to be Agile’ may seem a strange title for blogs about how good Agile is!  What I intend to do over this series of articles is to share with you the misinterpretations, omissions, and mistakes that people make that significantly reduce the potential benefits when an organisation, or a part of it, embark on an Agile Transformation.

Last time, I discussed the potential pitfalls of not having a suitable Business Case for whatever it is that we are trying to achieve, be it a new product, a major change to an existing product or the Agile transition itself.

This time, I will cover some of the misunderstandings and malpractices that I have come across with respect to the next major item to consider in any Agile framework, the requirements.  The most often used term for the requirements list is the Product Backlog from Scrum; I will use this and other Scrum terminology in this article but you can use whatever names you like; it is the content and management of the requirements list that is important.

I will start with a description of the Product Backlog process and then give examples of what has and could go wrong if not follows the Product Backlog tips.

The Definition of Scrum Product Backlog

Scrum Product

 
Having achieved an agreed Vision and Objectives and decided that the Business Case for the product development is viable, the business stakeholders and development team need to discover a list of ‘business requirements’, at the same level of detail, so that the development team can develop the product in a series of short development timeboxes.

These ‘requirements’ become Product Backlog Items (PBI). 

What is a ‘Requirement’?

Functional Requirements:

There are 3 commonly used ‘structures’ used to express ‘Agile functional requirements’:

Elementary Business Processes (EBP) – the names of EBP, usually extracted from the results of the Business Process Modelling exercise concerned with the area of the business that the product is for; for example:

                                                                                              ‘Capture Customer Details’

Use Cases – from the Unified Modelling Language (UML).  Only the names of the Use Cases, again, usually extracted from the results of Business Process Modelling exercise and the example is the same as for the EBP above
User Stories – a technique from eXtreme Programming which states the user of a business process, the name of the process and why the  process is needed; for example:
                                                                                                    ‘As a sales person
                                                                                  I need to Capture the Customer Details
                                                                                        So that payment can be taken’


For all the 3 ‘requirements’ types, it is only the names of the business process that are needed (with the addition of the other 2 clauses in User Stories); there should be no lower level details in the PBI.
The level of detail for all of the above can be summarised as:

                                            
‘The name of one job, being performed by one person, at one time’

Non-Functional ‘Requirements’:

In addition to the Functional Requirements, the ‘What’, the business will also express the needs of ‘How’ the product will perform such as:

  • All screens must refresh within 5 seconds
  • The system must be available 24/7/365
  • The system must conform to the company marketing graphic language
    and so on and so forth.

These Non-Functional ‘requirements’ can be added to the Product Backlog in a separate section from the Functional Requirements or in a separate ‘document’.

What A PBI Is Not

There was a fashion, that still exists in some places, to have ‘Technical User Stories’; ‘User Stories’ those name technical activities that need to be done; for example:
As a database designer
                                                                         I need to create data access scripts
                                                     So that the product can store and retrieve the data that it needs to use


Such User Stories would just be stating elements of a team member’s work and do not add anything to the understanding of the business needs which the Product Backlog is meant to represent.

It is my strong recommendation that so-called ‘Technical User Stories’ are NOT used because the Product Backlog becomes large, unwieldy, almost impossible to order by business value and prioritisation; the estimated effort for these technical needs are included in the estimation of the ‘business’ PBI; more of which later.

It is true that there may be a need for some activities to set-up the technical environment before the development team can start developing the product, some of which are out of the control of the development team; these activities should take place in parallel with creating the initial Product Backlog.

Creating a Product Backlog

Ordering the Product Backlog

The whole point of Agile is to deliver a product incrementally so that the business can accrue the best value in the shortest possible time.

It, therefore, follows that the product needs to be developed by developing the PBI in the business value order; the highest business value PBI first.

Therefore, the PBI needs to be ordered by business value. I will not go into the techniques for ordering PBI, they are well documented elsewhere but I will give an example, later, of what happened when one team did not use Product Backlog ordering.

Estimating the PBI

We create the initial Product Backlog just after agreeing on the Vision and Objectives and ensuring development viability via the Business CASE  but before development begins; it needs to be estimated in some way to determine how long it may take to develop the product and consequently how much it may cost to develop.

It is a tenet of all Agile frameworks that only the development team is allowed to estimate the PBI.  Once done, these estimates will ‘inform’ the Business Case and analysis can be made to see if the original ‘high-level’ estimates in the initial Business Case are of the same order; a decision can be made as to whether the development is still viable.

Types of PBI estimating

There are 2 generally used types of PBI estimating:

1. Absolute Estimating:  Whereby each PBI is estimated by how much time it would take go from just its name to ‘potentially shippable’ functionality.  Of course, the tasks include analysis, design, construction and testing and what normally happens is that each ‘skill’ will estimate the time it would take for their part in the process and the times summed to get the overall estimate.

2. Relative Estimating:  Whereby the team chooses the PBI which is likely to be ‘the smallest’.

“The smallest in what respect?”  you ask.  The ‘smallest’ does not directly consider time; the PBI criteria that are considered are size and complexity.

However, opinions of size and complexity will vary amongst all team members depending on their skill and experience; what may seem ‘simple’ to an experienced developer may seem complex to the less experienced person.  Similarly, although the analysis and construction may seem simple, the testing may be complex.

For these reasons, it is highly recommended that Relative Estimating is done using ‘Planning Poker’ which is well described elsewhere (see ‘Planning Poker: An Agile Estimating and Planning Technique’); suffice to say here, that once the team have decided which is the ‘smallest’ PBI, they give it a ‘Story Point’ of 1 and all other PBI are estimated with respect to their individual relative size and complexity compared to the ‘smallest’.

So which estimating technique to use?

1. Absolute Estimating can take a long time; it is akin to the traditional way of estimating for the Project Plan.  Also, it has been established that, generally, we are not very good at estimating in time; the larger the thing we are trying to estimate, the worse our estimates get.  However, the technique is familiar to most people and does not require a change of mindset to produce estimates.

2. Relative Estimating requires a totally different mindset amongst the development team members because, initially, not only are they using unfamiliar criteria to estimate the PBI but also, they are estimating in collaboration with other team members with different skill sets and experience.

Despite there being ample evidence that Relative Estimating takes less time overall and allows the stakeholders and development team to focus on business benefit being delivered, because of the ‘difficulties’ of introducing Relative Estimating, many teams revert to time estimation and tracking time.  Also, as we will see in one of the Case Studies below, an organisation’s choice of requirements management tool can make the use of Relative Estimating seem a waste of time for team members.

Another Potential Problem with Relative Estimating

So, having carried out ‘Planning Poker’, the development team now know the total number of ‘Story Points’ that the development represents; not much good to the business stakeholders who want to know how long it is going to take and how much it is going to cost.

On completion of the initial Product Backlog and before development begins, we need to ‘translate’ this total ‘Story Points’ into time.

An Agile Team’s progress is measured by the number of ‘Story Points’ that they deliver in one Sprint; known as the team’s ‘Velocity’.

So we need a knowledge of the team’s Velocity in order to establish an estimate of how long the development is likely to take; for example, if the total number of ‘Story Points’ is 200 and the team’s velocity for a 2-week Sprints is 10, then the estimated time to complete all the PBI is:

         200 ‘Story Points’ / 10 ‘Story Points per Sprint  x 2 (the number of weeks per Sprint) = 40 weeks

However, at the start of an Agile transition, we do not know what the team’s Velocity is or will be.  There are 2 methods to determine what the Velocity may be:

1. The team takes one of the ‘smallest’ PBI (with a Story Point of 1) and does a traditional break down to the tasks involved and estimate those tasks in time;  1 ‘Story Point’ is equivalent to the time represented by the sum of the times estimated for all the tasks
The team’s Velocity may be estimated by:
                                      ‘The number of working days in the Sprint / the estimated days for 1 Story Point’
For example, if the ‘time estimate’ for a PBI of 1 ‘Story Point’  is 1 day:
                                             10 working days in 2-week Sprint / 1 day = Velocity of 10
This velocity can then be used in the formula above to determine the estimate for the potential total time for the development.

2. The development team is allowed to start development for 2 or 3 Sprints taking PBI from the top of the Product Backlog.  At the end of the ‘experiment’ period, the total number of ‘Story Points’ for the completed PBI divided by the number of Sprints completed becomes the Velocity to use in the formula above to determine the estimate for the potential total time for the development.

The potential problem with this method is that management have to release funds for this experimental period without knowing the values to feed into the Business Case to determine whether the product development is viable before development begins.

Once teams have completed 1 product development, we recommend that the team members are kept together for other product developments even though the business area or technology may be different.  Having a team that works well together is more important than creating teams in an ad-hoc manner.  A team’s Velocity varies insignificantly over different product developments and so can be used directly in the formula above to determine the estimate for the potential total time for the development.\

Scoping the Product Backlog

Generally, Agile product developments have strict deadlines so that the major benefits can be accrued; benefits such as competitive advantage, meeting marketing needs, meeting customer expectations or complying with regulations.

Also, Agile teams comprise all the skills necessary to take the PBI from ‘names’ to a potentially shippable product; not all team members are full-time but the team is fixed.

Therefore, generally, the costs for a fixed time product development are also fixed.
Given the classic ‘Iron Triangle’ of development variables:
Scoping the Product Backlog


If we fix time and cost, then the only thing that can vary is the Requirements that are delivered in the fixed time for the fixed cost.

It is quite probable that the initial Product Backlog will contain more PBI than could reasonably be developed in the fixed time available; because the stakeholders/Product Owner has ordered the Backlog by business value, it is relatively straightforward to ‘draw a line’ underneath the lowest PBI in the list that will probably be developed.  We do not remove the lower value PBI because it has been often found during development that a high-value PBI is actually dependant on one of the lower value ones and the ordering has to be amended.

Stakeholders need to understand that even though some requirements (PBI) have been requested, it is probable that they will not be delivered.

But the Product Backlog scoping does not stop there.  The ‘story Points’ for the PBI are estimates and, by definition, they are not accurate.  In the past, to account for ‘inaccurate’ estimates, organisations have added contingency in time and costs to the estimates.

However, in Agile environments where the time and costs are effectively fixed, the development needs some ‘wriggle room’ for when estimates are proved significantly wrong and when requirements change during the development. For an effective Product Backlog, you need to follow Scrum Product Backlog tips.

The Minimum Viable Product (MVP)

The development team must agree with the Product Owner/Stakeholders which PBI represent the Minimum Viable Product, ie what is the minimum to be delivered in the fixed time in order to accrue the minimum benefit required.

There are ‘rules’ how big this MVP can be.  It has been found, from hard-won experience that for a ‘comfortable’ working environment:

1. When a team first starts an Agile transformation they should accept PBI in the MVP which represent around 50% to 55% of the estimated effort; ie if there are 200 ‘Story Points’ in the probable PBI, then the MVP should only contain the highest value PBI whose ‘Story Points add up to between 100 and 110.

2.When the team and the organisation are reasonably Agile-mature, between 9 months and a year of transformation, the team can accept PBI representing up to 65% of the total estimated effort in the MVP.

3.When the team and organisation are fully Agile-mature, PBI representing up to 70% by estimated effort may be accepted in the MVP.  It has been found that no matter how good the teams and organisation are, the variables that come along with all product development make promising more than 70% by estimated effort fraught with problems; the teams must strive not to give stakeholders over-expectations. 

The MoSCoW Rules

Some Agile Frameworks recommend using a technique called MoSCoW to ‘categorise’ the PBI.  The acronym stands for:

  • Must Haves: Those PBI that is essential to the product; equivalent to the MVP above.
  • Should Haves: Those PBI that is important but there is a workaround for them if they not completed in the fixed time
  • Could Haves: Those PBI that might be developed if all the Musts and Shoulds have been completed before the end of the fixed time
  • Won’t Haves:  Those PBI that was initially discovered but was not likely to be completed based on the estimates for the more valuable PBI

“The ‘o’s are just for fun”!

Using the MoSCoW rules allows the Business Case to be prepared with 3 scenarios:

  • The ‘Best Case’ scenario where all the probable PBI are completed; giving the best benefit in the fixed time
  • The ‘Expected Case’ scenario where all the Musts and Shoulds are completed giving the majority of the expected benefits in the fixed time
  • The ‘Worst Case’ scenario where only the Musts are delivered giving only the essential expected benefits in the fixed time.


Case Study 1:

I was working as a business analyst and ‘just-in-time’ Agile trainer/coach for an outsourced team building a replacement system.  The team had 6 full-time business representatives to specify the Agile Requirements (UML Use Cases in this instance).

Creation of the Product Backlog went smoothly; a good ‘To-Be’ Business Process Model was created and Use Cases to be included in the new system were identified; there were 92.

Unfortunately, I was due to go on 3 weeks holiday, so I briefed the team on how to order the Product Backlog and we ran through some Planning Poker with a few of the Use Cases.

When I came back from holiday, I discovered that the team business representatives had had problems in ordering the Product Backlog and had abandoned the attempt because they considered that all the PBI were essential.  Also, the whole team had had problems with Planning Poker because they didn’t know enough about the low-level details.

It had been decided to prototype all the Use Cases before estimation and the developers were split into 3 sub-teams for prototyping and the business representatives split into 3 pairs.

I had taught the team that the prototyping of any PBI should only go through 3 cycles:

1. Investigation where a very rough ‘first draft’ is specified, built and reviewed to make sure that the developers are ‘on the right lines’

2.Refinement where the majority of the functionality is specified, built and reviewed

3.Consolidation where any ‘tidying-up’ was specified, completed and the complete prototype demonstrated to the wider stakeholder community

If it takes more than the 3 cycles, then something is wrong with the detailed process being followed.

The time taken to produce a prototype should be no more than 2 days but it can be as short as 2 to 3 hours if done in a workshop.

Unfortunately, it was decided to pick Use Cases to prototype based on their perceived ‘easiness’ and ‘rotate’ the business representative pairs around the prototype builders such that one pair specified the Investigation, another pair reviewed the Investigation and specified the Refinement and the third pair reviewed the Refinement and specified the Consolidation.
 
At the ‘final’ review, with all 6 business representatives present, the ‘final’ prototypes were significantly different from what was originally specified for the Investigation and ‘recriminations’ took place.  So the prototype developers started again.

It had taken 3 weeks to develop the prototypes for 6 PBI!

I asked the project manager what his estimate was for completing the prototypes for all the PBI; he calculated that the time that would be necessary was 1 month longer than the specified length of the project.

Suffice to say that I worked with the customer representatives to convince them that it would be improbable to complete all the PBI in the fixed time/fixed cost development contract and helped them order the Product Backlog and decide on an MVP. It is worth noting this product development had a Vision, there were no stated objectives nor a visible Business Case.

I worked with the developers and business representatives (who were full team members) to ‘play’ Planning Poker.

Actual development work started one week later; PBI were completed in the fixed time that equated to approximately 70% of the expected business benefit; a further short project was commissioned to bring the expected business benefit up to 90%.

Lessons:

1. Do not go on holiday at a crucial time during the product development lifecycle!

2. If the Product Backlog is not ordered by business value, significant time will be wasted prototyping PBI of low business value

3. If prototyping is to be used, then the whole team should do it together in a workshop; all views will be accessible to all team members and a consensus reached in the minimal amount of time

4. If you are an Agile Project Manager/Scrum Master it is your responsibility to keep the team ‘on track’ and to question decisions that may cause a risk to the project

Case Study 2:

I had been asked to do some Agile coaching for some teams in a global organisation that was undertaking the Agile transformation of one of their divisions to use SAFe®/Scrum; the transformation had been running for 6 months.  There were 4 teams distributed around the globe doing support work to enable 24-hour coverage for this global organisation.

The reasons for SAFe®/Scrum for this transition I covered in my first article.

When I arrived Product Backlog requests were arriving daily to the team members from systems users and the individual team member decided whether the requests were important enough to interrupt the work that they were already doing; the Product Owners were not involved in the decision-making process at all.  As a consequence, there were many requests that had been started and abandoned in favour of ‘questionable’ higher priorities and I discovered that some requests had been sent to inappropriate team members, the work would have been better carried out by members of the other global teams.

Furthermore, although the teams were doing some Relative Estimating at Sprint Planning (not before), they were focusing on time estimates because that was what the requirements management tool required and what management was tracking progress by.  I shall cover the pitfalls of Sprint Planning in my next article.

I started resolving the Product Backlog issues by speaking to all the Product Owners, mostly via video-conferencing, to see if they understood the problems that the current Product Backlog processes were causing.  They did have some understanding but explained that that was the way they worked before the Agile transition and believed that changes to the process were out of their control.

I helped them devise a workable process whereby all requests would be sent to  the Product Owners  at a collective address.  They would take turns during a 24-hour period to determine, with Product Managers, the relative priority of new requests against those already on the Backlog.  In addition, once a week, they would ‘get together’ to decide which team would handle any unassigned requests; ‘show-stopper’ requests would be handled as a matter of urgency and handled by whichever team was immediately available and could resolve the issue before their end-of-day.

By this process, the Product Owners would gain control of the Product Backlog, there would be less questionable priority decisions and there would be fewer ‘disgruntled’ customers.

The process was approved by the Product Managers and all team members apprised of the reasons for the new process and their responsibilities within it.

It quickly became obvious at daily Scrums that not all team members were passing all requests that came to them directly from customers to the Product Owners; the process was reiterated to these team members but then the productivity of some of these members decreased significantly.  The cause was that they were still working on their ‘favourite’ customers requests but not reporting it to the rest of the team.

The Product Owners then had to analyse the central Change Request system for items that had been completed by their teams but had not appeared on the Product Backlog; the Change Request system was not integrated with the Product Backlogs.

Eventually, the ‘lesson’ was learned by ‘miscreant’ team members.

Lessons

1. Without control of the Product Backlog by the relevant authority (Product Owners), it is impossible to police work to give the best business value to the organisation

2. Without control of the Product Backlog, the resolution to some requests may be started and then abandoned in favour of other later requests leaving the customer frustrated

3.Estimating by time at the task level wastes a great deal of time; more of which in my next article.


Conclusion
The Product Backlog is arguably the most important artifact for product development:

  • The PBI must be ordered by business value
  • The PBI must be estimated, preferably by using Planning Poker
  • Its content over time must be controlled by the Product Owner or equivalent
  • Team members must be closely coached and mentored during the early instigation of process change to ensure their understanding of the need for the change and their compliance

Steve

Steve Ash

Blog Author

Steve Ash has been working with ‘Agile’ since 1993 when it was known as ‘Managed RAD’.  He was an early adopter of the DSDM Framework in 1995 becoming a DSDM Board Member in 2002 and was a DSDM examiner.  He is a DSDM Advanced Practitioner and Accredited Trainer/Coach. Steve has since embraced Scrum, Kanban, the techniques advocated by XP, Lean Software Development and Lean Startup. He joined the Agile Alliance in 2002 and is a Certified Scrum Master (CSM), Certified Scrum Product Owner (CSPO), SAFe® Certified Consultant (SPC4) and certified by APMG International to teach Agile Project Management and Agile Business Analysis courses. Since 1996, Steve has trained, mentored and coached hundreds of people in many public and commercial organisations in 11 countries from the USA, through Europe and India to Asia/PAC.
 

Join the Discussion

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

Suggested Blogs

Introduction to Scaled Agile Framework (SAFe®)

Implementation of software solutions vary based on complexity and magnitude. Not all implementations are simple and straightforward. Software solution implementations of enterprise scale require more rigorous processes and streamlined practices to allow businesses to address challenges posed during such engagements. Businesses are also required to take up such challenging implementations while operating in challenging business environments which forces them to implement solutions in the shortest sustainable lead time. Best practices for scaled agile framework tells you principles which can benefit the organisation As we all know, the change-driven approaches of Agile project management came into being to address the problems in traditional long running plan-driven software projects. But, Agile projects were traditionally more suitable for smaller projects that required six to eight team members. So, the need for a process to deliver large scale projects using Agile methodologies increased over the last few years. The scaled agile framework provided the much needed guidance for the same. Reason for SAFe® The primary motivation for SAFe was to allow for collaboration, synchronization and coordinated delivery of solutions developed by multiple Agile teams. SAFe is a framework that can be scaled up or down as per the requirements of the organization. Thus, SAFe supports small-scale solution implementations which require 50 to 125 team members as well as complex, cross departmental and even cross-organizational solution implementations that require thousands and ten thousands of team members. How does SAFe work? It is fascinating to understand how SAFe facilitates scaling of this magnitude? SAFe framework describes roles, responsibilities, artifacts and activities that are required to develop and deploy software solutions Lean-Agile software implementation principles. SAFe principles are developed using 3 main bodies of knowledge. They are as depicted in the diagram below.  Agile development embraces change where cross-functional, self-organizing and self-healing teams develop software in an iterative and incremental manner using small bursts called sprints.  “Systems thinking” motivate team members to consider each and every element that are within the context as a whole. For example the business context for which a solution is being developed may involve factors internal to a business such as data, systems, technology, resources (financial and non-financial) as well as factors which are external such as competitors, government and regulatory bodies, suppliers and distributors, financial institutions etc. which may all impose constraints on the solution.  One of the key principles in Agile methodologies involves lean principles which is to minimize waste or non-value adding activities and to increase the probability and impact of value-adding activities.  Common questions, which SAFe addresses   SAFe was developed to address the following industry wide questions. How can organizations scale agile practices starting from small agile project teams, to larger programs, to business unit or enterprise wide programs or portfolios and even to cross-organizational mega projects? How can teams of scale be organized around continuous delivery of value? How can teams of such magnitude collaborate effectively avoiding delays and bureaucracy evident in such large scale projects if run as traditional projects? How can dependencies between multiple teams be managed? How can an environment that fosters collaboration, continuous improvement and innovation be created and sustained? How can culture be molded to motivate team members to make mistakes and learn from them? How can the team measure success of new working methods followed and how can they make it more efficient? SAFe provides a well-defined set of values, principles and practices which can be adopted enterprise-wide to better address these questions above. In my upcoming articles I will discuss about different configurations of SAFe with details on how different roles, systems, practices and values contributes towards continuously delivering value through the agile release train.  
Rated 4.0/5 based on 20 customer reviews
Introduction to Scaled Agile Framework (SAFe®)

Implementation of software solutions vary based on... Read More

Agile Contracts or Agile Statement of Work - Must-Haves

In IT with the Agile boom, everyone wants to get into Agile Development. Be it the customers, organizations, and even developers, everyone wants to get into Agile Development. Customers want to follow Agile so that they can get to see the Product early and the changes can be incorporated without any cost. In other words, they want fixed price, variable scope. But, organizations need to be cautious in order to define how much variable scope is included in contract clauses. Organizations want to keep themselves up-to-date and follow Western culture blindly. Statements like these often come “Everyone is going Agile, why aren’t we yet?” They have to understand, every environment, every team, and every client is different. We just cannot keep on copying everyone else. Developers, of course, will have “Agile” word in their resumes which will help them grow and find jobs.   The number of agile contracts [by govt] amounts to a coat of agile paint on a giant waterfall HT @RachelProsser https://t.co/IEOPRRFFM5 — (((Dave Moskovitz))) (@davemosk) October 9, 2017 So, in desperation, companies (small or medium organizations) ONLY follow what customers say. What they end up is – with an agreement that has clauses of Waterfall model and they tell clients that we will follow Agile. These clauses might be like having fixed scope or fixed price which will be given by end of phase like requirement gathering or planning or UAT done etc. But we forget, that in Agile, every iteration has these phases and we should be targeting the contract in such a manner that it is win-win for both the parties at end of every iteration. Below figure distinguishes between the Traditional Pyramid and Agile Pyramid. Traditional pyramid has fixed scope while Agile one has the Estimated scope, to be considered while negotiating the contract.   Lawyers and Sales team need to be taught that if we are following Agile, we need to follow the terms and conditions for Agile contracting and not of Waterfall.   #agile contracts, however, are not the silver bullet: few of them delivered the right client benefits. @WC_REFSQ pic.twitter.com/8MSb0okXQ7 — Samuel Fricker (@samuelfricker) March 15, 2016 Apart from including changes like, Product Backlog (instead of BRD), Key roles in Project, the Agile methodology, below are few MUST HAVES that should be mentioned clearly in the contracts and need to be communicated to the customers, during the contract negotiation: 1. Pricing Model: It is unrealistic to expect any development project or product, to be delivered on a Fixed price basis. We all know that there will ALWAYS be changes in scope which will affect the original price. If the customer has a fixed budget, this can be managed within an Agile project by focusing on the development of high-priority items first, allowing the Customer to remove low-priority items from scope. All such issues must be taken into account when negotiating the Pricing Model for the project. Below are a few potential pricing models: a. Fixed Price per user story – Be cautious here, too long user stories need to be broken up.  b. Fixed Price per iteration – Make sure that all iterations range to similar story points. Remember, we have to create win-win for both parties. c. Fixed Price for the agreed number of features – Describe the feature well in advance. d. Time & Material (our favorite) - Customer continues to pay during an agreed-upon time period. The customer pays till a point he sees value being added. In case he sees that no value is being added, the customer stops paying and the contract ends. 2.Spikes for high-risk elements: In case the project has specific, high risk elements, e.g. technical challenges or business issues that are absolutely first timers or have never been solved before, these MUST be communicated up-front. Such Programming spikes where we attack only the riskiest coding in the project must be included in the contract. These spikes give customers a realistic view of the project ahead for the least amount of money and avoid conditions of "Fast failure". The main goal here is to uncover any weaknesses in the proposed development and hence be ready with the new plan and strategy in order to make the project successful. 3. Define Scope, but no need to mention delivery items: Product backlog defined at the high level MUST be attached to the contract as one of the appendices. Though the scope is variable and will change during the course of the project, high-level scope must be included in the contract. Delivery Items will change post discussion with PO on every iteration, but the high-level scope remains the same. Emphasize on process rather than on dates and items. This will keep the team’s mindset collaborative. 4. Settle on Definition of Done at high level: While negotiating the contract, the “Definition of Done” should ideally be defined and attached as an appendix. The clauses for “Definition of Done” that needs to be included are: a. During every Sprint Planning, PO and the development team will review the “Definition of Done” for the items that are included in that particular Sprint. b. In case of disputes, there should be appropriate resolution techniques in place between the parties.   Concluding the article by revisiting one of the values of Agile Manifesto: Customer collaboration over contract negotiation. Contracts matter to those who have signed it. Customers do face problems and you will be able to see them only when you talk to them. Once you see and understand their problems for which they have hired you to provide the solution, you need to COLLABORATE with them and get to it. Despite all the clauses in the contract, the motto should be “LET’S DO IT !!”.  
Rated 4.5/5 based on 1 customer reviews
1135
Agile Contracts or Agile Statement of Work - Must-...

In IT with the Agile boom, everyone wants to get i... Read More

Who is a Scrum developer?

The Scrum method of project management is an effective framework for implementing an Agile software project. Any team using the Scrum method to develop a software project basically comprise of 3 entities, namely the Product Owner, the ScrumMaster, and the Development team. More about the Development team The Development team not just comprises of programmers and software developers, but contain a mix of professionals including software designers, architects, business analysts, documentation experts, and software testers. The responsibility of each member of the Development team is to deliver a functional element or chunk of the overall product at the end of each sprint cycle. Development team members, in addition to their core skills, have the following responsibilities when working for a Scrum project: • Estimate the effort required in completing their tasks. • Achieve the goals defined for each sprint. • Learn to write user stories for product features and divide them into smaller tasks. • Identify any impediments to the progress of the project and report the same to the ScrumMaster. • Attend daily scrum meetings and report the completed and planned tasks for each day. • Collaborate effectively with other Development team members. Thus, in addition to their core capabilities, each development team member must possess additional qualities, such as being an efficient team player, self-motivation, self-organization, analytical, and good collaboration skills. All about the Scrum developer A Scrum developer is a professionally-certified Scrum expert and can be any member of the Scrum development team. The Scrum developer is skilled in the Scrum methodology and can work effectively with any Scrum development team. A Scrum developer is well-versed in the basic understanding of Scrum framework, and how to implement it effectively for any software project. A professional Scrum developer has the following traits and qualities: • Possesses a deep knowledge of the Scrum methodology and good learning skills. • Possess technical knowledge and skills of their core skill that could be software analysis, software programming or coding, UI design, or software testing capabilities. • Excellent team skills that can help them collaborate and work with other team members. Certification courses Certification courses for Scrum Developer are available from a number of software training institutes. A professional Scrum Developer certificate can acquire basic or advanced skills in Scrum methodology and learn to use it effectively in any software project. Scrum Developer courses are suitable for any member of the Development team, including software architects, programmers, database experts, testers, and any one possessing any technical knowledge of software products. Professionals, who have previously worked in an agile framework or in any Scrum team, are best qualified to attend these Scrum certification courses. Certified Scrum Developer courses focus on imparting the following Scrum-related skills: • Agile project management skills Understand the basic framework of an Agile process, its architecture, design, along with the core benefits of an efficient Agile-based software development life cycle. • Test-driven Development (TDD) An approach that has improved the speed and quality of software development in an agile environment. TDD is used for quick improvements in the application code after executing a specific test case for the functionality. Hands-on use of popular software tools that are used for implementing this approach is covered. • Continuous integration (CI) Continuous integration in Agile development environment involves the configuring of the CI systems for generating daily or hourly builds. In addition to source codes, CI also integrates execution of unit test cases and other artefacts. • Code Refactoring Code Refactoring is a process used in Agile methodology that can simplify the design of existing code without changing its functionality. Required skills include identify code smells and applying refactoring techniques to enter cleaner code. • User stories User stories is an Agile technique that helps you to write proper user stories and then break them down to manageable chunks of functionality. User stories are an effective technique of collaborating not only with other Scrum team members, but also with higher stakeholders in the overall project. Most Scrum developer certification courses lasts for around 3-5 days, with the first part of the training devoted to the understanding of the Scrum framework and its working concepts. The second part of the training is usually devoted to hands-on training in Agile tools and methods that are commonly used in most Agile projects. In addition to certification courses in Scrum development, advanced courses for becoming a certified ScrumMaster and Product Owner are also offered by professional training institutes. A professional Scrum Developer course gives the trainees hands-on experience of being part of an effective Agile team using the hands-on training in TDD testing, refactoring, and acceptance tests. The certified developer not only understands the skills of the Scrum framework, but also realizes its importance in the efficient implementation of any software development process.
Rated 4.0/5 based on 20 customer reviews
Who is a Scrum developer?

The Scrum method of project management is an effec... Read More