A Comparative Report on Adaptive Methodologies in Software Development
VerifiedAdded on  2020/05/11
|15
|3023
|113
Report
AI Summary
This report provides a comprehensive overview of adaptive methodologies used in software development, contrasting them with traditional predictive approaches. It focuses on three key methodologies: Scrum, Extreme Programming (XP), and Unified Process (UP). The report delves into the core concepts of adaptive methodologies, emphasizing their iterative nature and ability to accommodate changing requirements. It details the stages, advantages, and disadvantages of each methodology, including the specific practices and roles within Scrum, the emphasis on teamwork and customer satisfaction in XP, and the phased approach of UP. The report also includes an event table, model class diagram, design class diagram, use case diagram, and use case description to illustrate practical applications. Finally, it offers a recommendation on the most suitable methodology for a specific project (FFSL system), highlighting the benefits of Scrum for continuous teamwork and client involvement. The report is a student contribution to Desklib, a platform offering AI-based study tools.

[Date]
[Document title]
[Document subtitle]
Student details
[company name]
[Document title]
[Document subtitle]
Student details
[company name]
Paraphrase This Document
Need a fresh take? Get an instant paraphrase of this document with our AI Paraphraser

Contents
1 Adaptive methodologies...........................................................................................................................2
1.1 Scrum...........................................................................................................................................3
1.1.1 Advantages of scrum...........................................................................................................3
1.1.2 Disadvantages of scrum.......................................................................................................4
1.2 Extreme programming (XP).........................................................................................................4
1.2.1 Advantages of Extreme programming.................................................................................5
1.2.2 Disadvantages of Extreme programming.............................................................................5
1.3 Unified process (UP)....................................................................................................................5
1.3.1 Advantages of UP.................................................................................................................6
1.3.2 Disadvantages of UP............................................................................................................6
2 Recommendation................................................................................................................................6
3 Event table...........................................................................................................................................7
4 Model class diagram............................................................................................................................8
5 Design class diagram............................................................................................................................9
6 Use diagram.......................................................................................................................................10
7 Use case description..........................................................................................................................10
Human Computer Interaction...................................................................................................................12
References.................................................................................................................................................14
1 Adaptive methodologies...........................................................................................................................2
1.1 Scrum...........................................................................................................................................3
1.1.1 Advantages of scrum...........................................................................................................3
1.1.2 Disadvantages of scrum.......................................................................................................4
1.2 Extreme programming (XP).........................................................................................................4
1.2.1 Advantages of Extreme programming.................................................................................5
1.2.2 Disadvantages of Extreme programming.............................................................................5
1.3 Unified process (UP)....................................................................................................................5
1.3.1 Advantages of UP.................................................................................................................6
1.3.2 Disadvantages of UP............................................................................................................6
2 Recommendation................................................................................................................................6
3 Event table...........................................................................................................................................7
4 Model class diagram............................................................................................................................8
5 Design class diagram............................................................................................................................9
6 Use diagram.......................................................................................................................................10
7 Use case description..........................................................................................................................10
Human Computer Interaction...................................................................................................................12
References.................................................................................................................................................14

