All software development is completed by using a system development life-cycle process. This process typically includes requirements, design, coding, testing and deployment activities. Requirements management is the phase of the system development that focuses on capturing requirements for a system. This is the first phase of the life-cycle process, which focuses on the planning, prioritizing, and defining the what will be necessary to complete an application.
Effective project management depends on proper management of system requirements. The project manager is responsible for ensuring that all system requirements are identified, understood, and documented. This requirements-management process is a contract between the business and the IT professionals that spells out what is needed for the system.
The requirements management is typically completed by a business analyst. The business analyst reports to a project manager and has the responsibility of defining and documenting the system requirements. A business analyst is an individual who acts as the liaison between the business and technical team. She normally has excellent communication skills and understands what the business needs in the area of functionality.
Requirements analysis is the process within requirements management where the user's expectations are clearly defined for a new feature. These features are important to the business and have quantifiable benefits. Requirements analysis is a difficult process because it involves frequent communication with system users to determine specific feature expectations and system expectations.
The business analyst must break a requirement into finite details to include hardware, user interface, data elements, field sizes, and format rules. This information is fed to the development team as prerequisites to the design of the application. After the development team has designed the application, the business analyst must then validate the design with the requirements to ensure the proposed application will meet the functionality requested.
Prioritization is the process of defining when a requirement will be necessary for an application. Within requirements management the business analyst will work with the business users to determine when a piece of functionality will be required. This prioritization information is fed into the system life-cycle process to determine how and when a requirements will be introduced into the application.
Today there are standard methods for managing system requirements. The system requirements specification (SyRS)is a standard template that defines how requirements management should be completed. This standard process was created by the Institute of Electrical and Electronics Engineers (IEEE). This community is a technical society dedicated to standards in computer field. The SyRS is a template used for documenting and defining system requirements.