This Article is to get more detailed information about Requirements Phase in SDLC. This phase is one of the critical in SDLC Model. What ever the methodology you consider like WaterFall / Iterative etc... this stage will be key for entire SDLC Process.
When we start with a Project we may have below information at high level.
What is the project about ?
What does it perform at high level ?
We may not get all the requirements in details. So below is some of the information that you can follow to get more details in this Phase. We can follow it in a 4 step process.
Try to Understand the initial information that you have. May be an high level details.
If you are not able to get all the information that is required to understand then you need to do 2 things
What to Gather ?
How to Gather ?
Step3 - What to Gather ?
You need to categorize the requirements in different types so that you can go to each type and find out the information you required.
Above diagram shows the basic Categories
- Functional : Business / End User Related
- Non Functional : Technology Related
Below diagram shows the categories in more detailed
Each category has it own importance and you need to make sure that you got all the information required for each of the category
- Business - Describes the high-level goals, objectives, products and services
- Application - Services & Functionality that link to users of different skills to achieve business objective
- Operation - The operations category describes what the organization needs to know to run its business processes and operations. This category includes standard data models, data management policies, and descriptions of the patterns of information consumption and production in the business
- Technology - The technology category defines the technical services needed to perform and support the business mission, including the topologies, development environments, application programming interfaces (APIs), security, network services, database management system (DBMS) services, technical specifications, hardware tiers, operating systems, and more
- Supportability - Information related to future requirements like nice to have or information related to future expectations on the requirement
- Security - Information related to data security like PI etc...
- Performance - Related to response times of business and navigations
- Reliability - This category defines the ability of the System to make Reliable transactions without any issue.
- Usability - This category defines the System UI and Navigations
Above set are the set if things that you need to Gather the information.
Step 4 - How to Gather ?
We decided to gather the information of Functional and Non-Functional but what are the ways to gather to get the information and from whom we get these information.
There are many ways to gather and many sources from which you can gather the information related to each requirement.
Above diagram shows the Ways to Gather Information related to Requirements
- Shadowing - Will observe the end user and understand about the manual process of how they are doing in their environment
- Interviewing - Will interview the end user or business owner with a set of Question?
- Focus Group - Every one will be involved in a Meeting to discuss on requirements like JAD Sessions. Involves Clients, Dev Team, SMEs etc...
- Surveys - Create a Survey with a set of questions and options and set it to end user or clients and analyze the information from it
- User Instruction - You will do the work that an end user is doing and follow his instructions to complete the task
- Prototyping - Create a prototype of requirements or information in the form of Photos or physical thing
Below are the set of source form which you can gather
- People - They are the primary source from where you can get the information. End User, Business Owners, SMEs etc...
- Artifacts - Documents/Manuals of business work flows or details of existing system or process
- System - Existing application and its functionality and behavior / code
These are the Steps involved in many of the Frameworks like IBM / MS etc... and below is a sample questions in a Interview and their categories.
- How many employees does human resources have to account for currently?
- How are the employees classified (full time versus part time versus contractors)?
- How many new employees does the company anticipate it will hire in the next fiscal year?
- What categories do you use to manage employees and candidates (such as skills, levels, industry keywords, or specialties)?
- Who has the authority and ability to view, change, or enter employee and candidate records?
- Describe how the hiring process works today.
- Describe how the review process works today.
- Describe how the usage of benefits is analyzed today, and how the results of the analysis are used to make future decisions about benefits.
- How many different documents do you store for each employee? For each employment candidate?
- What are the shortcomings of the current solution that you would like to see addressed in the new solution?
- Are all documents currently in Microsoft Word format? If not, what other formats are they in?
- What are the various storage areas for your documents? (List all network drives and databases, including server names.)
Below are some of the references.
IBM Software Methodologies
Microsoft Solution Framework
Software requirements is the key in any of the SDLC process. And it is considered to take 20% of the entire project time. Thare are many other terminologies that are used in different companies and standards but the goal is the same for all these.