Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 4

1.

Functional Requirements:
In software development, functional requirements can be broadly defined as what an application
or software should be able to do, the extent of what the user can do with the application and
how it generally interacts with the user (Glinz, 2007). This definition will provide further insight
on what the finished product should look like to be acceptable to the final users, and the range
of ways the customers can interact with the app to fulfill various business transactions such as
payments, sales, bookings, distribution etc. (West, 2012). The examination of the functional
requirements will give the client full information on what the customers and key stakeholders
expect of the new mobile application.

1.1 Stakeholder Analysis

Stakeholder analysis is one of the most important steps in enterprise app development and the
absence of this critical step is a major cause of errors and failure of software development
projects. They are a source of broad information that is required during the various stages of the
software development process (Glinz and Wieringa, 2007), and “an incomplete list of
stakeholders gives rise to missing requirements, which in turn leads to the wrong product being
built and a failed project” (Lim et al, 2010).

1.2 Software Benchmarking:

The software benchmarking process flows from the information elicited or gathered during the
stakeholder analysis. Vaziri (1992) cited in Fong et al (1998) suggested that “benchmarking is the
process of continually comparing a company’s performance on critical customer requirements
against that of the best in the industry (direct competitors) or class (companies recognized for
their superiority in performing certain functions) to determine what should be improved.
Information gathered during the requirement gathering phase is utilized for this process and it is
geared towards the satisfaction of all stakeholders. The objective of benchmarking is to meet or
exceed the benchmarking standard by adopting the appropriate superior practices, which
transcend industry boundaries (Fong et al, 1998).

It involves comparing the functional requirements of another “branch-specific model to reveal


the weaknesses and potential defects” of the new app (Daneva et al, 1996). This is usually done
to produce a more superior and better performing than the competitors by refining the
information gathered during this phase and applying it to their own development (Abran et al,
2009).

2. Structural Requirements

Structural requirements determine if the client already has the requisite IT infrastructure or has
the capability to acquire same for the app development project. The IT system environment
analyses the infrastructure on which the application will be built and how it can easily be made
compatible with the client’s own infrastructure, as well as take into consideration the rapidly
changing world of mobile platforms (Wasserman, 2010). A complete view of all these
requirements enables the client and the consultant come to a conclusion on which type of system
and coding language to adopt as well as the personnel to accomplish the task.

The next step in the structural requirement is the choice of personnel to execute the program.
This begins with recruiting the best hands and ensuring that they are given the best environment
for them to perform their tasks effectively (Reel, 1999). It should be noted that competency gaps
in developers and engineers for a software development project have been “recognized as the
source of the main problems associated with software development projects and therefore a
critical component to be considered” (Colomo-Palacios et al, 2013).

The last step in the structural requirement is the risk analysis. This involves the identification of
the various risk factors that may limit the project as well as analyze them towards finding a means
of mitigating them (Dey et al, 2007). According to Schwalbe (2002) cited in Dey et al (2007)
“software development projects suffer from market risk, financial risk, and technical risk and
software developers must have favourable answers to the following questions in order to achieve
success”. Boehm (p.429, 1991) provided a comprehensive checklist of top risk items that can
occur in a software development life cycle. Dey et al, (p. 290, 2007) provided a framework for
risk management and noted that the risk factors is generated through “brainstorming sessions
and group consensus” and ensures that all possible risks are identified, analysed and a decision
made which of these “risks managers perceive to be more deserving of their attention” and how
the stakeholders will manage them (Huang et al, 2004).

3. Resource Requirements

Resource requirements consists of the actual time needed to execute the project as well as the
total cost of the software development. It is very important to carefully plan the entire project,
and a well thought out project plan aids in decision making, and can be utilized to “suggest
alternative approaches, schedules, and resource requirements from which the project manager
can select the best alternative” (Wysocki and McGary, 2003). Successful project time
management covers the “definition of detailed activities, estimating their duration, linking
(sequencing) them together and allocation of resources and a number of other matters” (Pons,
2007).

The next resource requirement to be considered is the Life-cycle cost analysis, a process that
analyses the entire costs that will be accrued in the life-cycle of the newly developed app,
including maintenance and failure costs. (Palle, 2012). It seeks to determine to determine the
profitability of the app from the developer and investor perspective, in order to determine if the
project is a worthwhile venture. It looks at all the cost causing or profits that the client will incur
or make throughout the lifespan of the app, and therefore is a major decision tool in the software
development process. In analyzing the life-cycle costs, timing is important and there is a
discounting of costs and benefits within a specific time scope, and any other costs or benefits
outside that time is usually ignored (Norris, 2001). Life-cycle consists of research and
development costs, cost of operation and support and cost of decommissioning (Galar et al,
2017).

REFERENCES

Boehm, B.W., 1991. Software risk management: principles and practices. IEEE software, 8(1),
pp.32-41.

Colomo-Palacios, R., Casado-Lumbreras, C., Soto-Acosta, P., GarcíA-PeñAlvo, F.J. and Tovar-Caro,
E., 2013. Competence gaps in software personnel: A multi-organizational study. Computers in
Human Behavior, 29(2), pp.456-461.

Daneva, M., Heib, R. and Scheer, A.W., 1996. Benchmarking business process models. Iwi.

Dey, P.K., Kinch, J. and Ogunlana, S.O., 2007. Managing risk in software development projects: a
case study. Industrial Management & Data Systems, 107(2), pp.284-303.

Galar, D., Sandborn, P. and Kumar, U., 2017. Maintenance costs and life cycle cost analysis. CRC
Press.

Glinz, M., 2007, October. On non-functional requirements. In 15th IEEE International


Requirements Engineering Conference (RE 2007) (pp. 21-26). IEEE.

Glinz, M. and Wieringa, R.J., 2007. Guest editors' introduction: Stakeholders in requirements
engineering. IEEE software, 24(2), pp.18-20.

Gencel, C., Buglione, L. and Abran, A., 2009, November. Improvement opportunities and
suggestions for benchmarking. In International Workshop on Software Measurement (pp. 144-
156). Springer, Berlin, Heidelberg.

Huang, S.M., Chang, I.C., Li, S.H. and Lin, M.T., 2004. Assessing risk in ERP projects: identify and
prioritize the factors. Industrial management & data systems, 104(8), pp.681-688.

Lim, S.L., Quercia, D. and Finkelstein, A., 2010, May. StakeSource: harnessing the power of
crowdsourcing and social networks in stakeholder analysis. In 2010 ACM/IEEE 32nd International
Conference on Software Engineering (Vol. 2, pp. 239-242). IEEE

Norris, G.A., 2001. Integrating life cycle cost analysis and LCA. The international journal of life
cycle assessment, 6(2), pp.118-120.

Pons, D., 2008. Project management for new product development. Project management journal,
39(2), pp.82-97.
Reel, J.S., 1999. Critical success factors in software projects. IEEE software, 16(3), pp.18-23.

Thoft-Christensen, P., 2012. Infrastructures and life-cycle cost-benefit analysis. Structure and
Infrastructure Engineering, 8(5), pp.507-516.

Wah Fong, S., Cheng, E.W. and Ho, D.C., 1998. Benchmarking: a general reading for management
practitioners. Management Decision, 36(6), pp.407-418.

Wasserman, T., 2010. Software engineering issues for mobile application development.

West, D.M., 2012. How mobile technology is driving global entrepreneurship. Brookings Policy
Report.

Wysocki, R.K. and McGary, R., 2003. Effective Project Management. Traditional, Adaptive,
Extreme.-3d ed.

You might also like