1 Adaptive methodologies
Adaptive methodologies are methodologies that were introduced to replace or compliment the
traditional predictive approaches like the dominant waterfall model for software development. The
main concept embraced by adaptive methodologies is that the software development life cycle is a
highly dynamic process and the activities undertaken during the software development life cycle have to
be adjusted as the on various stages and phases of the project. Adaptive methodologies are effective
because at most times the project is not well understood at the initial stages thus requirements are
bound to change as the project progresses onwards. A good example of how adaptive methodologies
work is the spiral model which makes continuous cycles through the development activities until the
project is over. The main focus of adaptive methodologies are results where by the results are features
of the system which are delivered to the client in increments. Thus adaptive methodologies are iterative.
The basic adaptive methodology life cycle has four stages;
ï‚· Project initiation
ï‚· Adaptive cycle planning
ï‚· Concurrent feature development
ï‚· Quality review
ï‚· Final question and answer and release.
Figure 1: Adaptive methodologies life cycle phases
Figure 1 shows the life cycle of adaptive methodologies. Project initiation involves identifying and
defining the objectives and the mission of the project by understanding the constraints under which the
project should be developed, establishing the organization of the project, identifying and defining the
requirements, identifying the size and the scope of the project and finally identifying all the key possible
project risks that could occur during the development process.
The other steps involve developing and defining iterations that will be followed to deliver feature
oriented increments to the clients.
There are various adaptive methodology approaches but this report will focus only on 3 approaches;
ï‚· Scrum
ï‚· Extreme programming(UP)
Adaptive methodologies are methodologies that were introduced to replace or compliment the
traditional predictive approaches like the dominant waterfall model for software development. The
main concept embraced by adaptive methodologies is that the software development life cycle is a
highly dynamic process and the activities undertaken during the software development life cycle have to
be adjusted as the on various stages and phases of the project. Adaptive methodologies are effective
because at most times the project is not well understood at the initial stages thus requirements are
bound to change as the project progresses onwards. A good example of how adaptive methodologies
work is the spiral model which makes continuous cycles through the development activities until the
project is over. The main focus of adaptive methodologies are results where by the results are features
of the system which are delivered to the client in increments. Thus adaptive methodologies are iterative.
The basic adaptive methodology life cycle has four stages;
ï‚· Project initiation
ï‚· Adaptive cycle planning
ï‚· Concurrent feature development
ï‚· Quality review
ï‚· Final question and answer and release.
Figure 1: Adaptive methodologies life cycle phases
Figure 1 shows the life cycle of adaptive methodologies. Project initiation involves identifying and
defining the objectives and the mission of the project by understanding the constraints under which the
project should be developed, establishing the organization of the project, identifying and defining the
requirements, identifying the size and the scope of the project and finally identifying all the key possible
project risks that could occur during the development process.
The other steps involve developing and defining iterations that will be followed to deliver feature
oriented increments to the clients.
There are various adaptive methodology approaches but this report will focus only on 3 approaches;
ï‚· Scrum
ï‚· Extreme programming(UP)
⊘ This is a preview!⊘
Do you want full access?
Subscribe today to unlock all pages.

Trusted by 1+ million students worldwide

