Agile
Agile
Agile
Presumptions
The audience is well aware of traditional software development methodologies like Waterfall Model, Iterative models, etc.
Agenda
Introduction What is Agile Methodology? What is Scrum? History of Scrum Functionality of Scrum Components of Scrum
Scaling Scrum
Q & A Session
Introduction
Classical methods of software development have many disadvantages:
huge effort during the planning phase poor requirements conversion in a rapid changing environment treatment of staff as a factor of production
New methods:
What is Agile ?
Too many things are done that are not directly related to software product being produced Difficulty with incomplete or changing requirements Short development cycles (Internet applications)
Contd
XP most popular
Agile Manifesto
A Statement of Values
Individuals and interactions over processes and tools Working software over comprehensive documentation
Agile Methods
Agile methods:
Scrum Extreme Programming Adaptive Software Development (ASD) Dynamic System Development Method (DSDM)
Scrum
History of Scrum
1995:
analysis of common software development processes not suitable for empirical, unpredictable and non-repeatable processes Design of a new method: Scrum by Jeff Sutherland & Ken Schwaber Enhancement of Scrum by Mike Beedle & combination of Scrum with Extreme Programming
1996:
introduction of Scrum at OOPSLA conference
2001:
publication Agile Software Development with Scrum by Ken Schwaber & Mike Beedle
Successful appliance of Scrum in over 50 companies Founders are members in the Agile Alliance
Characteristics
Self-organizing teams Product progresses in a series of month-long sprints Requirements are captured as items in a list of product backlog
Sprints
Requirements
Design
Code
Test
Change
Inputs
Sprint
Tested Code
Plan sprint durations around how long you can commit to keeping change out of the sprint
Scrum Framework
Ceremonies : Sprint Planning, Sprint Review, Sprint Retrospective, & Daily Scrum Meeting
Artifacts : Product Backlog, Sprint Backlog, and Burndown Chart
Product Owner
Represents management to the project Responsible for enacting Scrum values and practices Removes impediments Ensure that the team is fully functional and productive
Scrum Team
What to do if a team self-organizes someone off the team?? Ideally, no titles but rarely a possibility
Ceremonies
Sprint
Daily Scrum Sprint Review Meeting
Sprint Planning
Business Conditions Technology Current Product
Meeting
Sprint Backlog
1st Part:
2nd Part:
Pre-Project/Kickoff Meeting
Sprint
A month-long iteration, during which is incremented a product functionality NO outside influence can interfere with the Scrum team during the Sprint
Daily Scrum
Parameters
Three questions:
1. 2. 3.
What did you do yesterday What will you do today? What obstacles are in your way?
Daily Scrum
Scrum FAQs
Why daily?
No
Entire team sees the whole picture every day Create peer pressure to do what you say youll do
Participants
Feedback meeting
Three questions
Product Backlog
Usually a combination of
story-based work (let user search and replace) task-based work (improve exception handling)
Product Backlog
Requirements for a system, expressed as a prioritized list of Backlog Items Is managed and owned by a Product Owner Spreadsheet (typically)
Scrum team takes the Sprint Goal and decides what tasks are necessary Team self-organizes around how theyll meet the Sprint Goal
Managers dont make decisions for the team Sprint Backlog is created
Changes
Team adds new tasks whenever they need to in order to meet the Sprint Goal
Team can remove unnecessary tasks But: Sprint Backlog can only be updated by the team
Sprint Backlog
A subset of Product Backlog Items, which define the work for a Sprint Is created ONLY by Team members Each Item has its own status
Sprint Backlog
Depicts the total Sprint Backlog hours remaining per day Shows the estimated amount of time to release
Can bump UP
Information Radiator
"Two characteristics are key to a good information radiator. The first is that the information changes over time. This makes it worth a person's while to look at the display... The other characteristic is that it takes very little energy to view the display."
5/
900 800 700 752 762 664 619 600 500 400 300 200 100 0
Progress
Date
X-axis: sprints
Y-axis: amount of hours remaining The estimated work remaining can also burn up
Scalability of Scrum
Scalability of Scrum
Scalability of Scrum
Pros/Cons
Advantages
Drawbacks
Completely developed and tested features in short iterations Simplicity of the process Clearly defined rules
Undisciplined hacking (no written documentation) Violation of responsibility Current mainly carried by the inventors
Increasing productivity
Self-organizing each team member carries a lot of responsibility Improved communication Combination with Extreme Programming