Make problems visible
Driven by value, not by the technology
Work in Agile projects is organized by Units of Value, rather than by Architectural Layer.
Monolithic development (Tests) GUI > Client > Server > DB schema
Incremental development (Tests) GUI > Client > Server > DB schema, feedback and repeat
Ranges
- Notice in both cases we had a range
- Either a scope range for a fixed date project:
- "By that date you'll have all of these features and some of these."
- Or a date range for a fixed-scope project:
- "It will take us between 6 and 8 iterations to deliver all of those features."
- Always say: "... based on what we know today"!
Sprint Planning
- 1 Day
- A little time to break down the Product Backlog
- 1-4 hours for team to define Sprint Backlog
- Anyone can attend, but primary conversation and work is between the Development Team and the Product Owner
Sprint Planning
- Ideally, Topic 1
- ...
Sprint Planning - Topic 1 (Product backlog)
Sprint Planning - Topic 2 (Spring backlog)
4. Production and Sprints ...
The ScrumMaster Role
- Servant Leader and Facilitator
- ...
Dan's List
- Manage the relationship between the Product Owner and the Development Team
- Manage the definition of Done
- Keep the team focused
- Challenge the team
Why the ScrumMaster?
- Scrum makes the problems visible
- Project managers too often help hide problems
- ScrumMasters help keep problems visible
- Resolving problems relieves stress on the team
- The team gets better and better
ScrumMaster Etiquette
- Do what it takes, but...
- A dead ScrumMaster is a useless ScrumMaster
- The team hires and fires the ScrumMaster
- Powerless, except:
- May remove a disruptive person from the team
Single Wrenchable Neck
- The ScrumMaster is the single point of accountability for the Development Team's Sprint delivery
- The Product Owner is the single point of accountability ... ROI
Three Answers
- What did I do yesterday that helped the Development Team meet the Sprint Goal?
- ...
- ...
Rules of the Game
- Same Place and Time Every Day
- One minute at most per Developer
- Stand up!
- Focus is on visibility - not problem solving
- Solve problems off-line
- Complete honesty, openness, and visibility
- Personal impediments...
- ...
Scrum Meeting Exercise
- ... for the aspiring ScrumMaster in the class
There are no projects in Scrum Multi-site development is institutionalized slavery
Release Burndown - a bad idea!
- Separates the concepts of Sprint and Release
- Can defer end-user feedback on a product increment
- ...
WaterScrum
Calculating Drag
- Let's say you have 5 Developers doing 2-week sprints
- ...
- Drag
More reductions on velocity
- What do you do with:
- vacation?
- pregnancy leave?
- team-building activities?
- Scrum certification courses?
- These items go on the product backlog!
- Don't count them as part of Drag
An advanced case: Kaizen
- Let's say that you feel your bug rate is too high
- You implement code inspections...
- ...
Remember to swarm
...
Done
Extending the Scope of Done
Planning, Analysis, Design, Coding, Testing, Performance, User Acceptance, Pilot, Live
Tools to support Done
- Version Management
- Automated build
- Automated testing
- QA Environments
- You cannot reasonably do this manually!
- ... but remember that there are no silver bullets
Technical Debt
- Done means "no remaining work"
- What if a project manager forces the project to completion, telling the Development Team to defer tasks such as:
- refactoring
- documentation
- This work adds up over time
- It is often invisible!
Suprises
- New product requirements happen
- Scrum says: Put them on the product backlog for consideration in the next Sprint Planning
- Sometimes, they can't wait even for the meeting
- Scrum says: Never extend the Sprint or change priorities
- So: can the team do a new work item?
- The team gets to decide!
- The team may choose to do the feature while still staying within its forecast
- If it cannot keep its forecast, it should not choose the feature
Emergency Procedure
- Do something different
- Get help from outside the team
- Decrease Scope
- Abort the sprint
Aborting the Sprint
- What happens when you foresee a disastrous schedule slip?
- ...
Sprint Review and Retrospectives
- Why?
- Show that the basic architecture and infrastructure work
- Get feedback on results
- Easier...
- ...
- 2-3 Hours
- Maximum 1 hour presentation
- No PowerPoint
- Done on equipment where product was developed and tested
- Presented by Development Team to Product Owner and other stakeholders, including end users
- Basis for planning next sprint
- ....
- Check Sprint Goal and SBI completion
- "are we happy with the overall result so far?"
- the PBIs not completed (if any)
- ...
Process Improvement
- A brainstorming session
- What are your impediments?
- Make an impediment list
- Priority-order it
- Time-boxed to 30 minutes
???
Organizational Learning Models
- Single-loop learning
- The rules change
- Strategy, structure, culture untouched
- Change the process
- Double-loop learning
- Knowledge and Understanding
- Change the structure
- Triple-loop learning
- Values and Principles
- Raison-d'etre of an...
- ....
Summary on Process Improvement
- Inspect and adapt
- Leverage self-organization
- Don't get religion: give and receive trust
- Do what it takes
- Take it seriously, but don't be serious
@jcoplien Comments
Java is a class-oriented language Architect is not a verb, design is Architecture is not structure, it's form. Form is the essence of structure