Sprint retrospective - Support worker re-registration, May 26 - June 12, 2020
What worked
- Having a dedicated product owner
- @imbstack provided extra guidance on scope and helped us narrow the critical path when that became necessary.
- Encrypted column support
- This would have been a blocker for a future postgres phase 2 sprint, but we got it done in the context of this sprint.
- Issues
- Aligning on issues in github as the sole source of truth made it easier to track progress and find the next thing to work on.
- Kudos to @imbstack for putting in the effort to flesh out all the issues as much as he did and highlighting the dependencies as best he could in github.
- Estimate tracking
- Our label-based method was a good start.
What didn’t
- Stories vs Epics vs Issues
- Lack of clarity around terminology and how things break down from one level to the next
- Very clear technical tasks are the basis for good estimates == Issues
- User stories should be the basis for “did we finish the thing?” or not
- Unsure yet how to indicate this effectively in current tooling
- Delivering what we promise
- aka Following through on what we decide goes into each sprint
- We are starving requests from other teams while in a particular sprint, so we’d better deliver what we intend.
- Do we need recurring or interstitial sprints to deal with requests and backlog?
- Bustage/requests need to be factored into every sprint.
- We should plan on scheduling a sprint every 4 cycles or so (i.e once a quarter) to address backlogged requests if not covered by other sprints.
- Scope and the critical path
- Our initial sprint goals were too broad and lacked a well-defined user story that we could use to measure delivery.
- In fact, it would have been impossible to determine the critical path with the initial goals.
- By not determining the real sprint goal until halfway through the sprint, we performed more work that wasn’t on the critical path or didn’t fit in this particular sprint at all.
- Dependency tracking
- Github doesn’t do dependency tracking, but we hacked around it as best we could using labels and comments.
Other notes/Unresolved issues
- Can we run multiple sprints simultaneously?
- e.g. 2 people on one sprint, 3 people on another
- Serial vs parallel
- Should we have themes for future sprints?
- Papercuts, possibly linked by theme
- One big epic, plus some other fixes in same area
- We should document current best practices in the scrum repo
- terminology
- How to minimize conflicts as we all work in the same areas
- Rebasing
- Testing is particularly prone to collisions
Process changes for next sprint
- Zenhub as sprint tracking tool
- layers many of the features we’re missing on top of github, chief among them:
- dependency tracking
- estimate tracking with burndown charts
- milestones that can be scheduled to assist with planning future sprints
- We will adopt the terminology of Zenhub re: milestones and epics to minimize confusion.
- We will document this and other process decisions in the scrum repo.
- Critical path analysis
- Prior to the kickoff of the next sprint, the product owner and the scrum master will meet to determine what must get done.
- Dependency tracking in Zenhub will also help with this.
- We will reconvene every week to assess the remaining work and prioritize appropriately.
- More upfront planning will save us some pain later.