ï‚· Unified process approach(UP)
1.1 Scrum
Scrum is an agile process of software development methodology or framework that adopts the agile
software development approach of developing the software. It follows and adapts to all the values and
principles of adaptive methodology but includes more specific definitions and specifications on how the
project should be developed(Adel, 2011). Scrum makes information about a project transparent to the
users thus addresses the complexity that may arise from the various phases of the development life
cycle. This further makes it easy for the development team to adapt on the constantly changing
requirements which were not foreseen during the initial project definition stage (Faucheux, 2012). The
stages of scrum methodology are;
ï‚· Planning
ï‚· Staging the development
ï‚· Release.
The planning and tagging development stages are stages where all the functional development of the
project is carried out in iterations by creating sprints which can be identified as features of the products.
The sprints are allocated to the development team and are delivered within a specified timeframe
usually two to four weeks. The basic practices of scrum are;
ï‚· Iterations- In scrum, all the work is done in iterations which usually last two to four weeks. After
completion of a sprint, thorough inspection is done on each sprint to make sure that the project
does not proceed in the wrong direction because of a fault in a sprint.
ï‚· Increments- In scrum, an increment is a fully working feature of the system which is achieved
after completion of a sprint. This increment has to be inspected to make sure that it complete
and works correctly.
ï‚· Emergence- complexity in projects emerge in many unpredictable ways as the project is being
developed. It’s not possible to always predict how such complexities end but scrum makes it
easy to anticipate these complexities by making it easy for the project to incorporate changes in
requirements even at the late stages of the development.
ï‚· Self-organization- Personnel can be one of the most unpredictable factors in software
development so it’s necessary to develop a plan to deal with these kind of uncertainties. This is
done by enabling the development team to manage their work by relying on their experience
from past projects. This can be enhanced by use of other approaches like use of object modeling
techniques like PERT charts.
ï‚· Collaboration- Scrum works if the all the stakeholders collaborate and communicate freely and
openly. All stakeholders are encouraged to contribute to the project not based on the roles
assigned to them but based on their capabilities.
Scrum methodology is typically used for complex projects whose scope is not well defined and there
are expectations of changes in the requirements as the project development goes on.
1.1.1 Advantages of scrum
The following are the advantages of scrum;
1.1 Scrum
Scrum is an agile process of software development methodology or framework that adopts the agile
software development approach of developing the software. It follows and adapts to all the values and
principles of adaptive methodology but includes more specific definitions and specifications on how the
project should be developed(Adel, 2011). Scrum makes information about a project transparent to the
users thus addresses the complexity that may arise from the various phases of the development life
cycle. This further makes it easy for the development team to adapt on the constantly changing
requirements which were not foreseen during the initial project definition stage (Faucheux, 2012). The
stages of scrum methodology are;
ï‚· Planning
ï‚· Staging the development
ï‚· Release.
The planning and tagging development stages are stages where all the functional development of the
project is carried out in iterations by creating sprints which can be identified as features of the products.
The sprints are allocated to the development team and are delivered within a specified timeframe
usually two to four weeks. The basic practices of scrum are;
ï‚· Iterations- In scrum, all the work is done in iterations which usually last two to four weeks. After
completion of a sprint, thorough inspection is done on each sprint to make sure that the project
does not proceed in the wrong direction because of a fault in a sprint.
ï‚· Increments- In scrum, an increment is a fully working feature of the system which is achieved
after completion of a sprint. This increment has to be inspected to make sure that it complete
and works correctly.
ï‚· Emergence- complexity in projects emerge in many unpredictable ways as the project is being
developed. It’s not possible to always predict how such complexities end but scrum makes it
easy to anticipate these complexities by making it easy for the project to incorporate changes in
requirements even at the late stages of the development.
ï‚· Self-organization- Personnel can be one of the most unpredictable factors in software
development so it’s necessary to develop a plan to deal with these kind of uncertainties. This is
done by enabling the development team to manage their work by relying on their experience
from past projects. This can be enhanced by use of other approaches like use of object modeling
techniques like PERT charts.
ï‚· Collaboration- Scrum works if the all the stakeholders collaborate and communicate freely and
openly. All stakeholders are encouraged to contribute to the project not based on the roles
assigned to them but based on their capabilities.
Scrum methodology is typically used for complex projects whose scope is not well defined and there
are expectations of changes in the requirements as the project development goes on.
1.1.1 Advantages of scrum
The following are the advantages of scrum;
Paraphrase This Document
Need a fresh take? Get an instant paraphrase of this document with our AI Paraphraser

ï‚· Scrum is very useful for project whose requirements are not well defined as it is easy to
incorporate changes at any stage of the process.
ï‚· Scrum provides a clear and visible development as it encourages frequent meetings by insisting
on regular update on progress in the work.
ï‚· Scrum ensures effective utilization of the development through assigning of roles and assigning
of sprints.
ï‚· Scrum ensures a better product is delivered to the customers through delivery of the system in
increments thus the client knows what to expect.
1.1.2 Disadvantages of scrum
The following are the disadvantages of scrum;
ï‚· Due to lack of a definite end date for the project, scrum methodology often leads to scope
creep.
ï‚· Scrum is very difficult to adopt for large teams
ï‚· Scrum requires experienced members in the development team thus not suitable for startup
teams.
ï‚· Scrum highly relies on individual commitment thus failure can occur of a team member fails to
perform to expectations (Chandana, 2017).
1.2 Extreme programming (XP)
Extreme programming is an adaptive or agile methodology which manly emphasizes on team work and
customer satisfaction (Pierce, 2016). With XP, it’s easy for the development team to respond to changes
in the requirements at any stage of the development life cycle. The five concepts that make XP produce
a better project are;
ï‚· Communication- Team members have to be in constant communication
ï‚· Simplicity- The design of the proposed system is kept simple and clean making it easier to
understand for all stakeholders.
ï‚· Feedback- After testing the product feedback is ensured all through the development life cycle.
 Respect- Success of every bit depends on the respect for an individual’s contribution
