190 likes | 224 Views
Scrum is an evolving project management discipline since the early 1990s, focusing on delivering valuable software within evolving requirements. It provides a flexible framework for managing changing project needs through iterative development with frequent feedback.
E N D
SCRUM John Drew
SCRUM - overview • Scrum is a project management discipline that has evolved since the early 1990s to deliver software that meets business needs within an environment of complex and evolving requirements, innovative technology and creative people. • Scrum provides a framework that can meet the needs of modern software development projects to manage changing and uncertain requirements. This is achieved through iterative and incremental development with frequent feedback.
SCRUM - overview • Unlike other iterative approaches such as the Unified Process, the Scrum methodology is light on prescribed ways of working, production of artifacts and use of tools and languages • Scrum encourages teams to be self-organizing and empowered to do what is necessary to deliver valuable business software
SCRUM - components • Product Backlog • The product backlog is an evolving, prioritized queue of business and technical functionality that needs to be developed into a system • It is a list of all features, functions, technologies, enhancements and bug fixes that constitute the changes that will be made to the product for future releases • Backlog originates from many sources. The most obvious source is customer-generated requirements. However, requirements can also come from marketing and sales, from engineers or from customer support, who track bugs reported from external users • The items in the product backlog are prioritized
SCRUM - components • Sprint • represents a development cycle in the Scrum world • A Sprint can be as short as a week or as long as 6 weeks. However, Sprints are usually constrained to be no longer than 30 days • The team has complete control over the Sprint and over how they will achieve the objectives of the Sprint • At the end of the Sprint, the team produces an increment that builds on previous increments • After each Sprint, the project team meets with all stakeholders, including high-level management, customers and customer representatives
SCRUM - components • Sprint Planning Meeting • Each Sprint begins with a Sprint Planning Meetingin whichthe development team meets with the Product Owner (typically someone from a Marketing role or a key user in internal development), management and the users to figure out what functionality to build during the next Sprint • Usually, the items in the product backlog with the highest priority are selected for the next sprint • The team then works by itself to figure out how it is going to build this functionality into a product increment during the Sprint
SCRUM - components • Scrum Master • a new management role introduced by Scrum • is responsible for ensuring that Scrum values, practices, and rules are enacted and enforced • represents management and the development team to each other • minimizes the amount of external interference that the team experiences • identifies and remove any obstacles that are keeping the development team from completing the Sprint
SCRUM - components • Daily Scrum • is the heart-and soul of Scrum • is a daily meeting of the Scrum team and Scrum Master • same time and place each day • meeting should only last 15 – 30 minutes • each team member explains what he has accomplished since the last meeting, what he is going to do before the next meeting and what obstacles are in his way
SCRUM - benefits • Scrum is flexible in that it does not work off the “old school” assumption that requirements should be frozen before development begins • mitigates risks by addressing them early in the development process • customer begins to see results very early in the project • development team is able to participate in all phases of the development process
SCRUM – usage guidelines • Scrum should be used when the development team is fairly small, no more than 8-10 team members • Scrum does not work well when the development team is large and/or when the development team is geographically distributed
SCRUM – implementation success factors • The key element in the Scrum process is communication • An open seating arrangement, preferably with workstations in the middle of the room, is preferable as it accommodates and encourages communication • The Scrum Master must be empowered to remove obstacles that stand in the way of the team making real progress
SCRUM - challenges • Getting the development team to take control over the process • Retraining senior management to stop thinking in a “waterfall” manner and start thinking in a Scrum manner
SCRUM – key players • Jeff Sutherland
SCRUM – key players • Ken Schwaber
SCRUM – key players • Mike Beedle
SCRUM – market forecasts • There are not many case studies on Scrum • Difficult to assess its success or to estimate just how many developers or firms are actually using Scrum • It is unlikely that Scrum will catch on in organizations with large (>10) development teams because the communication management becomes too difficult • It is likely that as the agile software development “movement” gains momentum, the use of Scrum and its principles will increase.
SCRUM - resources • Web sites • ControlChaos.com • Jeff Sutherland’s Scrum Log • Mountain Goat Software • Books • Agile Software Development with Scrum • Agile project Management with Scrum • Agile Modeling: Effective Practices for Extreme Programming and the Unified Process