One of the biggest challenges product development teams face is bridging the gap between high-level product goals and the specific tasks needed to achieve them. How do you ensure that the broader vision is effectively translated into actionable steps? This is where features come into play.
What is a Feature?
A feature is a logical functionality or a grouping mechanism that is used in between the high-level epics and tactical user stories. It typically encompasses multiple user stories.
Why Are Features Important?
Epics can be very generic, while user stories can be very detail oriented – meaning they may not always provide the insight into what is practically being built. A feature gives a logical function that has a scoped beginning and end and some level of granularity compared to an epic.
Features can be used to define the scope of an Agile team. For example, in an eCommerce app, there might be a team specifically allocated to handle the shopping cart, credit card payments, gift card processing, voucher payments, etc. It is common for Agile teams to be organized around features.
How to Identify or Build Features?
Building or identifying features is highly subjective and involves considering the product’s length and breadth, along with the organizational structure, tech solutions, and resourcing setup. Below are several considerations to investigate:
- Do all the flows work towards building a singular purpose?
- For example, a payment feature’s end goal is to facilitate the payment process.
- Does it provide a logical grouping?
- For example, payment through mobile app versus payment through web app accomplish the same function, but they can be mapped to the same feature.
- Does this function have sub-flows?
- For example, a payment feature can have a credit card flow, cash flow, voucher flow, etc.
- Are the sub-flows or flows interconnected in some way, particularly in the UI?
- For example, the screens for payment would usually start at the same point, where the user decides to pay, selects a payment method, and then provides additional information for the mode of payment.
- Does the final deliverable for the feature take several sprints?
- In terms of size, features generally span multiple sprints and have a specific end deliverable in mind.
- Can the feature be turned on or off from a configuration or admin perspective?
- If you have worked on system configurations, you are likely familiar with turning features on and off. For example, when you provide access to users, they can have read only or editable access. This is the most basic feature concept in a tool.
- For example, if I don’t want the payments module to show up, I can turn it off, but the rest of the eCommerce function will be able to continue as normal.
- Can the rest of the application continue working without this feature turned on?
- Generally, a cohesive app will have integrated features; however, the rest of the app should still function and make sense without this feature grouping enabled.
- Will this function evolve over time to become something bigger?
- It is not uncommon for a small function on the page to evolve into something larger and even become an independent feature or epic. For example, transaction history in banking typically begins as a basic listing of account activity. In the MVP, it starts off as a basic function. However, as time progresses, each row of transactions may begin displaying additional details, such as the ability to dispute transaction, view more information, etc. Eventually the transaction history can also be built out visually and have added functions related to personal financial management.
- Is the function naturally managed by a separate team, thus becoming a feature due to the resourcing setup?
- This is usually applicable when you have a vendor connection or module in your app. For example, not everyone has an in-house payment module. They may be using Paypal, Stripe, or other providers.
A great way of brainstorming for features is using the concept of affinity mapping, which is essentially listing out all the possible functions that you are looking to build in a product and then grouping them based on the best possible commonalities.
Who Manages Features?
A product leader or a senior product manager is usually best suited for managing features. Features have higher visibility and require experience in orchestrating multiple moving parts.
A feature will have multiple user stories and customer journeys that it impacts, so it requires some strategic oversight, along with the understanding of what the user stories are trying to accomplish. It is also common to build a feature level roadmap, depending on the complexity and needs of the stakeholders.
Why is Defining Features Critical for Effective Product Management?
While features are essential for managing the detailed aspects of product development, themes provide a broader organizational layer. Themes are another way of grouping user stories as well. Depending on the preference within the organization, different terms may be used. However, an intermediary grouping of requirements is necessary between the epics and user stories. As the product expands in scope, strong foundational guidance on what constitutes a feature will significantly impact managing information and logistics around product management.
Having specific experts with deep knowledge at a feature level is a good practice to ensure development of SMEs and knowledge growth.
What Are Your Next Steps for Feature Management?
Understanding and managing features effectively is crucial to the success of any product development process. Well-defined and strategically managed features ensure smoother execution, improved team alignment, and better outcomes. However, navigating the complexity of feature management can be challenging.
If your team is struggling to define or manage features, or if you’re looking for ways to improve your overall product development process, Perficient is here to help. With our deep expertise in product strategy, Agile methodologies, and feature management, we can guide your team in optimizing product delivery and aligning it with your business goals.
Reach out to Perficient to learn how we can partner with you to transform your approach to product development and help you achieve lasting success.