SCRUM an  agile  software development  methodology Prepared by: Bahaa Farouk 06/20/11 Copyright @ QualiFied Technology - June 2011
Agenda What’s Agile? Introduction to SCRUM SCRUM History & Background Overview Methodology Components Process Comparison Advantages vs. Disadvantages  Usage Guidelines Conclusion Recommendation 06/20/11 Copyright @ QualiFied Technology - June 2011
What’s Agile? Agility The ability to both  create  and respond to  change  in order to profit in a turbulent business environment  Chaordic Exhibiting properties of both  chaos  and  order Things get done because people adapt, not because they forced follow processes Agile view is a chaordic view “ Balanced  between chaos and order, depends on the falling at the edge of chaos.” 06/20/11 Copyright @ QualiFied Technology - June 2011
Introduction to SCRUM Scrum is an  Agile  Software Development Process.  Scrum is not an acronym name taken from the sport of  Rugby ,  where everyone in the team pack acts together to move the ball down the field analogy to development is the team works together to successfully develop quality software  06/20/11 Copyright @ QualiFied Technology - June 2011
Introduction to SCRUM  (cont.) 06/20/11 Copyright @ QualiFied Technology - June 2011
Introduction to SCRUM  (cont.) Jeff Sutherland (a guru) states: “ Scrum assumes that the systems development process is an  unpredictable ,  complicated  process that can only be roughly described as  an overall progression .”   “ Scrum is an enhancement of the commonly used iterative/incremental object-oriented development cycle”   06/20/11 Copyright @ QualiFied Technology - June 2011
Historical Background Jeff Sutherland  first person to apply concepts of Scrum to software development in 1993 A variation of Sashimi  Japanese designed an all at once approach after their bad experiences with Waterfall The initial use of the word "Scrum" was used in 1987 to describe time-boxed, self-organizing, teams in product development   06/20/11 Copyright @ QualiFied Technology - June 2011
Historical Background  (cont.) Jeff Sutherland and Ken Schwaber collaborated to define the process through  1995 . In 1996 wrote the seminal article for Scrum Software Development process jointly used and improved Scrum at a variety of software development organizations from 1996 until now   now promoting the idea of certifying ScrumMasters 06/20/11 Copyright @ QualiFied Technology - June 2011
Overview Scrum is named after the game of Rugby in which a group is responsible for picking up the ball and moving it forward. It is an  iterative, incremental process  for developing any product or managing any work. Scrum focuses on the entire organization for its implementation to be a success. 06/20/11 Copyright @ QualiFied Technology - June 2011
Overview  (cont.) Scrum principles: Quality work: empowers everyone involved to be feel good about their job. Assume Simplicity: Scrum is a way to detect and cause removal of anything that gets in the way of development. Embracing Change: Team based approach to development where  requirements are rapidly changing . Incremental changes: Scrum makes this possible using sprints where a team is able to deliver a product (iteration) deliverable within 30 days. 06/20/11 Copyright @ QualiFied Technology - June 2011
Scrum Methodology 06/20/11 Copyright @ QualiFied Technology - June 2011
Components Roles: Scrum Master Developer QA Documentation member Project manager 06/20/11 Copyright @ QualiFied Technology - June 2011
Components  (cont.) Pregame Planning and Architecture: Identify project Prioritizing functional requirements Identify resources available Establishing the target environment  06/20/11 Copyright @ QualiFied Technology - June 2011
Components  (cont.) Game Sprints lasts for 30 days Analysis, Design, Develop Testing (this happens throughout sprint) Review Adjust  Postgame Closure (this includes delivering a functioning deliverable, sign-off, start next sprint. 06/20/11 Copyright @ QualiFied Technology - June 2011
Components  (cont.) Values: Flexible deliverable Flexible schedule Small teams Frequent reviews Collaboration Team Empowerment Adaptability 06/20/11 Copyright @ QualiFied Technology - June 2011
Scrum Process Flow 06/20/11 Copyright @ QualiFied Technology - June 2011
Components  (cont.) 06/20/11 Copyright @ QualiFied Technology - June 2011
Components  (cont.) Product Backlog 06/20/11 Copyright @ QualiFied Technology - June 2011
Components  (cont.) Sprint Backlog 06/20/11 Copyright @ QualiFied Technology - June 2011
Components  (cont.) What Happens During a Sprint? Frequent, short Scrum  Meetings Each team produces a visible, usable increment  Each increment builds on prior increments Clearly defined  deliverables  and responsibilities Each team member  buys into the assignment 06/20/11 Copyright @ QualiFied Technology - June 2011
Components  (cont.) What’s a Scrum Meeting? Short  (15 - 30 min) frequent meetings, facilitated by the  ScrumMaster All  team members attend One activity,  ScrumMaster  asks each attendee  3 questions: What have you completed (relative to the Backlog) since the last Scrum meeting? What got in your way of completing this work? What will you do between now and the next Scrum meeting? 06/20/11 Copyright @ QualiFied Technology - June 2011
Components  (cont.) At the End of a Sprint? Status  meeting with all stakeholders.  Increments are  delivered . Surprises  are reported. ANYTHING  can be changed, work can be added, eliminated, re-prioritized. New estimates  and team assignments are made for the next Sprint. 06/20/11 Copyright @ QualiFied Technology - June 2011
Process Comparison  06/20/11 Copyright @ QualiFied Technology - June 2011
Advantages Extreme value Supports business value driven S/W Dev. Control of very complex process of product development Allows Developers to focus on delivering a usable functionality to the client Generates productivity improvements 06/20/11 Copyright @ QualiFied Technology - June 2011
Advantages  (cont.) Insists that the Client prioritize required functionality. Ability to respond to the unpredictable in any project requirements. Flexibility Knowledge sharing between Developers Collective ownership 06/20/11 Copyright @ QualiFied Technology - June 2011
Disadvantages Scrum is not effective for small projects Expensive to implement Training is required 06/20/11 Copyright @ QualiFied Technology - June 2011
Usage Guidelines –  When to use requirements are  not clearly  defined.  work is delivered in  increments work is measured and controlled productivity is  maximized   by applying  known technologies organizations are willing to  do anything  and everything for a project to succeed  project is important and no one has  confidence  that any existing approach will work. 06/20/11 Copyright @ QualiFied Technology - June 2011
Usage Guidelines –  When to avoid there  isn’t a flexible  environment corporate culture  isn’t conducive to this of development environment teams of developers are  more than 10 . Six is ideal. Cost  is a major issue No management  support No formal training  available 06/20/11 Copyright @ QualiFied Technology - June 2011
Conclusion Scrum offers: a high degree of flexibility promises a high probability of success  Scrum benefits: an anticipating culture increases the sense of urgency promotes the sharing of knowledge encourages dense communications facilitates honesty among developers  06/20/11 Copyright @ QualiFied Technology - June 2011
Recommendations We recommend Scrum as an  adaptive  and  flexible  development methodology that creates a  culture of communication ,  knowledge sharing  and  teamwork  within an organization. 06/20/11 Copyright @ QualiFied Technology - June 2011
References Schwaber, Ken and Mike Beedle.  Agile software Development with Scrum.   Prentice Hall, 2002. Sutherland, Jeff.  “Inventing and Reinventing Scrum in five companies”, 21 September 2001 www.controlchaos.com/scrumwp.htm www.agilescrum.com/ www.mountaingoatsoftare.com/scrum/ www.objectmentor.com agilealliance.com/articles/articles/InventingScrum.pdf jeffsutherland.com/ 06/20/11 Copyright @ QualiFied Technology - June 2011
The End. Thank you Questions or comments 06/20/11 Copyright @ QualiFied Technology - June 2011

SCRUM Development Process

  • 1.
    SCRUM an agile software development methodology Prepared by: Bahaa Farouk 06/20/11 Copyright @ QualiFied Technology - June 2011
  • 2.
    Agenda What’s Agile?Introduction to SCRUM SCRUM History & Background Overview Methodology Components Process Comparison Advantages vs. Disadvantages Usage Guidelines Conclusion Recommendation 06/20/11 Copyright @ QualiFied Technology - June 2011
  • 3.
    What’s Agile? AgilityThe ability to both create and respond to change in order to profit in a turbulent business environment Chaordic Exhibiting properties of both chaos and order Things get done because people adapt, not because they forced follow processes Agile view is a chaordic view “ Balanced between chaos and order, depends on the falling at the edge of chaos.” 06/20/11 Copyright @ QualiFied Technology - June 2011
  • 4.
    Introduction to SCRUMScrum is an Agile Software Development Process. Scrum is not an acronym name taken from the sport of Rugby , where everyone in the team pack acts together to move the ball down the field analogy to development is the team works together to successfully develop quality software 06/20/11 Copyright @ QualiFied Technology - June 2011
  • 5.
    Introduction to SCRUM (cont.) 06/20/11 Copyright @ QualiFied Technology - June 2011
  • 6.
    Introduction to SCRUM (cont.) Jeff Sutherland (a guru) states: “ Scrum assumes that the systems development process is an unpredictable , complicated process that can only be roughly described as an overall progression .” “ Scrum is an enhancement of the commonly used iterative/incremental object-oriented development cycle” 06/20/11 Copyright @ QualiFied Technology - June 2011
  • 7.
    Historical Background JeffSutherland first person to apply concepts of Scrum to software development in 1993 A variation of Sashimi Japanese designed an all at once approach after their bad experiences with Waterfall The initial use of the word "Scrum" was used in 1987 to describe time-boxed, self-organizing, teams in product development 06/20/11 Copyright @ QualiFied Technology - June 2011
  • 8.
    Historical Background (cont.) Jeff Sutherland and Ken Schwaber collaborated to define the process through 1995 . In 1996 wrote the seminal article for Scrum Software Development process jointly used and improved Scrum at a variety of software development organizations from 1996 until now now promoting the idea of certifying ScrumMasters 06/20/11 Copyright @ QualiFied Technology - June 2011
  • 9.
    Overview Scrum isnamed after the game of Rugby in which a group is responsible for picking up the ball and moving it forward. It is an iterative, incremental process for developing any product or managing any work. Scrum focuses on the entire organization for its implementation to be a success. 06/20/11 Copyright @ QualiFied Technology - June 2011
  • 10.
    Overview (cont.)Scrum principles: Quality work: empowers everyone involved to be feel good about their job. Assume Simplicity: Scrum is a way to detect and cause removal of anything that gets in the way of development. Embracing Change: Team based approach to development where requirements are rapidly changing . Incremental changes: Scrum makes this possible using sprints where a team is able to deliver a product (iteration) deliverable within 30 days. 06/20/11 Copyright @ QualiFied Technology - June 2011
  • 11.
    Scrum Methodology 06/20/11Copyright @ QualiFied Technology - June 2011
  • 12.
    Components Roles: ScrumMaster Developer QA Documentation member Project manager 06/20/11 Copyright @ QualiFied Technology - June 2011
  • 13.
    Components (cont.)Pregame Planning and Architecture: Identify project Prioritizing functional requirements Identify resources available Establishing the target environment 06/20/11 Copyright @ QualiFied Technology - June 2011
  • 14.
    Components (cont.)Game Sprints lasts for 30 days Analysis, Design, Develop Testing (this happens throughout sprint) Review Adjust Postgame Closure (this includes delivering a functioning deliverable, sign-off, start next sprint. 06/20/11 Copyright @ QualiFied Technology - June 2011
  • 15.
    Components (cont.)Values: Flexible deliverable Flexible schedule Small teams Frequent reviews Collaboration Team Empowerment Adaptability 06/20/11 Copyright @ QualiFied Technology - June 2011
  • 16.
    Scrum Process Flow06/20/11 Copyright @ QualiFied Technology - June 2011
  • 17.
    Components (cont.)06/20/11 Copyright @ QualiFied Technology - June 2011
  • 18.
    Components (cont.)Product Backlog 06/20/11 Copyright @ QualiFied Technology - June 2011
  • 19.
    Components (cont.)Sprint Backlog 06/20/11 Copyright @ QualiFied Technology - June 2011
  • 20.
    Components (cont.)What Happens During a Sprint? Frequent, short Scrum Meetings Each team produces a visible, usable increment Each increment builds on prior increments Clearly defined deliverables and responsibilities Each team member buys into the assignment 06/20/11 Copyright @ QualiFied Technology - June 2011
  • 21.
    Components (cont.)What’s a Scrum Meeting? Short (15 - 30 min) frequent meetings, facilitated by the ScrumMaster All team members attend One activity, ScrumMaster asks each attendee 3 questions: What have you completed (relative to the Backlog) since the last Scrum meeting? What got in your way of completing this work? What will you do between now and the next Scrum meeting? 06/20/11 Copyright @ QualiFied Technology - June 2011
  • 22.
    Components (cont.)At the End of a Sprint? Status meeting with all stakeholders. Increments are delivered . Surprises are reported. ANYTHING can be changed, work can be added, eliminated, re-prioritized. New estimates and team assignments are made for the next Sprint. 06/20/11 Copyright @ QualiFied Technology - June 2011
  • 23.
    Process Comparison 06/20/11 Copyright @ QualiFied Technology - June 2011
  • 24.
    Advantages Extreme valueSupports business value driven S/W Dev. Control of very complex process of product development Allows Developers to focus on delivering a usable functionality to the client Generates productivity improvements 06/20/11 Copyright @ QualiFied Technology - June 2011
  • 25.
    Advantages (cont.)Insists that the Client prioritize required functionality. Ability to respond to the unpredictable in any project requirements. Flexibility Knowledge sharing between Developers Collective ownership 06/20/11 Copyright @ QualiFied Technology - June 2011
  • 26.
    Disadvantages Scrum isnot effective for small projects Expensive to implement Training is required 06/20/11 Copyright @ QualiFied Technology - June 2011
  • 27.
    Usage Guidelines – When to use requirements are not clearly defined. work is delivered in increments work is measured and controlled productivity is maximized by applying known technologies organizations are willing to do anything and everything for a project to succeed project is important and no one has confidence that any existing approach will work. 06/20/11 Copyright @ QualiFied Technology - June 2011
  • 28.
    Usage Guidelines – When to avoid there isn’t a flexible environment corporate culture isn’t conducive to this of development environment teams of developers are more than 10 . Six is ideal. Cost is a major issue No management support No formal training available 06/20/11 Copyright @ QualiFied Technology - June 2011
  • 29.
    Conclusion Scrum offers:a high degree of flexibility promises a high probability of success Scrum benefits: an anticipating culture increases the sense of urgency promotes the sharing of knowledge encourages dense communications facilitates honesty among developers 06/20/11 Copyright @ QualiFied Technology - June 2011
  • 30.
    Recommendations We recommendScrum as an adaptive and flexible development methodology that creates a culture of communication , knowledge sharing and teamwork within an organization. 06/20/11 Copyright @ QualiFied Technology - June 2011
  • 31.
    References Schwaber, Kenand Mike Beedle. Agile software Development with Scrum. Prentice Hall, 2002. Sutherland, Jeff. “Inventing and Reinventing Scrum in five companies”, 21 September 2001 www.controlchaos.com/scrumwp.htm www.agilescrum.com/ www.mountaingoatsoftare.com/scrum/ www.objectmentor.com agilealliance.com/articles/articles/InventingScrum.pdf jeffsutherland.com/ 06/20/11 Copyright @ QualiFied Technology - June 2011
  • 32.
    The End. Thankyou Questions or comments 06/20/11 Copyright @ QualiFied Technology - June 2011