Professional Documents
Culture Documents
Agile beginnings
1995 circa: Many new SW development methods piloted XP, Scrum, FDD, etc
We are uncovering better ways of developing software by doing it and helping others do Through this work we have come to value:
Individuals and interactions over processes and tools Working software over comprehensive documentation Customer collaboration over contract negotiation Responding to change over following a plan
That is, while there is value in the items on the right, we value the items on the left more
Kent Beck, Mike Beedle, Arie van Bennekum, Alistair Cockburn, Ward Cunningham, Martin Fowler, James Grenning, Jim Highsmith, Andrew Hunt, Ron Jeffries, Jon Kern, Brian Marick, Robert C. Martin, Steve Mellor, Ken Schwaber, Jeff Sutherland, Dave Thomas www.agileAlliance.org
Principles of Agile
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.
Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale. Business people and developers must work together daily throughout the project. Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done. The most efficient and effective method of conveying information to and within a development team is face-to-face conversation. http://agilemanifesto.org
3. 4. 5.
6.
Principles of Agile
7. 8.
Working software is the primary measure of progress. Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely. Continuous attention to technical excellence and good design enhances agility. essential.
9.
Scrum
Dynamic System Development Method (DSDM) Extreme Programming (XP)
etc
Source: Usage and Perceptions of Agile Software Development in an Industrial Context, Begel & Nagappan, Sept 2007,
Scrum Framework
Small cross-functional teams 7 people +/- 2 Series of Sprints (iterations), 2-4 weeks in duration Each Sprint produces a working increment of software To start a Sprint the team selects & commits to stories from the Product Backlog in priority order To close of a Sprint, we demo/evaluate progress Between Sprints, the Product Owner can modify & reprioritize the Product backlog
Product backlog
Prioritized list of features represented as stories Can adjust between iterations as needed
Priorit y 1
Sprint Backlog
A prioritized list of stories taken from the top of the Created at the start of an iteration/sprint A story can be de-scoped (move back to product
backlog) product backlog based on the teams estimate of what can be completed during the next iteration
Burndown chart
One of many information radiators, ie dashboard pieces
Scrum Meetings
Estimation Meeting
Team meets with product Owner to discuss Backlog Items and assign a
relative size value to each.
Planning Meeting
Occurs at the start of each sprint (iteration). Two parts. 1. Product manager and team meet and agree the next product
increment. 2. Team then determines the tasks for each backlog item.
Review
Team meet with Product Owner at the end of the sprint to demonstrate the
working software from the sprint.
Retrospective
Team meets with Scrum Master to inspect and adapt on their process.
Slide Credit: 2006, Tobias Mayer/Agile Thinking - http://agilethinking.net
Accept
Accept
Iteration N+1
Slide Credit:
http://danube.com/blog/dan_rawsthorne/done_done_done_done
Technical Debt
By not enforcing high quality standards in the
definition
impossible timelines leads to build up of low quality, unmaintainable code. Death spiral: As the maximum velocity of system
goes
until
Scrum Roles
Product Owner or PO team Responsible for managing and prioritizing the Product Backlog, and for accepting the software at the end of each iteration
Requirements process
Progressive elaboration
Themes Marketing/Customer Requirements
Headlines Epic User Stories
Headlines (Epic)
As a user, I want to schedule a service appointment.
Breakdown into user stories: