You are on page 1of 33

What is Agility ?

Agility is the ability to both create and respond


to change in order to profit in a turbulent
buisness environment.“

The agile software development emphasizes on four core values.

1.Individual and team interactions over processes and tools

2.Working software over comprehensive documentation

3.Customer collaboration over contract negotiation

4.Responding to change over following a plan


What is Agility ?

Agility is the ability to both create and respond


to change in order to profit in a turbulent
buisness environment.“

The agile software development emphasizes on four core values.

1.Individual and team interactions over processes and tools

2.Working software over comprehensive documentation

3.Customer collaboration over contract negotiation

4.Responding to change over following a plan


Agile process model" is based on iterative development. Agile
methods break tasks into smaller iterations, or parts do not
directly involve long term planning. The project scope and
requirements are laid down at the beginning of the development
process. Plans regarding the number of iterations, the duration
and the scope of each iteration are clearly defined in advance.
Phases of Agile Model
1. Requirements gathering: In this phase, you must define the requirements. You should explain business
opportunities and plan the time and effort needed to build the project. Based on this information, you
can evaluate technical and economic feasibility.

2. Design the requirements: When you have identified the project, work with stakeholders to define
requirements. You can use the user flow diagram or the high-level UML diagram to show the work of new
features and show how it will apply to your existing system.

3. Construction/ iteration: When the team defines the requirements, the work begins. Designers and
developers start working on their project, which aims to deploy a working product. The product will
undergo various stages of improvement, so it includes simple, minimal functionality.

4. Testing: In this phase, the Quality Assurance team examines the product's performance and looks for
the bug.

5. Deployment: In this phase, the team issues a product for the user's work environment.

6. Feedback: After releasing the product, the last step is feedback. In


When to use the Agile Model ?

When frequent changes are required.



When a highly qualified and experienced team
is available.
When a customer is ready to have a meeting

with a software team all the time.


When project size is small.
Advantages of Agile

Frequent Delivery
Face-to-Face Communication with clients.
Efficient design and fulfils the business requirement.
Anytime changes are acceptable.
It reduces total development time.
12 Principles of Agile Methodology
1.Our highest priority is to satisfy the customer through early and continuous delivery of valuable software.

2.Welcome changing requirements, even late in development. Agile processes harness change for the customer’s competitive
advantage.

3.Deliver working software frequently, from a couple of weeks to a couple of months, with preference to the shorter timescale.

4.Business people and developers must work together daily throughout the project.

5.Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job
done.

6.The most efficient and effective method of conveying information to and within a development team is face-to-face
conversation.

7.Working software is the primary measure of progress.

8.Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant
pace indefinitely.

9.Continuous attention to technical excellence and good design enhances agility.

10.Simplicity -- the art of maximizing the amount of work not done -- is essential.

11.The best architectures, requirements, and designs emerge from self-organizing teams.

12.At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly. 
Agile Process
Disadvantages of Agile

 1.Due to the shortage of formal documents, it creates


confusion and crucial decisions taken throughout various
phases can be misinterpreted at any time by different team
members.
 2.Due to the lack of proper documentation, once the project
completes and the developers allotted to another project,
maintenance of the finished project can become a difficulty
SCRUM
SCRUM
SCRUM is an agile development method which concentrates specifically on how to
manage tasks within a team-based development environment.

Scrum believes in empowering the development team and advocates working in

small teams (say- 7 to 9 members).

It consists of three roles,

Scrum Master -Master is responsible for setting up the team, sprint meeting and
removes obstacles to progress

Product owner-The Product Owner creates product backlog, prioritizes the backlog
and is responsible for the delivery of the functionality at each iteration

Scrum Team-Team manages its own work and organizes the work to complete the
sprint or cycle
When to Use Scrum ?
 The project requirements will change and evolve 
 Continuous feedback is required
 You have to figure out how to do a large part of the work because you haven't
done it before
 You don’t need to commit to a fixed release date
 The project team wants autonomy
3 Pillars of Scrum
1. Roles
2. Scrum Artifacts
3.Ceremonies (Processes) in Scrum

1.Product backlog: The Product Owner and Scrum Team meet to prioritize the items on the product backlog (the work on the product
backlog comes from user stories and requirements). The product backlog is not a list of things to be completed, but rather it is a list of all the
desired features for the product. The development team then pulls work from the product backlog to complete during each sprint.
 
2.Sprint planning: Before each sprint, the Product Owner presents the top items on the backlog to the team in a sprint planning meeting.
The team then chooses which work they can complete during the sprint and moves the work from the product backlog to the sprint backlog
(which is a list of tasks to complete in the sprint).
 
3.Backlog refinement/grooming: At the end of one sprint, the team and Product Owner meet to make sure the backlog is ready for the next
sprint. The team may remove user stories that aren’t relevant, create new stories, reassess the priority of stories, or split user stories into
smaller tasks. The purpose of this “grooming” meeting is to ensure the backlog only contains items that are relevant and detailed, and that
meet the project’s objectives.
 
4.Daily Scrum meetings: The Daily Scrum is a 15-minute stand-up meeting where each team member talks about their goals and any issues
that have come up. The Daily Scrum happens every day during the sprint and helps keep the team on track.
 
