Agile Methods: Corpuz, Rodelyn Sumallo, Emilie Ann Tayaba, Francois Villanueva, Leo Gabriel

You might also like

Download as pptx, pdf, or txt
Download as pptx, pdf, or txt
You are on page 1of 27

CHAPTER 3:

AGILE METHODS
Corpuz, Rodelyn
Sumallo, Emilie Ann
Tayaba, Francois
Villanueva, Leo Gabriel
1. Select Three (3) MIT thesis available in
the library and describe how did they
used agile methodology in the study?
1. Web-Based Academic Loading of
Urdaneta City University- Agile SDLC
Methodology
2. Course Management System of
Pangasinan State University- Agile SDLC
Methodology
3. Library Management System of
2. Did the studies touch the principles of Agile?
Discuss.
A. Library management system
- the study used waterfall methodology which is totally different from
Agile methodology.
- The software development process is divided into different phases in
the Waterfall model while Agile methodology segregates the project
development lifecycle into sprints
- Waterfall is a structured software development methodology, and often
times can be quite rigid, whereas the Agile methodology is known for its
flexibility
- According to the Waterfall model, software development is
to be completed as one single project, which is then divided
into different phases, with each phase appearing only once
during the SDLC. However, the Agile methodology can be
considered as a collection of many different projects, which
are nothing but the iterations of the different phases
focusing on improving the overall software quality with
feedbacks from users or the QA team
- If you want to use the Waterfall model for software
development, then you have to be clear with all the
development requirements beforehand as there is no scope
of changing the requirements once the project development
starts. The Agile methodology, on the other hand, is quite
flexible, and allows for changes to be made in the project
development requirements even after the initial planning
has been completed
• - All the project development phases such as designing,
development, testing, etc. are completed once in the
Waterfall model while as part of the Agile methodology,
they follow an iterative development approach. As a
result, planning, development, prototyping and other
software development phases can appear more than
once during the entire SDLC.
- One of the major differences between Agile and Waterfall
development methodology is their individual approach
towards quality and testing. In the Waterfall model, the
“Testing” phase comes after the “Build” phase, but, in the
Agile methodology, testing is typically performed
concurrently with programming or at least in the same
iteration as programming
- While Waterfall methodology is an internal process and
does not require the participation of customers, the Agile
software development approach focuses on customer
satisfaction and thus, involves the participation of
customers throughout the development phase
- The Waterfall model can be regarded as a stringently
sequential process, however, the Agile methodology is a
highly collaborative software development process, thereby
leading to better team input and faster problem solving
- The Waterfall model is best suited for projects which have
clearly defined requirements and in which change is not
expected at all, while Agile development supports a process
in which the requirements are expected to change and
evolve. Thus, if you are planning to develop a software that
would require frequent overhauls and has to keep up with
the technology landscape and customer requirements,
Agile is the best approach to follow
- The Waterfall model exhibits a project mindset and lays its
focus strictly on the completion of project development,
while Agile introduces a product mindset that focuses on
ensuring that the developed product satisfies its end
customers, and changes itself as the requisites of
customers change.
B. Web-Based Academic Loading of UCU
C. Course Management System of PSU
- the study used agile sdlc methodology which follows the
principles of agile
- Individuals and interactions - In Agile development, self-
organization and motivation are important, as are interactions
like co-location and pair programming.
- Working software - Demo working software is considered the
best means of communication with the customers to understand
their requirements, instead of just depending on documentation.
- Customer collaboration - As the requirements cannot be
gathered completely in the beginning of the project due to
various factors, continuous customer interaction is very
important to get proper product requirements.
- Responding to change - Agile Development is focused on
quick responses to change and continuous development.
3. Which among the MIT thesis used Extreme
Programming? Did it employ the XP
principles? Explain further.

Extreme Programming (XP) is an agile software


development framework that aims to produce
higher quality software, and higher quality of life for
the development team. XP is the most specific of
the agile frameworks regarding appropriate
engineering practices for software development.
When Applicable
The general characteristics where XP is appropriate were described by
Don Wells on www.extremeprogramming.org:
• Dynamically changing software requirements
• Risks caused by fixed time projects using new technology
• Small, co-located extended development team
• The technology you are using allows for automated unit and
functional tests
Due to XP’s specificity when it comes to it’s full set of software engineering
practices, there are several situations where you may not want to fully practice XP.
The post When is XP Not Appropriate on the C2 Wiki is probably a good place to
start to find examples where you may not want to use XP.
VALUES
The five values of XP are communication, simplicity, feedback,
courage, and respect and are described in more detail below.
1. Communication
Software development is inherently a team sport that relies on
communication to transfer knowledge from one team member to
everyone else on the team. XP stresses the importance of the
appropriate kind of communication - face to face discussion with the
aid of a white board or other drawing mechanism.
2. Simplicity
Simplicity means “what is the simplest thing that will work?”
The purpose of this is to avoid waste and do only absolutely
necessary things such as keep the design of the system as
simple as possible so that it is easier to maintain, support,
and revise. Simplicity also means address only the
requirements that you know about; don’t try to predict the
future.
3. Feedback
Through constant feedback about their previous efforts,
teams can identify areas for improvement and revise their
practices. Feedback also supports simple design. Your
team builds something, gathers feedback on your design
and implementation, and then adjust your product going
forward.
4. Courage
Kent Beck defined courage as “effective action in the face
of fear” (Extreme Programming Explained P. 20). This
definition shows a preference for action based on other
principles so that the results aren’t harmful to the team. You
need courage to raise organizational issues that reduce
your team’s effectiveness. You need courage to stop doing
something that doesn’t work and try something else. You
need courage to accept and act on feedback, even when
it’s difficult to accept.
5. Respect
The members of your team need to respect each other in
order to communicate with each other, provide and accept
feedback that honors your relationship, and to work
together to identify simple designs and solutions.
4. Why do software development companies
usually use Scrum Methodology at present?
Present the reasons why this methodology is
very applicable for this type of development?
Answer: Reasons to use SCRUM in Software
Development
1. Helps save time and money- with a traditional method and a
responsible team, you can achieve wonders through SCRUM.
2. Encourages teamwork- The “product owner” and the “team” are
complemented by the SCRUM Master, a resource that helps and
support mission.
3. It adapts to the company- The SCRUM Methodology also
provides the possibility of adjusting to the companies that use it. Not
only the idea of an organized production of task is conceived.
4. It is easy to use- Throught a methodology like SCRUM, the
integration of all parties involved in a project is successfully
achieved. The participation and management of SCRUM are simple
and easy to handle for all stages. In the same way, it has a record of
work done and is monitore to achieve it efficiently.
Improved quality of product development
-Using Scrum enables you to generate the required
methodology for developing the complex products in the
simple way.The software team receives real time input and
feedback from the customer and using this, they are able to
constantly update the system as and when required.
SCRUM
1. Three Roles: Team, Scrum Master (often a Project
Manager), Product Owner(often a Project Manager)
2. Three Meetings: Sprint Planning, Daily Scrum,
Retrospective
3. Three Artifacts: Product Backlog, Sprint Backlog,
Burndown chart.
Thank you
Please give US the
highest grade ;)
God Bless You

You might also like