A down and dirty outline of what's important in the world of scrum. Whereas AGILE is a project management that focuses on 'doing the right things right - and fast', SCRUM is a framework - or process - one can employ to drive results in an AGILE direction. Let's say principle(AGILE) vs process(SCRUM)
- Transparency: Common Language/Definition of Done
- Inspection: Frequent analysis of progress
- Adapation: Constant adjustment to reality
- Sprint Planning Meeting
- Daily Scrum
- Sprint Review Meeting
- Sprint Retrospective (Post Mortem)
Structured framework to bind together events, roles, and artifacts
Governs relationships and interactions between them
- Product Owner
- Development Team
- Scrum Master
Maximize value of the product and work of Dev Team
Manages Product Backlog:
- Clearly expressing Product Backlog items;
- Ordering the items in the Product Backlog to best achieve goals and missions;
- Ensuring the value of the work the Development Team performs;
- Ensuring that the Product Backlog is visible, transparent, and clear to all, and shows what
- the Scrum Team will work on next; and,
- Ensuring the Development Team understands items in the Product Backlog to the level
The Development Team
Do the work of each Sprint & Create the increment
- They are self-organizing. No one (not even the Scrum Master) tells the Development Team
- how to turn Product Backlog into Increments of potentially releasable functionality;
- Development Teams are cross-functional, with all of the skills as a team necessary to create
- a product Increment;
- Scrum recognizes no titles for Development Team members other than Developer,
- regardless of the work being performed by the person; there are no exceptions to this rule;
- Individual Development Team members may have specialized skills and areas of focus, but
- accountability belongs to the Development Team as a whole; and,
- Development Teams do not contain sub-teams dedicated to particular domains like testing
- or business analysis.
Mentors Scrum process (Servant/Leader/Referee)
Scrum Master Service to the Product Owner
Scrum Master serves the Product Owner in several ways, including:
- Finding techniques for effective Product Backlog management;
- Clearly communicating vision, goals, and Product Backlog items to the Development Team;
- Teaching the Development Team to create clear and concise Product Backlog items;
- Understanding long-term product planning in an empirical environment;
- Understanding and practicing agility; and,
- Facilitating Scrum events as requested or needed.
Scrum Master Service to the Development Team
The Scrum Master serves the Development Team in several ways, including:
- Coaching the Development Team in self-organization and cross-functionality;
- Teaching and leading the Development Team to create high-value products;
- Removing impediments to the Development Team’s progress;
- Facilitating Scrum events as requested or needed; and,
- Coaching the Development Team in organizational environments in which Scrum is not yet
- fully adopted and understood.
Scrum Master Service to the Organization
The Scrum Master serves the organization in several ways, including:
- Leading and coaching the organization in its Scrum adoption;
- Planning Scrum implementations within the organization;
- Helping employees and stakeholders understand and enact Scrum and empirical product
- Causing change that increases the productivity of the Scrum Team; and,
- Working with other Scrum Masters to increase the effectiveness of the application of Scrum
- in the organization.
- Time-Boxed Events: Inspect and Add something
- The Sprint
- One month or less to reach “Done”
Back to back sprints
- Planning Meeting
- Daily Scrums
- Dev Work
- Review Meeting
- Sprint Retrospective
During the Sprint:
- No changes are made that would affect the Sprint Goal;
- Development Team composition and quality goals remain constant; and,
- Scope may be clarified and re-negotiated between the Product Owner and Development
- Team as more is learned.
Sprint Planning Meeting
- The work to be performed in the Sprint is planned at the Sprint Planning Meeting. This plan is created by the collaborative work of the entire Scrum Team.
- The Sprint Planning Meeting is time-boxed to eight hours for a one-month Sprint. For shorter Sprints, the event is proportionately shorter. For example, two-week Sprints have four-hour Sprint Planning Meetings.
- The Sprint Planning Meeting consists of two parts, each one being a time-box of one half of the Sprint Planning Meeting duration. The two parts of the Sprint Planning Meeting answer the following questions, respectively:
- What will be delivered in the Increment resulting from the upcoming Sprint?
- How will the work needed to deliver the Increment be achieved?
- Part One: What will be done this Sprint?
- Part Two: How will the chosen work get done?
- Sprint Goal: Milestone
- 15min Meeting
- What has been accomplished since the last meeting?
- What will be done before the next meeting?
- What obstacles are in the way?
The Sprint Review includes the following elements:
- The Product Owner identifies what has been “Done” and what has not been “Done”;
- The Development Team discusses what went well during the Sprint, what problems it ran
- into, and how those problems were solved;
- The Development Team demonstrates the work that it has “Done” and answers questions
- about the Increment;
- The Product Owner discusses the Product Backlog as it stands. He or she projects likely
- completion dates based on progress to date; and,
- The entire group collaborates on what to do next, so that the Sprint Review provides
- valuable input to subsequent Sprint Planning Meetings.
- Inspect how the last Sprint went with regards to people, relationships, process, and tools;
- Identify and order the major items that went well and potential improvements; and,
- Create a plan for implementing improvements to the way the Scrum Team
The Product Backlog lists all changes to be made to the product in future releases:
Product Backlog items have
- attributes of a description
Monitoring Progress Toward a Goal
- Product Backlog
- Plan for accomplishing it
- Getting to goal
- Accumulates as features/bugs identified
Monitoring Sprint Progress
Should be able to estimate total work remaining
The Increment is the sum of all the Product Backlog items completed during a Sprint and all
previous Sprints. At the end of a Sprint, the new Increment must be “Done,” which means it
must be in useable condition and meet the Scrum Team’s Definition of “Done.” It must be in
useable condition regardless of whether the Product Owner decides to actually release it.
Definition of “Done”
This should be decided ahead of time, particularly for the QA team's sake as a company would drown in testing costs if there are realistic limitations placed on product quality, feature set, and time to market. The QA team should live every day trying to find the best value and efficiency in the testing effort. The 80%/20% rule - are a derivative thereof - applies and there's nothing wrong with creating a 'QA Backlog' so ideas that can't be accomplished immediately won't be lost when there's time to address. Traditionally, there is some 'woodshop' time between major relases or projects where one can - AND SHOULD - clean house, regroup and evaluate how things went, where they should go, and what's needed to get there. I call it a post-mortem and I find that groups should do this internally to maintain a high level of honesty, then push to the PM who in turn seeks cross-functional input. Calling a large meeting for a post-mortem usually does more harm than done as great ideas can be received as personal attacks and others never surface due to 'stage fright'. Be honest and its best to state ideas using positive language;
Development Team always ends up moving slowly at the start of sprint, and then a crunch occurs.
There should be meetings midday Tuesday to ensure problems that arise on Monday can be addressed and helped assigned before they impact project velocity.