5.Sprint review meeting: At the end of each sprint, the team presents the work they have completed at a sprint review meeting. This
meeting :should feature a live demonstration, not a report or a PowerPoint presentation. 
 
6.Sprint retrospective meeting Also at the end of each sprint, the team reflects on how well Scrum is working for them and talks about any
changes that need to be made in the next sprint. The team may talk about what went well during the sprint, what went wrong, and what
they could do differently.
Process flow of Scrum Methodologies
 Each iteration of a scrum is known as Sprint
 Product backlog is a list where all details are entered to get the end-product
 During each Sprint, top user stories of Product backlog are selected and turned
into Sprint backlog
 Team works on the defined sprint backlog
 Team checks for the daily work
 At the end of the sprint, team delivers product functionality
Scrum-Advantages
1.More transparency and project visibility: With daily stand-up meetings, the
whole team knows who is doing what, eliminating many misunderstandings and
confusion.

2.Increased team accountability: There is no project manager telling the Scrum


Team what to do and when. Instead, the team collectively decides what work they
can complete in each sprint.

 3.Easy to accommodate changes: With short sprints and constant feedback, it’s


easier to cope with and accommodate changes 

4.Increased cost savings: Constant communication ensures the team is aware of


all issues and changes as soon as they arise, helping to lower expenses and
increase quality. By coding and testing features in smaller chunks, there is
continuous feedback and mistakes can be corrected early on, before they get too
expensive to fix.
Scrum-Disadvantages
1.Risk of scope creep: Some Scrum projects can experience scope creep due to
a lack of specific end date. With no completion date, stakeholders may be tempted
to keep requesting additional functionality. 
 2.Team requires experience and commitment: With defined roles and
responsibilities, the team needs to be familiar with Scrum principles to succeed.

 3.The wrong Scrum Master can ruin everything The Scrum Master does not
have authority over the team; he or she needs to trust the team they are
managing and never tell them what to do. If the Scrum Master tries to control the
team, the project will fail.

4.Poorly defined tasks can lead to inaccuracies: Project costs and timelines


won’t be accurate if tasks are not well defined. If the initial goals are unclear,
planning becomes difficult and sprints can take more time than originally
estimated.
XP Life Cycle
FOUR XP VALUES
FOUR XP VARIABLE VALUES
TWELVE XP PRACTICES
Phases of XP
1.Planning : (a) Identification of stakeholders and sponsors ; Infrastructure
Requirements (b) security related information and gathering ; Service Level
Agreements and its conditions

 2.Analysis : (a) Capturing of Stories in Parking lot ; Prioritize stories in Parking lot
(b) Scrubbing of stories for estimation ; Define Iteration SPAN(Time) © Resource
planning for both Development and QA teams

3.Design : (a) Break down of tasks ; Test Scenario preparation for each task (b)
Regression Automation Framework

4.Execution : (a) Coding ; Unit Testing ; Execution of Manual test scenarios ; Defect
Report generation

(b) Conversion of Manual to Automation regression test cases ; Mid Iteration review
©End of Iteration review

5.Wrapping : (a) Small Releases ; Regression Testing ; Demos and reviews


(b)Develop new stories based on the need © Process Improvements based on end
of iteration review comments

6.Closure : (a) Pilot Launch ; Training ;Production Launch ; SLA Guarantee


assurance (b) Review SOA strategy ; Production Support
Extreme Programming
 Extreme Programming technique is very helpful
when there is constantly changing demands or
requirements from the customers or when they are
not sure about the functionality of the system.
 It advocates frequent "releases" of the product in
short development cycles, which inherently
improves the productivity of the system and also
introduces a checkpoint where any customer
requirements can be easily implemented.
 The XP develops software keeping customer in the
target.
Extreme Programming- Advantages
It allows software development companies to save costs and time required for project
realization. Time savings are available because of the fact that XP focuses on the timely
delivery of final products. Extreme Programming teams save lots of money because they
don’t use too much documentation. They usually solve problems through discussions inside
of the team.

Simplicity is one more advantage of Extreme Programming projects. The developers who
prefer to use this methodology create extremely simple code that can be improved at any
moment.

The whole process in XP is visible and accountable. Developers commit what they will
accomplish and show progress.

Constant feedback is also the strong side. It is necessary to listen and make any changes
needed in time.

XP assists to create software faster thanks to the regular testing at the development
stage.

Extreme Programming contributes increasing employee satisfaction and retention.


 Extreme Programming is focused on the code rather than on
design. That may be a problem because good design is
extremely important for software applications. It helps sell
them in the software market. Additionally, in XP projects the
defect documentation is not always good. Lack of defect
documentation may lead to the occurrence of similar bugs in
the future.

 One more disadvantage of XP is that this methodology does


not measure code quality assurance. It may cause defects in
the initial code.

 XP is not the best option if programmers are separated


geographically.
Dynamic Systems Development Method
(DSDM)
DSDM provides project governance and scaling around XP or RAD
approaches.
It has three main phases called pre-project, project, and post-project and
includes defined formal stages within the project phase. Fitness for
Business Purpose is the primary criterion for delivery and acceptance of a
system.
Unified Process (UP)
UP is an iterative and incremental framework, with several
implementations including the RUP, OpenUP, and AgileUP. A highly
tailorable framework that takes a RAD approach that is architecture-
centric and risk-focused.

You might also like