Evaluating the business IS requirements involves gathering
information from multiple departments to ensure the project captures all the
company’s needs. Knowing who will use the solution is important as it helps the
collection of targeted input for systems design (Wacksman and Stutzman, 2014). After operational
needs are assessed and concept definitions are completed, the team analyzed the
requirements which could cover user needs, quality aspects, process and user
behavior, etc. (see figure 1 below). These are then translated into system
requirements using the various methodologies covered above (agile, waterfall,
spiral, combination, etc.) and cost related to using one over the other.
Figure
1:
Sample overview of requirements collection and change processes diagram (source:
MITRE website available on www.mitre.org)
Users provide functional and
non-functional requirements all of which are used to build the project. Functional
one’s support building user requirements and complete specific tasks and
systems quality aspects such as availability, timeliness, etc. Software
engineers must work closely with the project teams to understand project
requirements. The features can be delivered and tested (in bits and pieces)
early to minimize the risk of delivering large chunks of software with
insufficient features. When requirements are completed, and the project is
launched, changes may still be required. Adding requirements when a project is
live drastically increases costs (El-Halwagi, 2006). New requirements
should be bundled to avoid unnecessary ad-hoc changes. Flexibility is however
required to manage changes that deliver high capabilities
Many challenges exist in the requirements
engineering process. This occurs when enough time is not provided to understand
user requirements or when they’re captured, changes not accommodated. In some
cases, they’re not revisited to assess validity based on new information and/or
logic.
Some of the best practices in the process are soft as opposed to
hard technical skills. For example, good interpersonal skills help software
engineers be objective and open-minded when interacting with system users. They
can bounce off new ideas and resolve conflict and issues along the way. Thinking
broadly, considering trends and future business needs also helps develop
dynamic systems that can be cost-effective in the long run (Salazar and Sawyer,
2007). There should be provision for critical changes along the
way. Although comprehensive information gathering may have been completed,
there should flexibility to adopt new ideas and concepts based on new
operational needs. Prioritizing requirements is important in helping to
establish needs vs wants, it is also important in establishing the need for off
the shelf products as opposed to custom building (Norman, 2007). Integration is critical to the success of programs. When system components are developed, they must be integrated
into the environment in which they will operate and tested to see if operates
according to the requirements. Integration takes various forms; vertical
integration where components of a single program are linked to existing systems
to deliver certain requirements. An example is an agent banking platform being
linked to a bank’s core banking software. Horizontal integration delivers new capabilities
across multiple systems developed using different programs. An example being a
CRM system which links to more than one organizational system to deliver new
capabilities to the customer care department (Gao, 2011).
Several tools exist to support
the process of business needs identification, gathering, solution design, and integration.
Decisioning on this should be based on the approach to be deployed (waterfall,
agile, Spiral, etc.). The use of an integration testing tool is important as it
automates execution and analysis of tests to see how your new software will
behave once the integration is complete. This helps avert issues in the real
environment which can cause extensive downtime and loss of business.
References
DECLARATION OF ORIGINALITY
References
El-Halwagi, M. (2006). Process integration. Amsterdam: Elsevier Academic Press.
Gao, J. (2011). Advanced design technology.
Durnten-Zurich: Trans Tech Publications
Norman, T. (2007). Integrated security
systems design. Amsterdam: Elsevier Butterworth-Heinemann.
Salazar, A. and Sawyer, S. (2007). Handbook of information technology in organizations and electronic markets. New Jersey: World Scientific.
Wacksman, B. and Stutzman, C.
(2014). Connected by Design. Hoboken: Wiley.Weisstub, D. and Richet, J.
(2016). Financial Crimes: Psychological, Technological, and Ethical
Issues. Cham: Springer International Publishing.
DECLARATION OF ORIGINALITY
I affirm that the attached work is entirely my own, except where the words or ideas of other writers are specifically acknowledged according to accepted citation conventions. This assignment has not been submitted for any other course at Robert Kennedy College or any other institution. I have revised, edited and proofread this paper. I certify that I am the author of this paper and that any assistance I received in its preparation is fully acknowledged and fully disclosed in this paper (examination). I have also cited any sources from which I used data, ideas, theories, or words, whether quoted directly or paraphrased. I further acknowledge that this paper has been prepared by myself specifically for this course.

Comments
Post a Comment