Skip to content Skip to sidebar Skip to footer

How to Define Features In Agile – How it differs from Epics

Agile is quickly becoming the top choice for project development strategies. Many project managers choose Agile over other ways of developing projects. Features in Agile terminology are distinct units of functionality that provide significant business value and meet a stakeholder’s requirement. The collection of User stories constitutes a feature. The required features and the capabilities of the final product are specified and then divided into smaller tasks that are completed separately.

What are the Features of Agile?

The agile feature details the service or solution as needed by the stakeholder and delivers the business value. Every feature has benefit hypotheses and a set of acceptance criteria.

User stories are brief, conversational descriptions of features in the software, typically written from the user’s point of view and emphasizing the value the feature will bring.

What Characteristics do Features Possess?

A feature must possess the following properties, which you will learn more about during the CSM certification:

  • It must give significant business value.
  • Agile team members should have enough information to estimate features. It will aid in estimating the effort required to implement the feature.
  • Features in Agile should be manageable enough to be completed in the context of a project increment wrt SAFe or 2 to 3 iterations in just agile way of working.
  • Features should be written in such a way that they are testable by the scrum team.  The team should be able to test the features independently. 

How Large Should Product Features be?

A feature should take no more than two to three months to complete. They must fit within one Program Increment if the SAFe is being implemented. If you are keeping track of the cycles of investment funds, then they need to be compatible with these cycles. You may measure the velocity of feature points for each program increment and exhibit progress and performance to investors.

Feature Breakdown Structure (FBS)

Agile development uses a feature breakdown structure (FBS) approach that breaks down into smaller, more manageable chunks of tasks. It helps in enhancing effective communication between the customer and the development team. In addition to this, it helps in monitoring the development of the work concerning the value that is being generated.

Making a Preliminary list of Features

The requirements for evolving a product or solution may come from different directions. Input can be from Market Research, Competitor Product analysis, market surveys, customer feedback, Empathy maps, Personas, etc. Usually, the Product Manager gathers all these data and comprehends them into features as backlogs.

This may not be the scenario at all times. Many organizations that follow agile, may just have the role of Product Owner. So Product Owner writes the features, and he may also involve the development team to better understand and capture the required details for the feature. Usually, PO may draft the initial feature list which can serve as a blueprint for the initial release and subsequent iterations.

When new features are discovered to be critical, they are easily added to the evolving release plan and made available in a subsequent iteration. As the project progresses, the work undergoes modifications to account for newly established objectives, additional input from stakeholders, and shifting conditions in the industry.

How do you go about Writing Features?

There are essential procedures involved in determining features. Let’s examine each one.

  • Define Business Hypothesis:  It begins by defining the benefit hypothesis of the feature. Draft the benefits that the customer would gain after the considered feature is delivered.  Also, at this stage, try answering most of the ‘why/what’ questions about the feature viz ‘why this feature is required, ‘what benefit would the customer gain out of this?’ etc. 
  • Evaluate the Business Value: Business value for the feature is calculated considering multiple factors such as :  
    • Time is taken to build the product
    • Time is taken to release to customer
    • Funds required to build the product
    • ROI 
    • Number of users using the product
    • Frequency of the product being used etc.
    • User Friendliness
  • Short Description: Brief details about the feature should be drafted. 

It should explain the purpose/context of why the feature is required and the Scope. A short description need not include the steps/procedure to explain how the feature would be implemented. The user’s requirements ought to be the primary focus of this description.

  • Define Acceptance Criteria:  Some conditions that help in deciding whether the Feature can be considered as completed or ‘DONE’ from the PO, Customer. Acceptance criteria should also evaluate the Benefit Hypothesis made in Step1. This set of conditions helps in mitigating the risk at earlier stages. 
Benefits of Dividing Features into more Manageable User Stories:

We’ve learned that user stories are smaller pieces of work that the development team picks up to complete in an Iteration and that features are collections of user stories, and completed over multiple Iterations. There are numerous advantages to decomposing features into Stories/tasks/activities, with the following being the most significant:

  • Stories help narrow the focus – Stories simplify the work by breaking it down into smaller parts. They show a whole piece of functionality, no matter how small, and can be used to measure progress in small steps.
  • Stories can be completed within a sprint – Features are too vast to be accomplished in a sprint. However, stories can be done in this given timeframe. This makes it easier to schedule and plan tasks for sprints.
  • Stories record both the desired and actual results – A project leader (who need not be tech-savvy) can explain a story’s outcome to a developer so they can comprehend the intent.
  • Stories reduce risk – Since features are collections of multiple stories, the risk involved is also more. This risk is reduced when major Agile features are divided into many smaller stories. Any risk would be identified and eliminated within a few days instead of several weeks into the development process.
What is the Difference Between Features and Epics in Agile Development?

Epics can be considered highly significant releases or big chunks of work. As the name says, ‘Epics’ are too big in size. The epics are broken down into features and features are broken down further into user stories. This helps in completing the Epic by different agile teams (who pick the user stories) and in delivering incremental value to the customer at regular intervals.

Epic may span across multiple Agile teams, multiple iterations, and sometimes also across multiple projects. When multiple teams have been working on a project for a long time, it may make sense to organize the product backlog according to three complexity levels epics, features, and user stories.