Sunday, March 16, 2008

Processes of investigation on system requirement

There are several ways to gather information for a system requirement. I like to classify the methods into several types of usages: gathering overview requirement, detail information, visualizing needs of users. Another way of building a system is making comparison between requirement of customer and existing vendor solutions, which is low cost and low risk, to see whether the solution could match the customers' needs. The final step, which should play an important role in refining system requirement, is requirement review.

Requirement Overview

In my view, interview is a way to document general information for a system requirement. As interview is always done in a short period, and the content of a interview is variable, it's difficult for analysts, I think, to obtain all the detail information. The aim they need to achieve in such activity is to identify what customer mostly need for an organization. Interviewers can try to get an overview of how an organization operate, and ask for clarification of some operational processes, making preparation for the following analysis in detailing requirement.

Questionnaire is another way to collect general information. Its advantage is capable of gathering information widely in terms of geography. It allows customers in different working areas to cooperate with the requirement investigation. The disadvantage is that, as customers usually don't like to answer the open-ended question in questionnaires, needs of customer would be difficult to be collected.

Detail information
Reviewing existing official documents of an organization is vital for analysts to understand what kinds of information require a system to process, and how the operational processes flow. After having an general view on what the needs of customers are, analysts may have lots of questions regarding detail information, such as how the organization really works and what information is required. Answers to the questions could be given in detail by reviewing the official documents.

To detail how an organization works, observation can make some contributions. The better way to do this is to take part in the process, working with other employer, getting themselves involved in the work. This could help analysts obtain useful information detailing what users need.

Visualize needs
To verify the needs of customers, activity diagram is an very helpful tool for both of analysts and users to communicate with each other. As the simplicity of activity diagram, non-technical users can understand the meaning of the diagram easily, which helps both of them to practically communicate in detail in terms of operational processes. This also can be very helpful if the analysts want to ask for clarification from users, instead of expressing only in words, which could even cause more confusions.

Another way to communicate with users visually is prototyping. In order to verify the needs of users, analysts can make a model with a small number of functions, which represents a preliminary model of a system allowing users to give feedbacks. Though it, analysts are enabled to make modification on the feedbacks from users to refine their understanding of the requirement.

Analyze for vendor solutions
Developing a system is not always as in a high risk or resource consuming as I perceived before. The companies that provide vendor solutions usually are specialized in some specific area, so in most cases they have more relevant advanced knowledge and experiences, in comparison with the internal organizational development team. Therefore, in some situations, vendor solutions could be a best choice for an organization. Although purchasing a vendor solution is much easier than developing one by themselves, it doesn't mean the process of system analysis can be ignored or simplified. Making choices to vendor solutions also includes thorough system analysis. After the phrase of system analysis, it has a higher rate to make a wise decision in choosing vendor solutions, as analysts understand what the needs of customers are.

Verifying requirement

Compared to other process of investigation on requirement, requirement verification plays an important role of making corrections on misunderstanding and further understanding the requirements. In other words, It helps analysts get a better understanding of the system they need to develop or purchase from vendor solutions. Meanwhile, to some extend it gives chances for analysts to review the requirement and do some preparations before starting the design phrase in SDLC.

No comments: