Explain in Details The Criteria For Choosing A Software Process Model. Categories Them Based On The Type of Related Project(s)
Explain in Details The Criteria For Choosing A Software Process Model. Categories Them Based On The Type of Related Project(s)
(MoCU)
FACULTY OF BUSINNES AND INFORMATION SCIENCE (FBIS)
PROGRAM: BACHELLOR OF SCIENCE IN BUSINESS INFORMATION AND
COMMUNICATION TECHNOLOGY (BSc-BICT)
REGISTRATION NUMBER:
Question:
Explain in details the criteria for choosing a software process model. Categories them based
on the type of related project(s)
REFERENCES
Bandinelli, S. C., Fuggetta, A., & Ghezzi, C. (1993). Software process model evolution in the
SPADE environment. IEEE transactions on software engineering, 19(12), 1128-1144.
Gruhn, V. (1991, June). Validation and verification of software process models. In European
Symposium on Software Development Environments (pp. 271-286). Springer, Berlin,
Heidelberg.
Sommerville, I. (1996). Software process models. ACM computing surveys (CSUR), 28(1),
269-271.
O'Carroll, P. W., Berman, A. L., Maris, R. W., Moscicki, E. K., Tanney, B. L., & Silverman,
M. M. (1996). Beyond the Tower of Babel: a nomenclature for suicidology. Suicide and Life‐
Threatening Behavior, 26(3), 237-252.
Cohen, J. R., Hoitash, U., Krishnamoorthy, G., & Wright, A. M. (2014). The effect of audit
committee industry expertise on monitoring the financial reporting process. The Accounting
Review, 89(1), 243-273.
Hugos, M. H., & Hulitzky, D. (2010). Business in the cloud: what every business needs to
know about cloud computing. John Wiley & Sons.
A software development methodology refers to the framework that is used to structure, plan, and
control the process of developing a software system. A wide variety of such software development
frameworks have evolved over the years, each with its own recognized strengths and weaknesses.
Most modern development processes can be vaguely described as agile. Other methodologies
include waterfall, prototyping, iterative and incremental development, spiral development,
rapid application development, and extreme programming.
A “life cycle” approach with distinct phases is in contrast to agile software development
approaches which define a process of iteration, but where design, construction, and
deployment of different pieces can occur simultaneously.
One software development methodology is not necessarily suitable for use by all projects.
Each of the available software development methodologies is best suited to specific kinds of
projects, based on various technical, organizational, project and team considerations.
When looking for the best software development methodology teams must analyse the entire
picture to ensure they choose the system that will give them the best results for their money
and time spent. The experience of the team members also should be considered when
deciding which of the software development methodology types to use. Some people may not
feel comfortable working with certain systems if they have no prior experience with them.
The size of the project should be considered when picking a software development
methodology to use. Larger projects may not be suited for the Waterfall and some apps will
require longer testing times due to their size and requirements.
The cost of delays must always be addressed too, otherwise companies will run into problems
if they need more funding and time to develop the application than they have available to
complete it.
Feedback is crucial to being able to recreate outcomes in future projects. If you do not know
how you got the results you have, then you have no idea how to get them again. You will also
want to know how to avoid outcomes that do not give you the end solutions you desire. You
will need to consider your team's abilities to provide feedback. Some applications and
software development methodologies used to build them may require more feedback than
others depending on their complexity and the size of the project.
Whether you choose the latest software development methodology or stick to a more
traditional software development methodology will rely on the following 7 things:
The scale of a project determines the number of developers needed to handle it. The larger
the project, the larger the size of the development team. Larger projects, therefore, require
much more elaborate and orderly project management plans, and in such cases, the good old
waterfall module is the best-suited.
For developments that unfold through sprints, the Agile and iterative methods are the best, as
they facilitate the release of partially completed systems to generate an impression of rapid
progression. But if the time-frame for the development is long-term and there are no fast-
approaching deadlines, the waterfall method is a great choice.
If your developer team is dispersed across the map, then there’ll be a greater need for
coordination, coherence and accountability. In this case, a more rigid project management
regimen is the best-suited, and this is the case where the waterfall shines the most. Agile
requires much more frequent contact and closely-knit teams; a dispersed developer team
might have to deal with lots of confusion and missteps in the development process if Agile is
the chosen SDLC.
Size, complexity, funds available
One of the key features of selecting a process model is to understand the project in terms of
size, complexity, funds available, and so on. In addition, the risks which are associated with
the project should also be considered. Note that only a few process models emphasize risk
assessment. Various other issues related to the project and the risks are listed in Table.
Table Selections on the Basis of the Project Type and Associated Risks
The most essential feature of any process model is to understand the requirements of the
project. In case the requirements are not clearly defined by the user or poorly understood by
the developer, the developed software leads to ineffective systems. Thus, the requirements of
the software should be clearly understood before selecting any process model. Various other
issues related to the requirements are listed in Table.
User involvement
Software is developed for the users. Hence, the users should be consulted while selecting the
process model. The comprehensibility of the project increases if users are involved in
selecting the process model. It is possible that a user is aware of the requirements or has a
rough idea of the requirements. It is also possible that the user wants the project to be
developed in a sequential manner or an incremental manner (where a part is delivered to the
user for use). Various other issues related to the user's satisfaction are listed in Table.
Some of the selection criteria or arguments that you may use to select an SDLC are:
Is the SDLC suitable for the size of our team and their skills?
Is the SDLC suitable for the selected technology we use for implementing the
solution?
Is the SDLC suitable for client and stakeholders concerns and priorities?
Is the SDLC suitable for the geographical situation (distributed team)?
Is the SDLC suitable for the size and complexity of our software?
Is the SDLC suitable for the type of projects we do?
Is the SDLC suitable for our software engineering capability?
Is the SDLC suitable for the project risk and quality insurance?
Conclusion
It’s crucial to make the right decisions concerning your software development process right
from the outset, as you might find it much more difficult to implement changes down the
road. However, with these tips, you’ll be able to make the right decisions on the Custom web
development services you hire, the choice of SDLC model, and other key aspects of your
software development process. When you’re ready to get started, be sure to contact us, and
we’ll work with you to make your project just right for your business.