Chapter 3 – Agile Software Development Chapter 3 Agile Software Development130/10/2014.
Agile Software Development - proceedings.esri.com · for agile software development • Key...
Transcript of Agile Software Development - proceedings.esri.com · for agile software development • Key...
![Page 1: Agile Software Development - proceedings.esri.com · for agile software development • Key concepts: - Iterative and incremental - Small self-organizing teams - Short feedback loops](https://reader034.fdocuments.in/reader034/viewer/2022050418/5f8e4cff804463549e24dddb/html5/thumbnails/1.jpg)
Agile Software Development
Stefan Balbo
![Page 2: Agile Software Development - proceedings.esri.com · for agile software development • Key concepts: - Iterative and incremental - Small self-organizing teams - Short feedback loops](https://reader034.fdocuments.in/reader034/viewer/2022050418/5f8e4cff804463549e24dddb/html5/thumbnails/2.jpg)
Content
• Why go Agile?• Introduction to Scrum
- Process- Roles
• Agile Estimating and Planning• Scaling Scrum• Benefits• Pitfalls• Resources
![Page 3: Agile Software Development - proceedings.esri.com · for agile software development • Key concepts: - Iterative and incremental - Small self-organizing teams - Short feedback loops](https://reader034.fdocuments.in/reader034/viewer/2022050418/5f8e4cff804463549e24dddb/html5/thumbnails/3.jpg)
Why go Agile?
Development projects have progressed over time •More complex
•More scope changes
![Page 4: Agile Software Development - proceedings.esri.com · for agile software development • Key concepts: - Iterative and incremental - Small self-organizing teams - Short feedback loops](https://reader034.fdocuments.in/reader034/viewer/2022050418/5f8e4cff804463549e24dddb/html5/thumbnails/4.jpg)
Why go Agile?
Development process has stayed the same•Inadequate process results in projects that
- Fail
- Have poor quality
- Are frustrating to work on
- Take longer than expected
![Page 5: Agile Software Development - proceedings.esri.com · for agile software development • Key concepts: - Iterative and incremental - Small self-organizing teams - Short feedback loops](https://reader034.fdocuments.in/reader034/viewer/2022050418/5f8e4cff804463549e24dddb/html5/thumbnails/5.jpg)
What is Scrum?
• Framework - for agile software
development
• Key concepts:- Iterative and incremental- Small self-organizing teams- Short feedback loops- Priority by business value
![Page 6: Agile Software Development - proceedings.esri.com · for agile software development • Key concepts: - Iterative and incremental - Small self-organizing teams - Short feedback loops](https://reader034.fdocuments.in/reader034/viewer/2022050418/5f8e4cff804463549e24dddb/html5/thumbnails/6.jpg)
• Articulate the project vision• Determine and prioritize goals and
objectives• Vision is accepted by all
stakeholders
Starting a Scrum Project - Envisioning
![Page 7: Agile Software Development - proceedings.esri.com · for agile software development • Key concepts: - Iterative and incremental - Small self-organizing teams - Short feedback loops](https://reader034.fdocuments.in/reader034/viewer/2022050418/5f8e4cff804463549e24dddb/html5/thumbnails/7.jpg)
• Create a prioritized backlog of items
• Estimate the items• Estimate velocity• Calculate preliminary date • Get Stakeholder consensus
and commitment to proceed
Starting a Scrum Project - Release Planning
renjith krishnan / FreeDigitalPhotos.net
Example User Story (PBI): Create Map PackageAs a Map Author I want to package my map and data, so I can easily share them with other desktop users.
![Page 8: Agile Software Development - proceedings.esri.com · for agile software development • Key concepts: - Iterative and incremental - Small self-organizing teams - Short feedback loops](https://reader034.fdocuments.in/reader034/viewer/2022050418/5f8e4cff804463549e24dddb/html5/thumbnails/8.jpg)
Scrum Framework
Iteration3 weeks
Product Backlog
Iteration Backlog
Scrum Questions: Done? Do? Impediments?
PotentiallyShippableProduct
“Done”
DailyScrum Scrum
IterationIterationReviewIterationIteration
RetrospectiveRetrospective
IterationPlanning
![Page 9: Agile Software Development - proceedings.esri.com · for agile software development • Key concepts: - Iterative and incremental - Small self-organizing teams - Short feedback loops](https://reader034.fdocuments.in/reader034/viewer/2022050418/5f8e4cff804463549e24dddb/html5/thumbnails/9.jpg)
Responsibilities of a Scrum Team
• Cross-Functional (5-9 members)• Agrees to iteration goal and
specifies work results• Empowered to do anything to
reach the iteration goals- within the project guideline
boundaries
• Organizes itself and its work• Demos work results to the
stakeholders
renjith krishnan / FreeDigitalPhotos.net
![Page 10: Agile Software Development - proceedings.esri.com · for agile software development • Key concepts: - Iterative and incremental - Small self-organizing teams - Short feedback loops](https://reader034.fdocuments.in/reader034/viewer/2022050418/5f8e4cff804463549e24dddb/html5/thumbnails/10.jpg)
• Defines product features• Prioritizes product backlog• Establishes, communicates and
nurtures the vision• Accepts or rejects work results• Grooms the product backlog• Product Owner is the
- vision keeper- daily decision maker- single wringable neck
Product Owner Responsibilities
![Page 11: Agile Software Development - proceedings.esri.com · for agile software development • Key concepts: - Iterative and incremental - Small self-organizing teams - Short feedback loops](https://reader034.fdocuments.in/reader034/viewer/2022050418/5f8e4cff804463549e24dddb/html5/thumbnails/11.jpg)
• Ensures team is productive • Enables close cooperation• Removes barriers• Shields team from interferences• Ensures the process is followed• Invites to Scrum meetings• The Scrum Master is the
- Shepherd- Bulldozer- servant leader
Scrum Master (Agile Coach) Responsibilities
![Page 12: Agile Software Development - proceedings.esri.com · for agile software development • Key concepts: - Iterative and incremental - Small self-organizing teams - Short feedback loops](https://reader034.fdocuments.in/reader034/viewer/2022050418/5f8e4cff804463549e24dddb/html5/thumbnails/12.jpg)
• How long will it take?- Is a legitimate question- Based on past performance
rather than guessing- Agile estimating works
Agile estimating and planning
![Page 13: Agile Software Development - proceedings.esri.com · for agile software development • Key concepts: - Iterative and incremental - Small self-organizing teams - Short feedback loops](https://reader034.fdocuments.in/reader034/viewer/2022050418/5f8e4cff804463549e24dddb/html5/thumbnails/13.jpg)
• Relative estimating • Backlog Items in story points• During a Planning Poker game
- Fun- Great results- There is an App for that…
• Measure velocity each iteration
Agile estimating and planning
http://www.agile42.com/cms/pages/poker/
![Page 14: Agile Software Development - proceedings.esri.com · for agile software development • Key concepts: - Iterative and incremental - Small self-organizing teams - Short feedback loops](https://reader034.fdocuments.in/reader034/viewer/2022050418/5f8e4cff804463549e24dddb/html5/thumbnails/14.jpg)
Agile estimating and planning
![Page 15: Agile Software Development - proceedings.esri.com · for agile software development • Key concepts: - Iterative and incremental - Small self-organizing teams - Short feedback loops](https://reader034.fdocuments.in/reader034/viewer/2022050418/5f8e4cff804463549e24dddb/html5/thumbnails/15.jpg)
• Define Team Structure- Feature vs. Component Teams
- Lean towards Feature Teams
• Establish Communities of Practice- Topics affecting many teams
• Hold Scrum of Scrums meetings- Share information between teams
• Look two to three iterations ahead- Coordinate between teams each iteration
• Use Epics to track and communicate- High level Stories
Scaling Scrum
Filomena Scalice / FreeDigitalPhotos.net
![Page 16: Agile Software Development - proceedings.esri.com · for agile software development • Key concepts: - Iterative and incremental - Small self-organizing teams - Short feedback loops](https://reader034.fdocuments.in/reader034/viewer/2022050418/5f8e4cff804463549e24dddb/html5/thumbnails/16.jpg)
Benefits
• Bring the maximum value to our users
• More productive• Successful Projects• Accurate Estimates• Transparency to Stakeholders• All team members participate• Continuous process improvement
![Page 17: Agile Software Development - proceedings.esri.com · for agile software development • Key concepts: - Iterative and incremental - Small self-organizing teams - Short feedback loops](https://reader034.fdocuments.in/reader034/viewer/2022050418/5f8e4cff804463549e24dddb/html5/thumbnails/17.jpg)
Pitfalls when using Scrum
• Backlog Items are too big • Backlog Items not fully defined• Team over-commits• Unclear definition of “Done”• Team is too large• Distributed Teams• Product owner proxies• Team members assigned to
multiple Scrum teams• Too many hats • Little or no Release Planning
![Page 18: Agile Software Development - proceedings.esri.com · for agile software development • Key concepts: - Iterative and incremental - Small self-organizing teams - Short feedback loops](https://reader034.fdocuments.in/reader034/viewer/2022050418/5f8e4cff804463549e24dddb/html5/thumbnails/18.jpg)
Links, Tools and Literature
• www.scrumalliance.org
• Scrumworks by CollabNet [easy to use, focused Scrum Tool]
• Agile Software Development with Scrum- by Ken Schwaber and Mike Beedle [The first Scrum book]
• Scrum and XP from the Trenches - by Henrik Kniberg [very practical how-to-guide]
• Succeeding with Agile | Software Development Using Scrum- by Mike Cohn (2010) [Helpful for larger scrum implementations]
• Lean Software Development- by Mary Poppendieck and Tom Poppendieck [A good intro to Lean]
![Page 19: Agile Software Development - proceedings.esri.com · for agile software development • Key concepts: - Iterative and incremental - Small self-organizing teams - Short feedback loops](https://reader034.fdocuments.in/reader034/viewer/2022050418/5f8e4cff804463549e24dddb/html5/thumbnails/19.jpg)
Summary
• Why go Agile?• Introduction to Scrum
- Process- Roles
• Agile Estimating and Planning• Scaling Scrum• Benefits• Pitfalls• Resources