AI conceptsAzure DevOps servicesBeginner25 min read

What Is Feature in DevOps?

Reviewed byJohnson Ajibi· Senior Network & Security Engineer · MSc IT Security
On This Page

Quick Definition

In IT and software development, a feature is a specific capability or function of a product that a user can interact with or benefit from. Features are planned, developed, tested, and released as part of a larger product. They help teams organize work and ensure that the product meets customer needs.

Commonly Confused With

FeaturevsEpic

An epic is a very large body of work that can be broken down into multiple features. A feature is smaller than an epic but larger than a user story. Epics often represent major business initiatives, while features are the functional pieces that compose the epic. For example, 'Improve Customer Onboarding' is an epic, and 'Create Account with Email' is a feature under that epic.

If you are building a new e-commerce site, the epic might be 'Launch Online Store,' and features would include 'Product Search,' 'Shopping Cart,' and 'Checkout.'

FeaturevsUser Story

A user story is a small, specific requirement written from the end user's perspective, typically small enough to be completed in a single sprint. A feature is a collection of related user stories that together deliver a meaningful capability. User stories are the building blocks of a feature. For example, a feature 'Password Reset' might include user stories for 'Send reset email,' 'Create new password form,' and 'Confirm password change.'

Feature: 'User Profile Management' includes user stories: 'Update profile picture,' 'Change email address,' 'Set notification preferences.'

FeaturevsRequirement

A requirement is a general statement of need or capability, often documented in a business requirements document. A feature is a specific, implementable unit of functionality that addresses one or more requirements. Requirements can be high-level and abstract, while features are concrete and used for development planning. For example, a requirement might be 'The system must be secure,' while a feature would be 'Implement two-factor authentication.'

Requirement: 'The app must support multiple languages.' Feature: 'Add Spanish language option.'

Must Know for Exams

In IT certifications, the concept of a feature is often tested as part of Agile and DevOps knowledge areas. For example, in the Microsoft Certified: Azure DevOps Engineer Expert (AZ-400) exam, you may be asked about how to structure work items in Azure Boards. One common objective is to understand the hierarchy: Epic > Feature > User Story (or Product Backlog Item). A feature sits in the middle, grouping user stories that together deliver a meaningful piece of functionality. Exam questions may present a scenario and ask which work item type should be used to track a specific piece of work.

