Lonsdale Systems

Describing Software Features

The Requirements Discovery Canvas is a visual tool that helps teams discover and organise software requirements. Inspired by the Business Model Canvas, it provides a framework for collaboration, that can be used by both agile and traditional software development teams.

In last post, I discussed how to prevent a list of features degenerating into an unruly wishlist of disparate features.

In this post, I am going to focus once again on the Features” column of the canvas which prompts a team to answer the question, How could the stakeholders use software as a tool?”.  The other columns of the canvas provide the context for answering this question with the canvas as a whole providing a visual framework for organising what the team discovers.

For agile teams the Features” column represents a product backlog, which drives release planning and incremental delivery of the solution.  For traditional teams, the Features” column represents the initial scope  of the solution that will be later elaborated into detailed requirements.

Describing Features

Descriptions of software features can be based on a simple verb-noun template.

The verb part of the template either describes:

The noun part of the template describes the object (or target) of the action. Together, the verb and noun describe some action that the user performs to achieve a goal.

Any nouns included in a feature description should be defined in a glossary.

Qualifying Features

The purpose of a feature can be made clearer by qualify the noun in the feature descriptions. One way to do this is by adding additional nouns (or noun phrases) that clarify the object of the verb. These additional nouns may be drawn from existing glossary definitions or, depending on how frequently they are used, they may require their own glossary entries.

Traditionally, nouns are qualified with adjectives (or adjective phrases) so it is quite natural to add adjectives to feature descriptions.

In a similar manner, verbs can be qualified with adverbs (or adverb phrases).

If required, features can be further qualified by adding constraints.

Basing feature descriptions on the verb-noun template, combined with careful qualification of verbs and nouns, can remove a lot of ambiguity from feature descriptions.

User Stories

Applying the verb-noun templates is a great way to initially identify features but agile teams often want to describe features as user stories.  Converting a feature described using the verb-noun template into a user story is quite straightforward. Simply add the user of the feature and the benefit provided by the feature.

These additional components are summarised in the standard user story template.

As a {role} I want to be able to {goal} so that {reason or benefit}.

The features we have used in examples above can be re-written as user stories:

Notice how the Amend reservation feature is used by both the Call Centre Operator and the Front Desk Clerk but for different reasons.  Also notice how the benefits justify the feature and link the features to business needs (except of course in the case of the last feature).

Outcomes and Benefits

Often identifying the reason or benefit that justifies a feature is the most difficult part of writing a user story. Once again the verb-noun template can help. Changing the verb to past tense and reversing the order of the verb and noun reveals the intended outcome that is associated with the feature.

Viewing features as outcomes often helps to identify the benefit or reason for the feature.  It can also help with defining acceptance tests by describing the expected outcome of the test.

Capabilities

When a group of related features are features are grouped according to a theme, it is often useful to use the verb manage” to describe the theme.

For example:

Alternatively the group of features could be describes as a capability” by changing the verb into its noun form and moving it to the end of the feature description.

Describing Software Features

Courses Resources Blog Portfolio About Contact Search Feed
Lonsdale Systems