Target releaseRelease name or number
EpicMIFOSx-2299
Document status
Document owner 
DesignerLead designer
DevelopersLead developer
QALead tester

Feature Name

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".

Overview

Feature Summary

Background and strategic fit

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.

Business Need

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.

Feature Requirements

 

Requirements/User Stories

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

#TitleUser StoryImportanceNotes
1Short identifier for the storyDescribe 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
  • Additional considerations or noteworthy references (links, issues)
     

Business Rules

Any preconditions before a client can use the new functionality

Any rules to be applied for a client or user when using this functionality

Attributes

List of attributes to be captured for the new functionality

AttributeDescriptionNotes
   
   
   

Security and Permissions

List of security areas to be considered and permissions to be added/considered for a user/role to have access to this functionality 

Mifos Functionality Enhancements

New Screens

List of new screens required

Changes to Existing Screens

List of existing screens that need any kind of changes

Changes/Enhancements to Batch Jobs

Functional changes to Batch jobs that may be needed - along with suggested frequency at which it should be run for various scenarios

Changes/Enhancements to Accounting Entries

With sample accounting entries with dates

User interaction and design

Include any mockups, diagrams or visual designs relating to these requirements.

Exception Handling

List of error scenarios and the action - if message is to be displayed, then text of the message.

Reporting

List of changes/enhancements/new reports to support this functionality

APIs

From a functional perspective, list of new APIs needed.

From a functional perspective, list of existing APIs that need changes.

Notes

Points to be handled during upgrades

Any reference data that needs to be prepopulated or defaulted for clients/users

Questions

Below is a list of questions to be addressed as a result of this requirements document:

QuestionOutcome
(e.g. How we make users more aware of this feature?)Communicate the decision reached

Out of Scope