ï‚· Courage- The simple rules of XP gives the team members courage to work effectively to deal
with the changing requirements.
incorporate changes at any stage of the process.
ï‚· Scrum provides a clear and visible development as it encourages frequent meetings by insisting
on regular update on progress in the work.
ï‚· Scrum ensures effective utilization of the development through assigning of roles and assigning
of sprints.
ï‚· Scrum ensures a better product is delivered to the customers through delivery of the system in
increments thus the client knows what to expect.
1.1.2 Disadvantages of scrum
The following are the disadvantages of scrum;
ï‚· Due to lack of a definite end date for the project, scrum methodology often leads to scope
creep.
ï‚· Scrum is very difficult to adopt for large teams
ï‚· Scrum requires experienced members in the development team thus not suitable for startup
teams.
ï‚· Scrum highly relies on individual commitment thus failure can occur of a team member fails to
perform to expectations (Chandana, 2017).
1.2 Extreme programming (XP)
Extreme programming is an adaptive or agile methodology which manly emphasizes on team work and
customer satisfaction (Pierce, 2016). With XP, it’s easy for the development team to respond to changes
in the requirements at any stage of the development life cycle. The five concepts that make XP produce
a better project are;
ï‚· Communication- Team members have to be in constant communication
ï‚· Simplicity- The design of the proposed system is kept simple and clean making it easier to
understand for all stakeholders.
ï‚· Feedback- After testing the product feedback is ensured all through the development life cycle.
 Respect- Success of every bit depends on the respect for an individual’s contribution
ï‚· Courage- The simple rules of XP gives the team members courage to work effectively to deal
with the changing requirements.

XP is mostly used where customer or client involvement is highly needed and also the project has to be
delivered within very strict timeframes.
1.2.1 Advantages of Extreme programming
The following are the advantages of XP;
ï‚· XP helps to save time and cost that is required to realize the project as it follows very strict
timeframes and saves on cost because there is not so much use of documentation.
ï‚· XP encourages simplicity thus maintenance of the project is easy as the code that is written is
easy to understand and maintain at a later time.
1.2.2 Disadvantages of Extreme programming
ï‚· Too much emphasis on the code rather than the design
ï‚· XP does not emphasize on documentation which is necessary for a good project.
1.3 Unified process (UP)
Unified process is an iterative framework that follows the agile approach of software development. UP is
highly incremental process which is divided into phases which describe the life cycle of the software
under development(Alhir, 2002). The four phases are;
ï‚· Inception phase- the inception phase is mainly involved with the definition of the scope of the
system
ï‚· Elaboration phase- the elaboration phase mainly involves comping up with the financial and
time constraints and any other kind of constraints that might be faced during the development
life cycle
ï‚· Construction phase- this is where the actual development takes
ï‚· Transition phase- this is where rolling out of a full functional system to the client takes place
delivered within very strict timeframes.
1.2.1 Advantages of Extreme programming
The following are the advantages of XP;
ï‚· XP helps to save time and cost that is required to realize the project as it follows very strict
timeframes and saves on cost because there is not so much use of documentation.
ï‚· XP encourages simplicity thus maintenance of the project is easy as the code that is written is
easy to understand and maintain at a later time.
1.2.2 Disadvantages of Extreme programming
ï‚· Too much emphasis on the code rather than the design
ï‚· XP does not emphasize on documentation which is necessary for a good project.
1.3 Unified process (UP)
Unified process is an iterative framework that follows the agile approach of software development. UP is
highly incremental process which is divided into phases which describe the life cycle of the software
under development(Alhir, 2002). The four phases are;
ï‚· Inception phase- the inception phase is mainly involved with the definition of the scope of the
system
ï‚· Elaboration phase- the elaboration phase mainly involves comping up with the financial and
time constraints and any other kind of constraints that might be faced during the development
life cycle
ï‚· Construction phase- this is where the actual development takes
ï‚· Transition phase- this is where rolling out of a full functional system to the client takes place
⊘ This is a preview!⊘
Do you want full access?
Subscribe today to unlock all pages.

