Feature Trees are an extremely useful visual model; business analysts can use them to group lots of features in ways that help identify missing software requirements. Here’s an example.
Let’s say that you are building an online ordering system for Wannabe eStore. As a Business Analyst, you go through and document all the different workflows, interview SMEs, and identify a long list of features. You don’t know if you have any similar or redundant features. You don’t know if any features are missing in your list. You also don’t have an easy way to review this information you’ve worked so hard to collect. What do you do now? Let’s call in a Feature Tree for help!
The Feature Tree is a helpful model when it comes to identifying and documenting features. It gives you the ability to place features into logical groupings (typically based on a hierarchy) while allowing you to leverage the benefits of a visual approach. Grouping features in a Feature Tree allows you to easily review a set of features, giving you a quick reference for what you have documented in relation to the project as a whole.
Imagine the list below is a set of features you, as a Business Analyst, have identified for Wannabe eStore:
- Lot Tracking
- Barcode Printing
- Invoicing
- Quoting
- Payment Processing
- Reporting
- Customer profiles
- Manage inventory
- Track shipments
- Batch Processing
- Order accuracy verification
- POS integration
- Card data security
- Multi-Language support
- SEO
- Discounting/Coupons
- Analytics
Looking at that list, try to answer the following questions:
- What are your high-level features?
- Are there any missing features that are not included on this list?
- Are there any extra or redundant features?
It’s difficult to answer those questions quickly and with confidence, isn’t it? A Feature Tree will allow us to group these together in a way that will enable you to answer these types of questions quicker and more confidently. Below is an example of a Feature Tree that groups the list of features above.
Now you can see that the high-level features are Marketing, Inventory Tracking, Order Management, Cart, and Payment Processing. This also gives you an easier way to view the sub features underneath each grouping quickly, allowing you to identify any missing features from within that group. The Feature Tree is a great visual representation of your project scope, allowing you to provide a high level summary of what you will be covering as part of the project and that it measures up to expectations.
For more information about Future Trees, check out this book: Visual Models for Software Requirements! And to take a class in visual requirements models like Feature Trees, check out ArgonDigital’s business analyst training.