Breaking down by functionalities: data types or parameters
Some PBI’s can be split based on the datatypes they return or the parameters they are supposed to handle. Take, for example, a search function for a webshop:
As customer I can search for products so I can view and order them
There are many ways to search for a product. All these potential parameters can be considered and broken up into smaller PBI’s:
- As customer I can search for a product by its product number, so I can quickly find a product that I already know;
- As customer I can search for products in a price range, so that the search results are more relevant;
- As customer I can search for products by their color, so that the search results are more relevant;
- As customer I can search for products in a product group, so that the search results are more relevant;
By breaking down the search functionality in this manner, we more clearly understand what kind of search parameters will be used. This allows us to more accurately estimate the functionality, but it also allows a Product Owner to make decisions about priority. Maybe paging is not yet relevant because of the small number of products. It might become relevant when the number of products grows. Or maybe some of the search functionality can be implemented in a simplified manner for now. Another example of this strategy is when breaking up functionality involving management information based on the returning data types. Some of the information can be presented visually in charts or graphs (data types), but can also be displayed in a tabular format (datatype) for now. Perhaps the Product Owner is ok with exporting the data to Excel and manually creating all the graphs and charts there for the time being.