Blog_Banner_Asset
    Homebreadcumb forward arrow iconBlogbreadcumb forward arrow iconFull Stack Developmentbreadcumb forward arrow iconWhat are Story Points in Agile & How to Estimate?

What are Story Points in Agile & How to Estimate?

Last updated:
17th Jun, 2021
Views
Read Time
9 Mins
share image icon
In this article
Chevron in toc
View All
What are Story Points in Agile & How to Estimate?

What are Story Points in Agile?

The story points are a measurement to estimate the work carried out through the implementation of agile frameworks like Scrum and eXtreme Programming.

Implementation of a user story is a difficult task to achieve. The team could face risks; complexities, etc. while the development process. This difficulty level is measured by the development team through the use of an abstract measure called the story point. Therefore, story points in agile are used as metrics in agile development.  It tells the team about how difficult the implementation of the story is. 

The product backlog grooming sessions perform the estimation of the story points which are then evaluated by the product development and the testing team. This is done in order to increase the efficiency of the sprint planning. The product backlog grooming is the rough estimation that checks:

  • Whether the sprint plan is ready to be efficiently conducted.
  • Is the information enough for completing the matters. 
  • Whether the sprint plan based on the user story is reasonable.

There are three main components in agile story point estimation:

Ads of upGrad blog
  • Risk: for a particular item, the risks associated with it are vague demands, changes during the mid-process, and dependence on a third party.
  • Complexity: It represents the difficulty level of developing a feature. 
  • Reception: It determines the familiarity of the feature with the team members and how monotonous certain tasks are within the development.

Check out our free courses to get an edge over the competition. 

Incorporation of the three points allows the accurate planning of sprints including a cushion for uncertainty, issues related to better estimation, and avoidance of learning too heavily on time commitments. 

Estimation of Story Points in Agile

Steps for estimation agile story points

Involvement of the developers, designers, testers, etc. is considered to be key factors while estimating agile story points. As every team member has different perspectives of carrying forward the work and delivering the product, effective collaboration is important. For example, change in any design doesn’t only require the efforts of a design team but also needs the involvement of the development as well as the QA department.

To start with the estimation of story points in agile, the team should have a baseline story that is not necessarily required to be small but which can be well resonated within the team. This is followed through the sizing of the stories based on the baseline story. With the help of the reference stories, points should be given to the story. Each story is assigned a point value.

Check out upGrad’s Advanced Certification in DevOps 

Explore our Popular Software Engineering Courses

Benefits of Sizing

The agile delivery team carries out the process of sizing which is easier to estimate. Through sizing

  • The overview of the scope of work can be viewed.
  • The size of work can be determined through multiple perspectives.
  • Any false assumption can be rectified.
  • Things that can’t be exact are cleared out.

Sizing is done considering the following:

  • The amount of work to do
  • The complexity of the work
  • Risk or uncertainty in doing the work
  • Time / Duration

Check out upGrad’s Full Stack Development Bootcamp (JS/MERN)

The sprints can be more accurately planned by following the listed process:

A three-step process to estimate story points are:

  1. Use of Fibonacci sequence series.
  • The traditional human day assessment has been replaced to estimate story points through the Fibonacci numbers i.e. 1, 2, 3, 5, 8, …
  • A linear scale is not used as it offers items that are not differentiated enough to define an estimate. However, the Fibonacci series can estimate the minor jumps in a problem.
  • Fibonacci series represents a sequence of numbers where the next number in the sequence is the sum of the preceding two numbers. To estimate story points in agile, the Fibonacci sequence is modified to 0.5, 1, 2, 3, 5, 8, 13, … 

Explore Our Software Development Free Courses

  1. Determination of a matrix 
  • A baseline for each story point is determined. 
  • The baseline is included in the matrix as the value of 1. This is set as the standard for the least amount of risk, repetition, etc. 
  1. Planning poker

Through the planning poker, the team agrees to the correct story point approximation for each item.

The working of planning poker is

  • During the sprint planning, a set of cards is received by each developer and tester. The cards depict a Fibonacci series number.
  • An item from the backlog table is selected out for questioning and clarifying the features of the items.
  • At the end of the discussion, a card reflecting the estimate of the item is privately selected out by the tester and the developer.
  • The cards are then revealed by the estimators. They move on to the net item if a consensus is met. For varying cards, the discussion is carried on by the leaders until a consensus arrives.

A completed matrix is useful for the estimators to use as a reference during the planning poker. This allows greater consistency across the tasks. Further, the maximum limit of the estimation is 13, if it is more than 13 then it is effective that the task should be broken down into smaller items. Also, if the task is estimated to be smaller than 1, then it is advisable to incorporate it into another task.

Another 8 steps estimation for successful estimation of story points in agile are:

  1. Identifying the base stories
  • One of the important steps to estimate story points in agile is to identify a base story that is used as a reference for relative sizing of the backlog.
  • The baseline story is picked from an earlier story that was carried out by the development team or from a current product backlog.
  • The understanding of the baseline story should be the same among every team member. In other words, there should be confidence in the team over the baseline story.
  1. Discuss the requirements
  • The details of the story have to be discussed and explanations related to the user story are to be provided by the Product Owner or a business analyst.
  1. Jot down important things
  • Any important things that are to be important should be jotted down. 
  • The scrum master best does this job during the ongoing discussions.
  1. Important questions to be asked

