agile principles.pptx
TRANSCRIPT
-
8/10/2019 Agile Principles.pptx
1/22
Agile Principles
Muhammad Shoaib
1
-
8/10/2019 Agile Principles.pptx
2/22
What is Agility?
Effective (rapid and adaptive) response to change
Effective communication among all stakeholders
Drawing the customer onto the team
Organizing a team so that it is in control of the
work performed
Yielding
Rapid, incremental delivery of software
2
-
8/10/2019 Agile Principles.pptx
3/22
4 Practices to Successful Projects
1. An early release of the evolving product to thecustomer.
2. Getting rapid feedback from the customer and
incorporating that feedback into new designexperiments.
3. A team structure that will allow the rightdecisions to be made on the fly.
4. Choosing a product architecture that allows forchange rather than attempting to get optimalperformance.
MacCormack, A. D., Product-Development Practices That Work: How Internet Companies Build Software,
Sloan Management Review 42, no. 2 (winter 2001): 75-84. 3
-
8/10/2019 Agile Principles.pptx
4/22
Manifesto for Agile Software
DevelopmentWe are uncovering better ways of developing software bydoing it and helping others do it. Through this work wehave come to value:
Individuals and interactions overprocesses and tools
Working software over comprehensive documentationCustomer collaboration over contract negotiation
Responding to change overfollowing a plan
That is, while there is value in the items on the right, wevalue the items on the left more.
.
4source: http://www.agilemanifesto.org
-
8/10/2019 Agile Principles.pptx
5/22
The Proposed 5thManifesto
Craftsmanship over Execution
5
-
8/10/2019 Agile Principles.pptx
6/22
12 Principles of Agile Software
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.
6source: http://www.agilemanifesto.org
-
8/10/2019 Agile Principles.pptx
7/22
12 Principles of Agile Software
3. Deliver working software frequently, from a
couple of weeks to a couple of months, with
a 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.
7source: http://www.agilemanifesto.org
-
8/10/2019 Agile Principles.pptx
8/22
12 Principles of Agile Software
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.
8source: http://www.agilemanifesto.org
-
8/10/2019 Agile Principles.pptx
9/22
12 Principles of Agile Software
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.
9source: http://www.agilemanifesto.org
-
8/10/2019 Agile Principles.pptx
10/22
12 Principles of Agile Software
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.
10source: http://www.agilemanifesto.org
-
8/10/2019 Agile Principles.pptx
11/22
Agile Appraoches
eXtreme programming XP (Beck, 1999;Beck,2000)
Scrum (Cohn, 2009; Schwaber, 2004; Schwaberand Beedle, 2001)
Crystal (Cockburn, 2001; Cockburn, 2004)
Adaptive Software Development (Highsmith,2000)
DSDM (Stapleton, 1997; Stapleton, 2003), and Feature Driven Development (Palmer and Felsing,
2002).
-
8/10/2019 Agile Principles.pptx
12/22
XP
-
8/10/2019 Agile Principles.pptx
13/22
XP
Incremental development supported through small, frequent releases of the system
Requirements are based on simple customer stories or scenarios
Customer involvement is supported through the continuous engagement in the development team
Customer representative takes part in the development and responsible fordefining acceptance tests for the system.
People, not process, are supported through pair programming
Change is embraced through regular system releases to customers test-first development
refactoring to avoid code degeneration, and continuous integration of newfunctionality.
Maintaining simplicity is supported by constant refactoring that improves code quality and by using simple designs
that do not unnecessarily anticipate future changes to the system.
-
8/10/2019 Agile Principles.pptx
14/22
-
8/10/2019 Agile Principles.pptx
15/22
Testing in XP
Test-first development
Incremental test development from scenarios
User involvement in the test development andvalidation, and
The use of automated testing frameworks.
-
8/10/2019 Agile Principles.pptx
16/22
SCRUM
-
8/10/2019 Agile Principles.pptx
17/22
SCRUM
There are three phases in Scrum.
The first is an outline planning phase where youestablish the general objectives for the projectand design the software architecture.
This is followed by a series of sprint cycles, whereeach cycle develops an increment of the system.
Finally,
the project closure phase wraps up the project,completes required documentation such as systemhelp frames and user manuals, and assesses thelessons learned from the project.
-
8/10/2019 Agile Principles.pptx
18/22
PROCESS COMPARISON
-
8/10/2019 Agile Principles.pptx
19/22
Defining Characteristics of SCRUM
Three Roles Team
ScrumMaster (Project Manager)
Product Owner (Product Manager)
Five Time Boxes Sprint
Sprint Planning
Daily SCRUM Meeting
Sprint Review Meeting (Demo)
Retrospective Meeting (AAR)
Three Artifacts Product Backlog
Sprint Backlog
Burndown Chart
-
8/10/2019 Agile Principles.pptx
20/22
SCRUM
Sprints are fixed length, normally 24 weeks.
The starting point for planning is the product backlog.
The selection phase involves all of the project team who work withthe customer to select the features and functionality to bedeveloped during the sprint.
Once these are agreed, the team organizes themselves to developthe software.
Short daily meetings
Scrum master
Unlike XP, Scrum does not make specific suggestions, however, these
XP practices can be used if the team thinks they are appropriate. At the end of the sprint, the work done is reviewed and presented
to stakeholders.
The next sprint cycle then begins.
-
8/10/2019 Agile Principles.pptx
21/22
Attributes of Sprint
Team Does development and testing
Product Owner Owns requirements, clarifies as needed
ScrumMaster Keeper of process, facilitator, problem solver
Start Date, Duration, End Dates Multi-team projects have all Sprints synchronized to the
same schedule Capacity for work (Velocity)
Depends on team composition and Sprint Duration
-
8/10/2019 Agile Principles.pptx
22/22
Questions