Scrum is built on a few simple principles:
Communicate. Sharing information creates visibility, better decision making, and a common understanding of shared goals.
Empower the team. Nothing is more powerful than a team that is in control of its own destiny--a team that thinks the only thing limiting what they can accomplish is how creative they are and how hard they work.
Learn and improve. Learning is about trying something, looking at the results, and then improving.
Deliver value early. Build trust with people by prioritizing work, committing to deliverables, and delivering them reliably. This builds trust with coworkers, other teams, and customers.
Scrum turns these principles into practice using the following mechanics and roles:
- Communicate daily about your progress (daily meeting).
- Track your work as a team so you can make informed decisions about achieving your goals (sprint backlog).
- Work as a unit and don't let one functional area swamp another. (Stay in sync.)
Empower the team
- Give teams the power to control their own destiny and deliver on goals (sprint goals).
- Get impediments out of their way (Scrum Master).
Deliver value early
- A prioritized list of work, organized and prioritized from a customer perspective (product backlog, Product Owner).
- Plan your work as a group, work on it in priority order, and set goals for an iteration (sprint planning meeting).
- Commit to your team members about progress (sprint tasks).
- Work in sync with the group and maximize for the team's efficiency (get to done, work as a team, don't impact other teams).
- Don’t degrade the system, always be within days of shipping the product (not weeks or months). (Don't create debt.)
- Work on relatively equally-sized tasks that can move efficiently through the system (grooming the backlog).
Learn and improve
- Work in short sprints and measure progress (sprints).
- Demonstrate your work at the end of the iteration and collect feedback from a broad set of people (sprint review).
- Reflect after every iteration on how you can get better at meeting your commitments and produce more code (sprint retrospective).
Scrum works best when its mechanics (sprints, daily meetings, grooming the backlog, etc.) are clearly tied to their driving principles (communicate, empower the team, deliver value early, learn and improve).