Thursday, September 9, 2010

Requirement Gathering

Requirements serve as foundation for the IT system so it is essential that requirements must be clear,concise and complete to satisfy business needs. There are standard techniques used to collect the requirements of the system and requirements are identified through the elicitation,analysis and review activities.

There are following methods to perform requirement gathering :-

  • Brainstorming
  • Interviews
  • Reverse Engineering
  • Document Analysis
  • Requirements Workshop(JAD)
Requirement gathering helps us to define the scope of the project and enables project managers to maintain the traceability of the requirements from requirement gathering stage to the product development and testing stage.

Explanation of Methods:-
  • Brainstorming - When the common area of business interest in established and all stakeholders sit together to discuss various ideas. Consider various ideas and also analyse them to design a best solution which can help us achieve our goal and reach at consensus.
  • Interviews - Process of asking relevant questions from the business stakeholders and documenting the responses. Methodology to ask questions must be designed in such a manner that we should be able to document the logical requirements. This documentation must be reviewed and approved from the stakeholder.
  • Reverse Engineering - It is a process of analyzing the current functionality of the system to identify business processes ad rules. There are two types of reverse engineering White Box and Black Box reverse engineering. In Black box we need to understand the functionality of without going deep into the code/system. In white box we need to understand the system from depth.
  • Document Analysis - It is a process to analyse the current system documents to gather as much as understanding of system functionality. This strategy is mostly used along with reverse engineering process to perform maintenance of system or to draft product manuals.
  • Requirements Workshop - This workshop is not a normal meeting or group discussion because its a very focused event to gather requirements. Subject matter experts and key stakeholders are responsible to document the business requirements. Requirements workshop are generally referred as Joint Application Design(JAD). Wikipedia defines JAD as "It consists of a workshop where knowledge workers and IT specialists meet, sometimes for several days, to define and review the business requirements for the system." Those knowledge workers are domain experts and IT specialists are solution architects.

Wednesday, September 8, 2010

Requirement

  • What is Requirement?
Requirement is something which the customer expects from IT system to solve business,user problem or optimize the business process.


  • What are different types of requirements?
  1. Business Requirements - This type of requirement is always the goal or target of the whole project. For e.g. Bank decides to provide RTGS Tranfer service to its customers(Business Decision). Now, Bank need to have infrastructure setup before marketing the same service. Implementing RTGS in the bank IT system would be the business requirement. It is directed from the top stakeholders in business.
  2. Functional Requirement - This type of requirement would define the behavior of or change in IT system so as to achieve the project's business requirement. For e.g.Implementation of RTGS would require certain business logic to be introduced in IT system which would fall under the category of functional requirement. It is derived after analyzing the business requirement and current functional logic in IT system.
  3. User Requirement - This type of requirement outlines how the system would interact with the user or vice versa. It would include the requirements to provide Interface between logic introduced in IT system and the User. It is always derived from the User of IT system. For e.g. Design of screens to perform business operations.
  4. Quality Requirement - This type of requirement outlines the quality of services the IT system provides. For e.g. time taken by system to process and produce the output after the input  is provided by the user. Users of system and other requirements would help derive this requirement.
  5. Implementation Requirement - This type of requirement outlines what package of solution need to be introduced in the current IT system to achieve the project's business requirement. For e.g. List of all objects(Programs, Tables etc) need to be introduced or modified to achieve all the above mentioned requirements. All the requirements mentioned above in collated form would produce Implementation requirements(complete) at the end of the project.