Estimating User Stories for Developers

User stories are the smallest pieces of functionality that are added to a product. Since the developer role is responsible for creating the code for user stories to work, they need to be aware of the user stories and they should be included in the user story planning and estimation process.

What is a User Story?

Before looking at developer influence on user stories, it is important to know what a user story is. In general, a user story is a short description of a function that stakeholders need the software product to do. It is not at all technical, it is purely functional. In practice, user stories represent small but distinct pieces that must be added to the product. Every individual user story consists of an action that can be performed and tested on its own.

A good way to understand what user stories are is to compare them to tasks. Where tasks are individual pieces of work that must be done, the user story refers to the feature that results from this work. Each task is assigned to only one team member, but user stories may require several team members across multiple roles. Any user story may require multiple tasks to be completed. Tasks come from the Scrum team’s perspective, while user stories come from the perspective of the stakeholders.

The User Story Process

In Agile, there are steps that a user story must go through before it becomes a part of the product. Each of these steps has a distinct goal. While the developer role may not be the driving force, it does help to have developers present in the process. This process starts with the inputs into the user stories, then the approval and prioritization of the user stories, the user story estimation, and finally the commitment to develop the user stories.

Input

The first step of user story creation is input. This consists of getting information from stakeholders on what they want in a software product. There are numerous different methods to obtain input, and methods of obtaining this information vary across different organizations. Some teams prefer for the product owner to meet with the stakeholders, in order to observe the stakeholders workflow. Other teams may issue surveys, to ask specific questions of stakeholders.

Developers are less important during the input phase, but can still offer value in this part of the process. Since the input is still very early in the process, not everything that stakeholders ask for will be included in the product. As such, developers should not jump right into planning and research, since they may be wasting time on features that are omitted. Instead, developers can offer more technical ways to acquire input. From digital surveys to automatic response sorting, developers are typically more tech-savvy than other roles on a Scrum team. This equips them to contribute to the type of input that the team pursues.  The gathered input can then be in a more desirable format for the development team.

Approval and Prioritisation

After the stakeholders have given input, the Scrum team begins to put together user stories for approval. This includes a number of different steps to create the most useful and direct user stories. The Scrum team must examine whether something counts as a full user story or just a trivial action. Many small actions might need to be combined to be a single user story. On the other hand, large stories in the form of epics may need to be broken down into several smaller user stories to cover individual features.

<– Continue Reading –>

Our Book Recommendations

We found these books great for finding out more information on Agile Scrum:

Master of Agile – Agile Scrum Developer With 59 Seconds Agile (Video Training Course)

Introductory Offer: Free Course

Master of Agile – Agile Scrum Developer With 59 Seconds Agile (Video Training Course)

What is this course?

This ‘Master of Agile – Agile Scrum Developer With 59 Seconds Agile (Video Training Course)’ provides an in-depth understanding of the Agile Scrum Developer roles and responsibilities

You will explore the Agile Scrum project life-cycle, including how an Agile User Story is created, to how we know when it is ‘done’

This course is aimed at those with or without prior knowledge and experience of the Agile values and principles

During this course you will learn the tools needed to succeed as an Agile Scrum Developer

What will you learn?

You will gain an in-depth understanding of the Agile Scrum Developer roles and responsibilities, and you will be able to

  • Fully understand the role of the Agile Scrum Developer
  • Understand the roles involved in an Agile project
  • Create an effective Product Backlog
  • Effectively participate in Scrum Meetings such as the Daily Stand-up, Sprint Review and Retrospective
  • Identify the roles involves in the Scrum Team

What topics are covered within this course

You will cover the following topics during this course:

  1. An Introduction to Agile Project Management (Developer)
  2. The 12 Agile Principles (Developer)
  3. Introduction to Scrum (Developer)
  4. Scrum Project Roles (Developer)
  5. The Agile Project Life-cycle (Developer)
  6. Acceptance Criteria and the Prioritised Product Backlog (Developer)
  7. Initiating an Agile Project (Developer)
  8. Forming the Scrum Team (Developer)
  9. Epics and Personas (Developer)
  10. User Stories and Tasks (Developer)
  11. Implementation of Scrum (Developer)
  12. The Daily Scrum (Developer)
  13. The Product Backlog (Developer)
  14. Scrum Charts (Developer)
  15. Review and Retrospective (Developer)
  16. Validating a Sprint (Developer)
  17. Retrospective Sprint (Developer)
  18. Releasing the Product (Developer)
  19. The Communication Plan (Developer)
  20. Formal Business Sign-off (Developer)