Trusted by 1+ million students worldwide

Unified process mainly emphasizes on the identification and addressing of critical risks that might occur
in the project development life cycle by defining the deliverables of each iteration.
Unified process is mainly used where project documentation is highly needed as it emphasizes on
documentation of the project.
1.3.1 Advantages of UP
ï‚· UP ensures feedback both from the developers and the users
ï‚· UP shows a visible progress on the development of the project.
ï‚· UP manages the complexity of the problem by dividing it into smaller sub problems.
ï‚· UP is able to deal with changes in requirements even at late stages of the SDLC.
1.3.2 Disadvantages of UP
ï‚· Requires a team of experts for it to work effectively
ï‚· UP is complex thus makes it hard to understand and use
2 Recommendation
For the development of the FFSL system the best methodology to use is because scrum encourages
continued teamwork throughout the development. The team work is not only for the team of
developers but also for the client thus for the FFSL client, continuous involvement will ensure that the
business gets what they expected. In case of any changes by FFSL scrum will make it easy to incorporate
these changes thus the final product will ensure FFSL is satisfied.
in the project development life cycle by defining the deliverables of each iteration.
Unified process is mainly used where project documentation is highly needed as it emphasizes on
documentation of the project.
1.3.1 Advantages of UP
ï‚· UP ensures feedback both from the developers and the users
ï‚· UP shows a visible progress on the development of the project.
ï‚· UP manages the complexity of the problem by dividing it into smaller sub problems.
ï‚· UP is able to deal with changes in requirements even at late stages of the SDLC.
1.3.2 Disadvantages of UP
ï‚· Requires a team of experts for it to work effectively
ï‚· UP is complex thus makes it hard to understand and use
2 Recommendation
For the development of the FFSL system the best methodology to use is because scrum encourages
continued teamwork throughout the development. The team work is not only for the team of
developers but also for the client thus for the FFSL client, continuous involvement will ensure that the
business gets what they expected. In case of any changes by FFSL scrum will make it easy to incorporate
these changes thus the final product will ensure FFSL is satisfied.
Paraphrase This Document
Need a fresh take? Get an instant paraphrase of this document with our AI Paraphraser

3 Event table
Event Event
Type
Trigger Source Activity/Use Case System
Response/
Output
Destination
Customer wants
to fill application
external New
customer
registration
customer Fill application Application
sent waiting
approval
Customer
A customer
manager wants
to review a
customer
application
external Application
review
Customer
manager
Review application Application
approved or
application
declined
Customer
manager
A sales person
wants to order
items
external Order
items
Salesperson Order items Order sent
waiting
approval
Salesperson
A salesperson
checks in to a
store
External Store check
in
salesperson Check in Check in
recorded
salesperson
A salesperson
records a sale
External Sale
recording
salesperson Record sale Sale
recorded
successfully
salesperson
The purchasing
manager want
to process a new
order from a
salesperson
External Order
processing
Purchasing
manager
Process order Order
processed
successfully
Purchasing
manager
The manager
wants to assign
a sales person to
an area
External Assigning
of
salesperson
to an area
manager Assign salesperson
to an area
Salesperson
assigned
successfully
manager
Manager wants
to generate
reports
external Report
generation
manager Generate report Report
generated
successfully
manager
The system
notifies the
management
team of an item
that is running
low in stock
internal Stock
reminder
System View stock Item below
stock limit
manager
A
salesperson,staff
logins to the
system
external login Salesperson,
staff
login Session
granted
Salesperson,
staff
Event Event
Type
Trigger Source Activity/Use Case System
Response/
Output
Destination
Customer wants
to fill application
external New
customer
registration
customer Fill application Application
sent waiting
approval
Customer
A customer
manager wants
to review a
customer
application
external Application
review
Customer
manager
Review application Application
approved or
application
declined
Customer
manager
A sales person
wants to order
items
external Order
items
Salesperson Order items Order sent
waiting
approval
Salesperson
A salesperson
checks in to a
store
External Store check
in
salesperson Check in Check in
recorded
salesperson
A salesperson
records a sale
External Sale
recording
salesperson Record sale Sale
recorded
successfully
salesperson
The purchasing
manager want
to process a new
order from a
salesperson
External Order
processing
Purchasing
manager
Process order Order
processed
successfully
Purchasing
manager
The manager
wants to assign
a sales person to
an area
External Assigning
of
salesperson
to an area
manager Assign salesperson
to an area
Salesperson
assigned
successfully
manager
Manager wants
to generate
reports
external Report
generation
manager Generate report Report
generated
successfully
manager
The system
notifies the
management
team of an item
that is running
low in stock
internal Stock
reminder
System View stock Item below
stock limit
manager
A
salesperson,staff
logins to the
system
external login Salesperson,
staff
login Session
granted
Salesperson,
staff

