This article is based on a artcicle I found in Agile Journal, which I though was a good round up of Scrum key principles and best practices. The Knowledge Gene on this (bottom link) captures these key points in a quick to absorb model - for busy folk.
Scrum is a popular agile software development methodology. It's iterative, highly collaborative and an effective way of quickly delivering useful software while keeping true to quality. Unlike 'traditional' methods with their protracted processes and lengthy documentation, Scrum focuses on responding to emerging requirements.
The Key Principles are:
- Collaboration and communication - face to face meetings, co-located teams or for geographically dispersed teams, extensive utilization of communication tools
- Product backlog - smallest, workable pieces of functionality that translate into tangible business benefits. These items must be deliverable live in short iterations of 1-4 weeks. This backlog is then maintained to deliver against incremental iterations
- Get to market faster - in other words, working software that's delivered in weeks
- Stakeholder engagement - agile teams view stakeholders as important & visible members of the team and engage them right from the start and throughout the project
- Capacity management - every aspect of capacity is assessed and agreed before delivering any live software
- Release planning meetings - planning and scheduling of design iterations is done up-front. Designers pick user stories from design backlog and produce low level solution designs. Then, teams will pick up the designed user story
- Coordinated sign-offs - agile teams ensure sign-off at every stage of the software development lifecycle from relevant stakeholders
- Risk management - the product owner actively monitors the software delivered and ensures that stakeholders give early visibility to managing risks and issues
- Effective change management - agile teams are welcoming and responsive to changes that stakeholders require. Working with the stakeholders helps ensure that these changes are aligned to the business goals. Agreed changes should be planned and scheduled in retrospective Sprints
- Effective control of budget and resources
Best Practices Include:
- Optimize daily stand-up meetings (Scrums) - try to keep meetings to 15 minutes as a maximum and ensure that the whole team attends too. If a member is unable to attend, ensure that they update another attending team member. Start the meeting with the person that joined the meeting last and ensure that each individual clearly articulates answers to 3 key questions: What did I achieve yesterday? What will I achieve today? What impediments are blocking my progress?
- Effectively use collaboration tools - to create documentation, share user stories and so on
- Where practicable, co-locate teams (or for geographically dispersed teams, extensively use audio visual communication tools)
- Integrate feedback and decision making - be sure to actively involve the stakeholders through the lifecycle. This will dramatically improve decision accuracy
- Maximize article re-use - this will save you oodles of time
- Optimize review and sign off meetings - at the end of each iteration, as a minimum, have a quick meeting to discuss what worked and what didn't and sign off deliverables. You can then effectively incorporate lessons learn into future iterations - continuously improving the process as you go.
The Knowledge Gene (below link) captures the key points above in a quick to absorb model - for busy folk:
Effectively Managing Scrum Projects ~ Key Principles & Best Practices
Comments