In the Certified Scrum Product Owner (CSPO) certification, features are discussed in the context of product backlog management and release planning. You need to know how to decompose epics into features and features into user stories. The exam might ask about the difference between a feature and a user story, or how to prioritize features using techniques like MoSCoW (Must, Should, Could, Won't) or Kano model.

In the CompTIA Project+ exam, features appear in the context of scope management and requirements gathering. You may need to distinguish between functional requirements (what the system does) and non-functional requirements (how the system performs). A feature is typically a functional requirement. Questions could ask about how features are documented in a requirements specification or how changes to features are managed through change control.

For the ITIL Foundation certification, features are less prominent but still relevant. ITIL focuses on service management, and features are part of the service design and transition processes. You might encounter features when discussing service requirements or release management. A new feature can be considered a change to a service, and change management processes must be followed.

In the PMI Agile Certified Practitioner (PMI-ACP) exam, features are a key concept. The exam covers agile frameworks like Scrum, Kanban, and XP, all of which use features to organize work. Questions might ask about the role of a feature in a product roadmap, how to split large features into smaller stories, or how to prioritize features using relative estimating techniques like story points.

Overall, exam questions that involve features typically test your ability to identify the correct work item level, understand the relationship between features and other backlog items, and apply prioritization techniques. You may also see questions that ask about the use of feature flags for release management or about acceptance criteria for features. Knowing these concepts solidly can help you get correct answers quickly.

Simple Meaning

Think of a feature like a new room added to a house. The house itself is the whole software product. A feature is a specific room, like a kitchen or a bathroom, that adds a certain ability. When you want to cook, you need the kitchen feature. When you want to relax, you might need the living room feature. In software, a feature could be something like a login button, a search bar, or a dark mode option. Each feature is a small, useful piece that makes the whole product better.

Just like you wouldn't build a house without planning each room carefully, software teams don't build features without thinking about what users need. Features are usually described in documents called user stories or feature requests. These explain what the feature should do and why it is important. For example, a feature might be 'allow users to reset their password via email.' That feature helps people who forget their passwords get back into their account.

Features are not bugs or fixes; they are new capabilities. When a team decides to add a feature, they estimate the work needed, design how it will work, write the code, test it, and finally release it to users. After release, users can use the new ability. Features are often tracked in a product backlog or on a project board. This helps everyone see what has been done, what is being worked on, and what is coming next. Without features, software would just be a basic shell with no real usefulness.

Full Technical Definition

In the context of Azure DevOps and modern software development methodologies, a feature is a defined unit of functionality that represents a significant piece of work delivering value to a stakeholder. Features are typically one level below an epic and one level above a user story or product backlog item in a hierarchical work item structure. In Azure Boards, features are tracked using the Feature work item type, which allows teams to group related user stories under a common functional goal.

From a technical standpoint, features are often defined using acceptance criteria and a definition of done. Acceptance criteria specify the conditions that must be met for the feature to be considered complete and working. The definition of done includes quality gates such as passing unit tests, integration tests, code review, and documentation updates. Teams working in Scrum or Kanban will prioritize features in the product backlog based on business value, risk, and dependencies.

In Agile development, features are broken down into smaller user stories that can be completed in a single iteration or sprint. Each user story contributes to the larger feature. For example, a feature called 'User Password Reset' might include user stories for 'Send password reset email,' 'Create reset token,' and 'Update password in database.' The feature acts as a container that helps teams see progress at a higher level.

In Azure DevOps Services, features can be linked to epics and user stories through parent-child relationships. This hierarchy helps in reporting and tracking across the entire portfolio. Tools like delivery plans and feature timeline views use these relationships to show when features are expected to be completed. Features also support custom fields, tags, and attachments, which allow teams to add context and documentation directly to the work item.

From a DevOps perspective, features are often tied to feature flags or toggles. This technique allows teams to deploy code that contains incomplete features without exposing them to all users. The feature flag controls whether the feature is visible or active, enabling safe testing, gradual rollouts, and quick rollbacks if issues arise. This approach reduces the risk of large releases and supports continuous delivery.

In the context of IT certifications, understanding features is important for roles like product owner, scrum master, and Azure DevOps engineer. Exam objectives for certifications such as Microsoft Certified: Azure DevOps Engineer Expert (AZ-400) or Certified Scrum Product Owner (CSPO) often cover how to define, prioritize, and manage features effectively. Questions may ask about the relationship between epics, features, and user stories, or about how to use Azure Boards to track feature progress.

Real-Life Example

Imagine you are building a new car. The whole car is your software product. Now, you want to add a 'sunroof' option. That sunroof is a feature. It is a specific capability that adds value to the driver and passengers. Before you can add that sunroof, you need to plan it. You decide the size, the material, how it opens, and whether it has a shade. Then you design it, order the parts, install it, test it to make sure it doesn't leak, and finally offer it to customers.

Similarly, in software, when a team decides to add a search bar feature, they plan what it should search (products, users, pages), design the input box and results page, write the code, test it for different inputs, and then release it. The search bar is a standalone piece of value that users can interact with. Without it, the product might be harder to use.

Now, imagine you also want to add a 'heated seats' feature. That is a different feature with its own planning, design, build, and testing. Both features are part of the same car but are independent. In software, features are also independent units of work that can be developed and released separately. This modularity allows teams to deliver value incrementally instead of waiting for the entire product to be finished.

A car manufacturer might group related features under a trim level or package. For example, a 'luxury package' might include the sunroof, heated seats, and leather steering wheel. In software, features can be grouped under an epic, like 'User Experience Improvements,' which might include features for a new login screen, a dashboard redesign, and a help chatbot. This grouping helps teams see the bigger picture and prioritize work that aligns with a common goal.

In real life, features are also subject to customer feedback. If customers complain that the sunroof is too small, the manufacturer might change the feature in the next model year. In software, user feedback often drives feature improvements or removal. Features that are not used may be deprecated, just like a car manufacturer might stop offering a manual transmission if nobody buys it.

Why This Term Matters

Understanding features is crucial in IT because features are the building blocks of any software product. They represent the specific value that users pay for or enjoy. If a product lacks a key feature, it may fail in the market. Therefore, product managers, developers, and testers all need to have a clear and shared understanding of what each feature is supposed to do.

In a practical IT context, features matter because they drive prioritization. Teams have limited time and resources, so they must decide which features to build first. Features that provide the most business value or address the most urgent customer pain points are prioritized. This decision-making is a core skill for product owners and managers. Without a clear definition of features, teams risk building the wrong things or spending time on low-value work.

Features also affect project planning and estimation. Large features are broken down into smaller user stories, which are easier to estimate and assign. This decomposition helps teams forecast delivery dates and track progress. For example, if a feature is estimated to take 40 hours, it might be broken into 4 stories of 10 hours each. Each story can be completed in a sprint, giving the team a sense of accomplishment and the stakeholders visibility into progress.

In DevOps and continuous delivery, features are often released using feature flags. This technique allows teams to deploy code frequently while controlling when specific features become visible. This reduces the risk of a bad release affecting all users. It also enables A/B testing, where two versions of a feature are tested with different user groups to see which performs better. This data-driven approach to feature development is common in modern software companies.

Finally, features are important for communication. Stakeholders, executives, and customers do not always understand technical jargon, but they understand features. Saying 'we are adding a single sign-on feature' is clear to everyone. Using features as a unit of work helps bridge the gap between technical teams and business teams. It creates a common language that focuses on outcomes rather than technical details.

How It Appears in Exam Questions

Questions about features appear in several common patterns across different exams. The most frequent is the hierarchy question. For example, 'An organization uses Azure DevOps. They want to track a group of user stories that deliver a new payment gateway. Which work item type should they create?' The correct answer is 'Feature.' The distractor options might include 'Epic' (too high level) or 'User Story' (too granular).

Another common pattern is scenario-based and asks about the breakdown of work. For instance, 'A product owner has identified a large capability that will take multiple sprints to develop. What should they do first?' The answer involves decomposing the epic into features, then further into user stories. A wrong answer might be to create a single user story covering the entire capability, which would be too large to estimate or complete in one sprint.

Feature flag or toggle questions also appear, particularly in Azure DevOps exams. For example, 'A team wants to deploy a new feature to a subset of users for testing before full release. Which technique should they use?' The answer is feature flags. The exam may ask about how to implement feature flags in Azure DevOps using application configuration or Azure App Configuration.

In product owner exams, you might get a prioritization question: 'You have four features with different business values, risks, and dependencies. Which feature should be developed first?' This tests your understanding of value-based prioritization, possibly using a weighted scoring model or the MoSCoW method. The question may list features with descriptions, and you must choose the one that provides the highest value with the least risk.

Troubleshooting scenarios can also involve features. For example, 'A feature that was working in the test environment is not working in production. What could be the cause?' The answer might involve a missing feature flag, incorrect configuration, or a deployment that did not include the feature code. These questions test your understanding of the release pipeline and the role of configuration in feature deployment.

Finally, some questions ask about acceptance criteria for a feature. For example, 'Which of the following is an example of an acceptance criterion for a login feature?' Options might include: 'User can log in with email and password,' 'Login page loads in under 2 seconds,' or 'Login button is blue.' The correct answer would be a functional criterion that describes a condition that must be met for the feature to be accepted. Non-functional criteria like performance might also be valid, but they are often specified separately.

Practise Feature Questions

Test your understanding with exam-style practice questions.

Practise

Example Scenario

You are the product owner for a new mobile banking app. Your team has an epic called 'Improve Customer Onboarding.' Under that epic, you define a feature: 'Create Account with Email.' This feature means a new user can sign up using just their email address and a password, without needing to visit a branch. The feature includes several user stories: 'Design the sign-up form,' 'Validate email address format,' 'Send verification email,' 'Create user profile in database,' and 'Handle duplicate email addresses.' Each of these stories is estimated and assigned to sprints.

During sprint planning, you discuss the acceptance criteria for the feature. For example, the verification email must be sent within 30 seconds, the link in the email must work for 24 hours, and after clicking the link, the user must be taken to a welcome screen. The team agrees on these criteria and starts development.

Midway through the sprint, a tester finds that the verification email sometimes goes to the spam folder. This is a defect related to the feature. The team fixes the email configuration to improve deliverability. They also add a feature flag that hides the email sign-up option from users until the feature is fully tested. This way, even if the code is deployed, users won't see the incomplete feature.

After two sprints, all user stories are done, the feature flag is turned on for a small percentage of users, and the team monitors for issues. Once they are confident, they enable the feature for all users. The feature is now complete and delivering value. In a retrospective, the team notes that breaking the feature into small stories helped them identify the email deliverability issue early.

This scenario shows how a feature is defined, broken down, tested, and released incrementally. It also shows the use of feature flags for safe deployment. In an exam, you might be asked what the product owner should do if a user story within a feature is not finished by the end of a sprint. The correct answer would be to move the unfinished story back to the backlog and adjust the feature's completion date, rather than releasing an incomplete feature.

Common Mistakes

Confusing a feature with a user story.

A feature is a larger unit of work that encompasses multiple user stories. A user story is a small piece of work that can be completed in a single sprint. Treating them as the same leads to improper backlog structuring and difficulty in tracking progress.

Use features to group related user stories. If a user story is too large to finish in one sprint, it is likely a feature or an epic and should be broken down.

Thinking a feature is the same as a product requirement.

A product requirement is a broad statement of what the system should do, often from a business perspective. A feature is a specific, implementable unit that delivers value. Requirements can be high-level, while features are more concrete and actionable.

Write features as specific, testable pieces of functionality. For example, instead of 'improve user experience,' write 'add one-click checkout feature.'

Using features as a synonym for a sprint goal.

A sprint goal is the objective that the team aims to achieve during a sprint, which may include completing one or more features. The feature is the work item, not the goal itself. Confusing them can lead to misaligned planning.

Separate sprint goals from features. Set a sprint goal like 'Deliver the account creation feature' but then track the feature and its stories as separate work items.

Believing that all features must be completed before release.

Modern development practices, especially with feature flags, allow releasing incomplete or hidden features. This enables continuous delivery and safe testing. Releasing only after all features are done delays value and increases risk.

Use feature flags to control visibility. Release frequently with incomplete features hidden behind flags, and enable them once they are ready and tested.

Not defining acceptance criteria for a feature.

Without acceptance criteria, the team and stakeholders do not have a shared understanding of when the feature is done. This leads to scope creep, rework, and disagreements during reviews.

Always define clear, testable acceptance criteria for every feature before development begins. Include both functional and non-functional criteria.

Exam Trap — Don't Get Fooled

{"trap":"In an exam question, a scenario describes a large piece of work that spans multiple sprints and involves several team members. The question asks what the team should create first, and the answer choices include 'Epic,' 'Feature,' and 'User Story.' Learners often choose 'User Story' because they think all work must start as stories.

However, the correct answer is 'Feature' because the work is too large for a single user story and needs to be decomposed later.","why_learners_choose_it":"Learners are taught that user stories are the primary unit of work in Agile, and they assume everything should be broken down immediately into stories. They forget that features provide a necessary intermediate level to group related stories and manage larger initiatives."

,"how_to_avoid_it":"Always consider the scale of the work described in the scenario. If it mentions multiple sprints, multiple team members, or complex functionality, think 'feature' or 'epic' first. A user story should be small enough to be done in one sprint.

Read the question carefully for clues like 'large' or 'spans several sprints'."

Step-by-Step Breakdown

1

Identify the Need

The process starts with identifying a need or opportunity. This can come from user feedback, market research, or business strategy. The need is expressed as a high-level requirement or an epic. For example, users are complaining about forgetting passwords, so the need is a password reset capability.

2

Define the Feature

The product owner creates a feature work item in the backlog management tool (like Azure Boards). They write a clear name and description, including the expected value to the user. Acceptance criteria are drafted. For the password reset example, the feature would be named 'User Password Reset' and would include criteria like 'user can request reset via email' and 'new password must meet security rules.'

3

Decompose into User Stories

The feature is broken down into smaller, sprint-sized user stories. Each story is estimated using story points or hours. The team decides on the order of stories based on dependencies. For 'User Password Reset,' stories might include 'Create forgot password page,' 'Implement email sending service,' 'Design new password form,' and 'Add password strength validation.'

4

Prioritize and Plan

The feature is prioritized along with other features in the product backlog. The team uses techniques like MoSCoW or value/effort scoring to decide when to work on it. The feature is assigned to a release or a project phase. The team may also set a feature flag if they plan to deploy incrementally.

5

Develop and Test

Developers implement the user stories iteratively. Each story is developed, code-reviewed, and unit-tested. The feature as a whole is integration-tested and acceptance-tested against the criteria. If issues are found, they are resolved before the feature is considered complete.

6

Deploy and Release

The code for the feature is deployed to production, often behind a feature flag. The team runs smoke tests to ensure the feature works in the live environment. Once validated, the feature flag is turned on for a small audience or all users. The feature is now live and delivering value.

7

Monitor and Iterate

After release, the team monitors the feature for usage, errors, and user feedback. They may collect metrics like adoption rate or satisfaction score. Based on this data, the feature may be improved, expanded, or even removed in future iterations. This step closes the loop and informs future feature decisions.

Practical Mini-Lesson

In a real-world IT environment, managing features effectively requires a combination of tools, processes, and team collaboration. The most common tool for feature management in DevOps is Azure Boards, but Jira, Trello, and GitHub Projects are also used. Professionals need to understand how to create a feature work item, link it to an epic and user stories, and track it through the development lifecycle.

One practical aspect is writing good user stories that collectively fulfill the feature's acceptance criteria. Each user story should follow the INVEST principle: Independent, Negotiable, Valuable, Estimable, Small, and Testable. For example, a user story for the password reset feature might be: 'As a registered user, I want to request a password reset link via email so that I can regain access to my account.' This story is valuable to the user, testable (verify that email is sent), and small enough to be completed in a few days.

Another important practice is using feature flags for safe releases. In a professional setting, tools like LaunchDarkly or Azure App Configuration are used to manage feature flags. Developers wrap new code in conditional statements that check the flag value. This allows them to deploy code to production without exposing the new feature. If a bug is found, the flag can be turned off immediately without a rollback. In an exam scenario, you might be asked how to implement gradual rollouts or how to test a feature in production with a subset of users.

Configuration of feature flags can become complex, especially with multiple environments (dev, test, staging, prod). Professionals should define a naming convention and keep a central list of flags. Flags that are no longer needed should be removed to avoid technical debt. For example, after a feature is fully rolled out and stable, the conditional code and the flag itself should be cleaned up.

What can go wrong? One common issue is having too many long-lived feature flags that never get cleaned up. This leads to code clutter and confusion about which features are actually enabled. Another issue is incomplete testing of the feature when combined with other features, leading to integration bugs. Also, if feature flags are stored in configuration files that are not version-controlled, deployments may accidentally enable or disable features.

Professionals should also know how to estimate features. Relative estimation using story points is common, but for features, teams often use t-shirt sizes (S, M, L, XL) or a simple scale of complexity. Estimates help prioritize and plan releases. However, estimates are not commitments; they are predictions. The team should revisit estimates as more is learned during development.

Finally, communication is key. The product owner should regularly update stakeholders on feature progress using burndown charts or feature timeline views. In Azure DevOps, the Features board provides a visual representation of progress. Professionals should also celebrate feature completions to maintain team morale and acknowledge the value delivered.

Memory Tip

Think F-E-U: Feature sits between Epic and User story. Features are the 'middle child' that groups user stories into a meaningful capability.

Covered in These Exams

Current Exam Context

Current exam versions that test this topic — use these objectives when studying.

Related Glossary Terms

Frequently Asked Questions

What is the difference between a feature and an epic?

An epic is a very large body of work that can span multiple releases, while a feature is a smaller, more specific unit that delivers a distinct capability. Epics are broken down into features, and features are broken down into user stories.

Can a feature consist of only one user story?

Technically yes, but it is usually better to break it into smaller stories for tracking and estimation. If a feature is very small, it might be acceptable to have one user story, but this is rare in practice.

What are acceptance criteria for a feature?

Acceptance criteria are conditions that must be met for the feature to be considered complete. They are testable statements like 'User receives a confirmation email within 30 seconds' or 'Password must be at least 8 characters.'

How do feature flags work with features in Azure DevOps?

Feature flags allow you to turn features on or off in production without deploying new code. Azure DevOps can be integrated with Azure App Configuration or third-party tools like LaunchDarkly to manage feature flags.

What is the role of a product owner regarding features?

The product owner is responsible for defining features, prioritizing them, and ensuring they deliver value. They write user stories, define acceptance criteria, and communicate the feature's purpose to the team.

How do you estimate a feature?

Features are often estimated using relative sizing like t-shirt sizes (S, M, L) or story points aggregated from the user stories within the feature. The team uses historical data and expertise to make an informed guess.

Can a feature be changed after development has started?

Yes, but it should be handled through change management. If the change is minor, the product owner can update the user stories. If it is major, the feature may need to be re-estimated and reprioritized.

Summary

A feature is a fundamental concept in IT and software development, especially within Agile and DevOps environments. It represents a distinct unit of functionality that delivers value to the user. Features sit between epics and user stories in the work item hierarchy, providing a structured way to group related tasks. They are managed in tools like Azure Boards and are crucial for planning, prioritization, and release management.

Understanding features matters because they help teams focus on delivering measurable value. They enable incremental development, safe releases through feature flags, and clear communication between technical and business stakeholders. In exams like AZ-400, CSPO, and PMI-ACP, you will be tested on the hierarchy of work items, the decomposition of features into user stories, and the use of feature flags for deployment.

The key takeaway for exam success is to remember that features are larger than user stories but smaller than epics. Always look for clues in exam questions about the scale of work. If a scenario mentions a capability that takes multiple sprints or team members, think 'feature.' Practice breaking down epics into features and features into user stories. Also, be comfortable with the concept of feature flags and acceptance criteria. Mastering these points will help you answer questions confidently and correctly.