4 Model class diagram
Figure 2: Model class diagram
While modelling the model class diagram, the following assumptions were made;
The purchase manager handles the orders sent by the salespeople by approving them through the
system.
Figure 2: Model class diagram
While modelling the model class diagram, the following assumptions were made;
The purchase manager handles the orders sent by the salespeople by approving them through the
system.
⊘ This is a preview!⊘
Do you want full access?
Subscribe today to unlock all pages.

Trusted by 1+ million students worldwide

5 Design class diagram
Figure 3: Design class diagram
Figure 3: Design class diagram
Paraphrase This Document
Need a fresh take? Get an instant paraphrase of this document with our AI Paraphraser

6 Use diagram
Figure 4: Use case diagram
7 Use case description
Use Case ID: UC-1
Use Case Name: Create customer
Created By: Author Last Updated By: Author
Date Created: 10/13/2017 Date Last Updated: 10/13/2017
Actors: Customer manager
Figure 4: Use case diagram
7 Use case description
Use Case ID: UC-1
Use Case Name: Create customer
Created By: Author Last Updated By: Author
Date Created: 10/13/2017 Date Last Updated: 10/13/2017
Actors: Customer manager

Description: Customer manager approves an application sent by a customer
Trigger: Application approval
Preconditions: Customer manager must be logged in
Postconditions: Application is approved
Normal Flow: 1. Customer manager logs in
2. Customer manager views application
3. Customer manager approves application
4. System changes the status of the application and sends a
notification to the customer.
Alternative Flows: The customer manager rejects the application
Go back to step 4
Exceptions:
Includes: Viewing applications
Priority: High
Frequency of Use: Not Regular
Business Rules: A new customer sends an application which must be approved by
the customer manager
Special Requirements: The customer must fill the form correctly
Assumptions: A potential customer cannot become a customer until his or her
form is approved by the customer manager.
Notes and Issues: A customer manager is the only person who can approve an
application after thoroughly reviewing it
Appendix
Trigger: Application approval
Preconditions: Customer manager must be logged in
Postconditions: Application is approved
Normal Flow: 1. Customer manager logs in
2. Customer manager views application
3. Customer manager approves application
4. System changes the status of the application and sends a
notification to the customer.
Alternative Flows: The customer manager rejects the application
Go back to step 4
Exceptions:
Includes: Viewing applications
Priority: High
Frequency of Use: Not Regular
Business Rules: A new customer sends an application which must be approved by
the customer manager
Special Requirements: The customer must fill the form correctly
Assumptions: A potential customer cannot become a customer until his or her
form is approved by the customer manager.
Notes and Issues: A customer manager is the only person who can approve an
application after thoroughly reviewing it
Appendix
⊘ This is a preview!⊘
Do you want full access?
Subscribe today to unlock all pages.

Trusted by 1+ million students worldwide
1 out of 15
Related Documents

Your All-in-One AI-Powered Toolkit for Academic Success.
 +13062052269
info@desklib.com
Available 24*7 on WhatsApp / Email
Unlock your academic potential
Copyright © 2020–2025 A2Z Services. All Rights Reserved. Developed and managed by ZUCOL.