0% found this document useful (0 votes)
175 views7 pages

Explain in Details The Criteria For Choosing A Software Process Model. Categories Them Based On The Type of Related Project(s)

The document discusses criteria for choosing a software process model based on project type. It categorizes process models like waterfall, prototyping, iterative development, and agile based on factors like project scale, requirements, team communication, and budget. The key criteria discussed are project size, requirements clarity, team location, schedule, and budget. The document recommends choosing a model based on an analysis of these factors to pick the approach that will work best for the specific project.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
175 views7 pages

Explain in Details The Criteria For Choosing A Software Process Model. Categories Them Based On The Type of Related Project(s)

The document discusses criteria for choosing a software process model based on project type. It categorizes process models like waterfall, prototyping, iterative development, and agile based on factors like project scale, requirements, team communication, and budget. The key criteria discussed are project size, requirements clarity, team location, schedule, and budget. The document recommends choosing a model based on an analysis of these factors to pick the approach that will work best for the specific project.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 7

MOSHI CO-OPERATIVE UNIVERSITY

(MoCU)
FACULTY OF BUSINNES AND INFORMATION SCIENCE (FBIS)
PROGRAM: BACHELLOR OF SCIENCE IN BUSINESS INFORMATION AND
COMMUNICATION TECHNOLOGY (BSc-BICT)

COURSE NAME : PROJECT MANAGEMENT


COURSE ANTE : CIT 307
COURSE INSTRUCTOR : Mr. G. SIZYA
TASK : GROUP ASSIGNMENT
SUBMISSION DATE : 1TH JULY, 2020

REGISTRATION NUMBER:

1 OSWALD .A. SHIYO MOCU/BSC.BICT/174/17


2 DANIEL B. FIDELIS MOCU/BSC.BICT/173/17
3 DAUD A. MWAIKAMBO MOCU/BSC.BICT/178/17
4 MARTHA B. KIWOVELE MOCU/BSC.BICT/141/17
5 MILINGA HILOLIMS MOCU/BSC.BICT/189/17
6 JOSEPH M. MARO MoCU/BSc-BICT/182/17

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.

A software development methodology is a way of managing a software development project.


A software development method typically address issues like selecting features for inclusion
in the current version, when software will be released, who works on what, and what testing
is done.

In practice, every organization implements their software development project management


in different ways, which is often slightly different from one project to the next. Nonetheless,
nearly all are using some subset or combination of the ones discussed here.

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.

Traditional software development methodologies such as “Waterfall” that have distinct


phases are sometimes known as software development life cycle (SDLC) methodologies,
though this term could also be used more generally to refer to any methodology.

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 requirements for the project;


 the solution or end product you are expecting at the end of the project;
 feedback on the work done;
 how much change might be requested;
 costs of delay;
 the past experience of the project team with the methodology;
 Project size.

Consider the Scale and Scope of the Development

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.

Time and scheduling

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.

Consider Your Developer Team’s Location and communication

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

Project Waterfall Prototype Spiral RAD Formal


Type and Methods
Associated
Risks
Reliability No No Yes No Yes
requirements
Stable funds Yes Yes No Yes Yes
Reuse No Yes Yes Yes Yes
components
Tight project No Yes Yes Yes No
schedule
Scarcity of No Yes Yes No No
resources

Requirements of the project

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.

      Table Selection on the Basis of the Requirements of the Project

Requirements Waterfall Prototype Spiral RAD Formal


of the Project Methods
Requirements Yes No No Yes No
are defined
early in SDLC
Requirements Yes No No Yes Yes
are easily
defined and
understandabl
e
Requirements No Yes Yes No Yes
are changed
frequently
Requirements No Yes Yes No No
indicate a
complex
System

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.

Table Selection on the Basis of the Users

User Waterfall Prototype Spiral RAD Formal


Involvemen Methods
t
Requires Yes No Yes No Yes
Limited User
Involvement
User No Yes No Yes No
participation
in all phases
No No Yes Yes No Yes
experience
of
participating
in similar
projects

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.

You might also like