A few questions are too important that the developing team has to ask themselves.

  • Before starting on the design, what is necessary to be learned by the team members?
  • What is the requirement of the code for the story? How much length is required and are there any similar codes written by the development team earlier.
  • For acceptance by the customers, how much work is involved?
  • Are there any external dependencies that the story has?
  • Does anyone in the team have any expertise or experience working in the same story?
  • Does the story have any simplicity or associated complexity either from the perspectives of business logic or from technical perspectives?
  • How much certainty is there for getting the dependencies in time?
  1. Points for relative comparison
  • Relative points for comparison should be assigned to the story.
  • The same number of points should be assigned to the story, i.e. 1, for stories which have the same amount of work as already sized stories.
  • For more difficult stories, a proportionately higher value should be assigned.
  • If the story is less complex due to the learning available from the previous story but almost similar to that story, a lower value is to be assigned.
  1. A consensus is to be attained among the entire team as per the size of the story.
  2. There should be a validation of the fact that there is an internal consistency among the stories.
  3. It should be ensured at repeated intervals that all the 1’s are the same or all the 2’s match, etc.

In-Demand Software Development Skills

Benefits of Agile Story Point Estimation

Applying estimation to the story points in agile offers benefits to both the developers and the product owners.

Benefits offered to the developers are:

  • Application of estimation allows the developers to know how much planning is required for a sprint and hence can carry forward the work at a sustainable pace.
  •  Over planning of the sprint is avoided.
  • The implementation strategy and requirements needed in a product are well understood through the discussions and elaborations.

Benefits offered to the product owners are:

  • Longer-term delivery of the product can be focused on.
  • The “value for money” or “return of investment” of the items can be assessed.
  • The technical risks of large items are visible to the product owners. 
Ads of upGrad blog

Learn Software Courses online from the World’s top Universities. Earn Executive PG Programs, Advanced Certificate Programs, or Masters Programs to fast-track your career.

Read our Popular Articles related to Software Development

Summary

Like the agile methodology involves practice, estimation itself is a practice that will get better with time. Implementation of estimating agile points benefits both the developers and the owner that ultimately results in an effective solution.

If you want to master your hands in the development of software, then come forward and check the course Executive PG Programme in Software Development – Specialisation in Full Stack Development offered by upGrad.

The specialization course will help in transforming the hidden creativity of any entry-level professionals towards their future of software development. If any help is required, you can contact our team of assistance.

Profile

Rohan Vats

Blog Author
Software Engineering Manager @ upGrad. Passionate about building large scale web apps with delightful experiences. In pursuit of transforming engineers into leaders.

Frequently Asked Questions (FAQs)

1What are Story Points in Agile?

2How do you estimate the correct story points?

If the story is about a trade show, which is taking place in six months, then you can put a point of two, because the requirement is not going to be changed. If you are developing a user interface, story points can be one. If you are programming a server, you can put one point for two hours. Sometimes the team is not able to estimate a requirement, so it is better to put a large number of points to indicate that you don't know how much effort it is going to take. On the other hand, if you have a story which is a simple one, where you are just adding a new button on a form, you can say that this point is one. There are some tools available to calculate time in story points.

3What is agile development?

Agile development is a methodology for software development. In agile development, requirements and solutions evolve through continuous communication, feedback and collaboration between self-organizing cross-functional teams. It is a general term for several iterative and incremental methodologies, such as Scrum and Extreme Programming (XP). Instead of waiting till the end of the project to see if it is any good or not, the agile development methodology was created in order to deliver working software at regular intervals throughout the project. This is done by setting up small teams with specific goals and to deliver a complete and working software at the end of each iteration.

Explore Free Courses

Suggested Blogs

8 Exciting Full Stack Coding Project Ideas & Topics For Beginners
4058
A Full stack developer is an engineer who can design and develop an end-to-end application independently by handling all the work of coding, databases
Read More

by upGrad

19 Feb 2024

17 Interesting HTML Project Ideas & Topics For Beginners [2024]
414964
Summary In this article, you will learn 10 Interesting HTML Project Topics. Take a glimpse below. A tribute page A survey form Technical documentati
Read More

by Rohan Vats

19 Feb 2024

How to Open json File in Excel
96594
What is JSON? JSON (JavaScript Object Notation) is a file format that is used for storing and exchanging data in the network. It is used to send data
Read More

by Rohan Vats

19 Feb 2024

JSP vs Servlet: Difference Between JSP & Servlet [2024]
52597
Websites are collections of static files, for example, images, graphics, and HTML files. These websites are referred to as web applications if they pr
Read More

by Rohan Vats

19 Feb 2024

Java Developer Salary in India in 2024 [For Freshers & Experienced]
900556
Wondering what is the range of Java developer salary in India? From choosing your first programming language to writing apps for Android and several
Read More

by Rohan Vats

19 Feb 2024

Polymorphism In OOPS: What is Polymorphism [Detailed Explanation]
124377
Polymorphism in OOPs is inseparable and an essential concept of every object-oriented programming language. An object or reference basically can take
Read More

by Rohan Vats

19 Feb 2024

Literals In Java: Types of Literals in Java [With Examples]
8152
Summary: In this article, you will learn about Literals in Java. Literals in Java Integral Literals Floating-Point Literals Char Literals String Lit
Read More

by Rohan Vats

19 Feb 2024

Top 30 Exception Handling Interview Questions and Answers [For Freshers & Experienced]
35837
Exception handling is a concept that is implemented in algorithms to handle possible runtime errors, which may disrupt the normal flow of a program. S
Read More

by Rohan Vats

19 Feb 2024

Top 40 MySQL Interview Questions & Answers For Beginners & Experienced [2024]
129854
Have a Data engineering or data science interview coming up? Need to practice some of the most asked MySQL interview questions? The article compiles t
Read More

by Rohan Vats

19 Feb 2024

Schedule 1:1 free counsellingTalk to Career Expert
icon
footer sticky close icon