|
Name of feature. Describe the feature in 5 - 7 words. For example: "Declining balance interest calculation" or "Displaying previously saved attendance values in Bulk-Entry".
Why are you doing this? How does this relate to your overall product strategy?
Brief 2-3 sentences summarizing the feature. Some of this may be explained in the background section. An example for "declining balance" would be: This feature would allow MFIs to create loan repayment schedules with equal installments and interest based on the declining balance formula.
Why are you doing this? How does this relate to your overall product strategy?
Brief 2-3 sentences explaining why this feature is important/necessary. This is your opportunity to tell the community (volunteers, developers, other users) how important your feature request is and make him/her excited to work on it! An example for "Displaying attendance values in bulk-entry" would be: For many MFIs, there will be the scenario of a user needing to return to the bulk-entry screen to finish inputting all transactions that were collected at the center meeting. We need the previously entered attendance data to be displayed in order to reduce data errors.
In this section provide as much detail as possible about the business processes and user stories the new feature would support as well as step-by-step instructions for how it would be used. When writing the step-by-step instructions you should consider all the different scenarios a user might encounter in working with the new feature. Typically these scenarios are broken down into two types. - primary and alternate flows.
First focus on documenting the primary flows - these are the most common ways a user would interact with a feature.
Keep each user story concise and simple i.e. As a <type of user>, I want <some goal> so that <some reason>. These can broken down further into smaller more detailed user stories. Please see these resources for tips on writing good user stories.
# | Title | User Story | Importance | Notes |
---|---|---|---|---|
1 | Short identifier for the story | Describe the user and what they are trying to achieve (I.e. As a <type of user>, I want <some goal> so that <some reason> | Must Have |
|
Any preconditions before a client can use the new functionality
Any rules to be applied for a client or user when using this functionality
List of attributes to be captured for the new functionality
Attribute | Description | Notes |
---|---|---|
List of security areas to be considered and permissions to be added/considered for a user/role to have access to this functionality
List of new screens required
List of existing screens that need any kind of changes
Functional changes to Batch jobs that may be needed - along with suggested frequency at which it should be run for various scenarios
With sample accounting entries with dates
Include any mockups, diagrams or visual designs relating to these requirements.
List of error scenarios and the action - if message is to be displayed, then text of the message.
List of changes/enhancements/new reports to support this functionality
From a functional perspective, list of new APIs needed.
From a functional perspective, list of existing APIs that need changes.
Points to be handled during upgrades
Any reference data that needs to be prepopulated or defaulted for clients/users
Below is a list of questions to be addressed as a result of this requirements document:
Question | Outcome |
---|---|
(e.g. How we make users more aware of this feature?) | Communicate the decision reached |