Requirements Analysis

The fundamental step in every successful software development project is Requirement Analysis. This is the process of defining user expectations for a new software being built or modified, and is also known as Requirement Engineering.

Most software projects fail over time and need to be constantly modified or completely rewritten after a few years due to the failure in defining & documenting the exact requirements of the software project. Such mistakes in the early stages of software engineering can be detrimental to the success of the software development project and also very expensive.

Moreover, requirements are also a very important input during the verification and testing phase of software development, as the tests are entirely based on the requirements.

Good requirements should generally have the following minimum characteristics:
  1. Completeness – The requirements should be complete and without any missing information.
  2. Consistency – The requirement should not contradict any other requirement and should be fully consistent with the documentation.
  3. Unambiguous – The requirement should be stated in a concise way without any ambiguous words like technical jargon or acronyms, unless these are documented in the specifications.
  4. Verifiable – The implementation of the requirement should be easily verifiable either by inspection, testing, analysis or demonstration

Before building any software, it is very important to determine the purpose for which it is being built, hence at Teknorix we take utmost care to understand the basic and intrinsic requirements of the proposed application.

Once the requirements are gathered, we document the requirements in a Software Requirements Specification (SRS) document or as User Stories, which are shared with the stakeholders for approval. This document is easy to understand for both normal users and the developers. Any changes in the requirements are also documented and go through a change control procedure and finalized on approval.