Effective software delivery teams. Everyone on the team understands (and can question) what work the customer/PO expects and why.
Software delivery team.
- Discovering and eliciting customer needs through interaction with stakeholders.
- Creating clear, shared understanding of customer needs within the team.
- Fostering a two-way communication flow between team and customer.
- Breaking functionality down into stories that can be developed iteratively and incrementally (i.e. vertical slices).
- Writing user stories that are independent, negotiable, valuable, estimateable, small and testable (INVEST).
- Considering and integrating input from other functions (e.g. UX, QA, Eng, Ops) into stories before development.
- Capturing acceptance criteria in a clear, structured way - preferably using BDD/Gherkin.
- Being available to answer questions without delay during story development.
- Using appropriate and effective means of communication (e.g. face-to-face, drawings, etc.)
- Participating in story kickoffs and story demos.
- Demoing stories to PO for sign off.
- Facilitating inceptions.
- Structuring the product backlog - using techniques like story mapping, impact mapping, systemico, etc.
- Identifying and managing dependencies in the product backlog.
- Helping PO to prioritise features by, for example, quantifying cost of delay.
- Using ubiquitous language that makes sense to PO, QA and engineers.