It is a science because these templates guide an analyst to gather the user requirements for a project. It is an art because the template only has headings or guidelines. It is a generic template and the analyst has to use common sense and industry knowledge to probe and distill user requirements into a specific, measurable and deliverable requirement.
Most requirements focus on the functional aspect of a project. These are termed "user requirements". These are the functions or use cases the user must have or would like to have delivered through the project.
The architectural requirements are normally done as part of design, or worse still, an after-thought. I define architectural requirements as other requirements not pertaining to the functional aspect of the project. For example, security requirements, performance requirements, scalability and extensibility requirements, availability requirements. From this list alone, you can deduce that the term "user" goes far beyond the business user or the user that specifies the functional use cases. The project team's interaction must now encompass the customer's security team, systems and infrastructure team, application maintenance team.
If requirements capture is viewed in this manner, the project team will begin to identify the various "users" needed for project success and begin building close working relationships with the extended eco-system. The relationships cannot be a one-off relationship. It is an on-going relationship as the project progresses.
Bernard
---------------------------
Copyright © Bernard Ong, 2006-2011.
All Rights Reserved
http://RescueSoftwareProjects.blogspot.com
http://www.bernard-ong.com
http://mrbolt.blogspot.com
http://BuddhismToday.blogspot.com