Hi, this is my academic understanding about methodologies using in software outsourcing. If you have any questions, please leave your comments at the end. Thank you very much.
3. I. Definition:
3
Waterfall model methodology:
- Also known as Liner Sequential Life Cycle Model
- Followed in the sequential order, project development team only
moves to next phase of development or testing if the previous step
completed successfully.
https://viblo.asia/p/mo-hinh-thac-nuoc-la-gi-va-khi-nao-nen-su-dung-OeVKBD8MlkW
4. II. What Waterfall brings:
- One of the easiest
model to manage.
- It works well for
smaller size projects
where requirements are
easily understandable.
- Process and results are
well documented.
4
5. II. What Waterfall brings:
- Once an application is in the
testing stage, it is very difficult
to go back and change
something.
- Not a good model for complex
and object-oriented projects.
- Not suitable for the projects
where requirements are at a
moderate to high risk of
changing.
5
https://www.guru99.com/waterfall-vs-agile.html
6. III. Definition:
Agile model methodology:
- A practice that helps continuous iteration of development and testing in
the software development process.
- Development and testing activities are concurrent.
- Allows more communication between customers, developers, managers,
and testers.
6
https://www.guru99.com/agile-scrum-extreme-testing.html
7. IV. What Agile brings:
7
- Agile teams are extremely
motivated and self-organized
=> Provide a better result
from the development
projects.
- Assures that quality of the
development is maintained
- Reduce risks in the
development process.
8. IV. What Agile brings:
8
- Not useful method for small
development projects.
- Requires an expert to take
important decisions in the
meeting.
- Cost of implementing an
agile method is little more
compared to other
development methodologies.
9. V. Comparison:
9
Waterfall model Agile model
The customer can only
see the product at the
end of the project
The customer has
early and frequent
opportunities to look
at the product and
make decision and
changes to the project
Only at the end, the
whole product is
tested
Error can be fixed in
the middle of the
project.
Testers work
separately from
developers
Testers and
developers work
together
The test plan is rarely
discussed during the
test phase.
Test plan is reviewed
after each sprint
Software
development will be
completed as one
single project
Can be considered as
a collection of many
different projects
https://www.guru99.com/agile-scrum-extreme-testing.html
10. VI. When to apply?
Only when the requirements are very well known, clear
and fixed.
Product definition is stable.
Technology is understood.
There are no ambiguous requirements
Ample resources with required expertise are available
freely
The project is short.
10
1. Waterfall model:
http://tryqa.com/what-is-waterfall-model-advantages-disadvantages-and-when-to-
use-it/
11. VI. When to apply?
The final product functionality is not completed.
There is no limit to the budget and timing, or when their
estimation of budget and timing is simply not possible.
The consumer needs to quickly launch the product and
commercialize it.
The client is ready to regularly communicate with the
team.
The team is able to adapt to new challenges and work
independently.
11
2. Agile model:
https://lvivity.com/agile-methodology
12. VII. Summary:
Waterfall is a Liner Sequential Life Cycle Model whereas
Agile is a continuous iteration of development and testing
in the software development process.
Agile methodology is known for its flexibility whereas
Waterfall is a structured software development
methodology.
Agile allows changes in project development requirement
whereas Waterfall has no scope of changing the
requirements once the project development starts.
=> Base on the requirements of the project, choose the most
suitable model.
12