SlideShare a Scribd company logo
PART I

SCRUM
AN AGILE SOFTWARE
DEVELOPMENT
METHODOLOGY




Bahaa Farouk
PREVIOUS ISSUES

     LATE 
REAL PRACTICE 
     TDD 
AGENDA
What’s Agile?
Introduction to SCRUM
SCRUM History & Background
Overview
Methodology
Components
Process Comparison
Advantages vs. Disadvantages
Usage Guidelines
Conclusion
Recommendation
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.”
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
INTRODUCTION TO SCRUM (CONT.)
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”
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
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
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.
OVERVIEW (CONT.)
–Scrum principles:
 • Quality
        work: empowers everyone involved to be feel
 good about their job.
 • AssumeSimplicity: 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.
AGENDA
What’s Agile?
Introduction to SCRUM
SCRUM History & Background
Overview
Methodology
Components
Process Comparison
Advantages vs. Disadvantages
Usage Guidelines
Conclusion
Recommendation
SCRUM METHODOLOGY
–
COMPONENTS
– Roles:
 •   Product Owner
 •   Scrum Master
 •   Developer
 •   QA
 •   Documentation member
COMPONENTS (CONT.)
– Pregame


 •   Planning and Architecture:
 •   Identify project
 •   Prioritizing functional requirements
 •   Identify resources available
 •   Establishing the target environment
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.
COMPONENTS (CONT.)
– Values:
 •   Flexible deliverable
 •   Flexible schedule
 •   Small teams
 •   Frequent reviews
 •   Collaboration
 •   Team Empowerment
 •   Adaptability
SCRUM PROCESS FLOW
COMPONENTS (CONT.)
COMPONENTS (CONT.)
            Product Backlog
COMPONENTS (CONT.)
            Sprint Backlog
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
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:
      i.     What have you completed (relative to the Backlog) since the
             last Scrum meeting?
      ii.    What got in your way of completing this work?
      iii.   What will you do between now and the next Scrum meeting?
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.
PROCESS COMPARISON
AGENDA
What’s Agile?
Introduction to SCRUM
SCRUM History & Background
Overview
Methodology
Components
Process Comparison
Advantages vs. Disadvantages
Usage Guidelines
Conclusion
Recommendation
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
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
DISADVANTAGES
– Scrum is not effective for small projects
– Expensive to implement
– Training is required
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.
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
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
RECOMMENDATIONS
– We recommend Scrum as an adaptive and flexible development
  methodology that creates a culture of communication, knowledge
  sharing and teamwork within an organization.
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/
PART II

REFERENCES &
AMAZING VIDEO




Bahaa Farouk
SCRUM (ECLIPSE PUBLIC LICENSE)
AMAZING VIDEO
– http://www.youtube.com/watch?feature=player_embedded&v=Q5k7a9
  YEoUI
THANKS

More Related Content

Scrum Agile Methodlogy

  • 1. PART I SCRUM AN AGILE SOFTWARE DEVELOPMENT METHODOLOGY Bahaa Farouk
  • 2. PREVIOUS ISSUES LATE  REAL PRACTICE  TDD 
  • 3. AGENDA What’s Agile? Introduction to SCRUM SCRUM History & Background Overview Methodology Components Process Comparison Advantages vs. Disadvantages Usage Guidelines Conclusion Recommendation
  • 4. 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.”
  • 5. 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
  • 7. 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”
  • 8. 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
  • 9. 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
  • 10. 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.
  • 11. OVERVIEW (CONT.) –Scrum principles: • Quality work: empowers everyone involved to be feel good about their job. • AssumeSimplicity: 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.
  • 12. AGENDA What’s Agile? Introduction to SCRUM SCRUM History & Background Overview Methodology Components Process Comparison Advantages vs. Disadvantages Usage Guidelines Conclusion Recommendation
  • 14. COMPONENTS – Roles: • Product Owner • Scrum Master • Developer • QA • Documentation member
  • 15. COMPONENTS (CONT.) – Pregame • Planning and Architecture: • Identify project • Prioritizing functional requirements • Identify resources available • Establishing the target environment
  • 16. 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.
  • 17. COMPONENTS (CONT.) – Values: • Flexible deliverable • Flexible schedule • Small teams • Frequent reviews • Collaboration • Team Empowerment • Adaptability
  • 20. COMPONENTS (CONT.) Product Backlog
  • 21. COMPONENTS (CONT.) Sprint Backlog
  • 22. 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
  • 23. 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: i. What have you completed (relative to the Backlog) since the last Scrum meeting? ii. What got in your way of completing this work? iii. What will you do between now and the next Scrum meeting?
  • 24. 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.
  • 26. AGENDA What’s Agile? Introduction to SCRUM SCRUM History & Background Overview Methodology Components Process Comparison Advantages vs. Disadvantages Usage Guidelines Conclusion Recommendation
  • 27. 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
  • 28. 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
  • 29. DISADVANTAGES – Scrum is not effective for small projects – Expensive to implement – Training is required
  • 30. 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.
  • 31. 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
  • 32. 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
  • 33. RECOMMENDATIONS – We recommend Scrum as an adaptive and flexible development methodology that creates a culture of communication, knowledge sharing and teamwork within an organization.
  • 34. 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/
  • 35. PART II REFERENCES & AMAZING VIDEO Bahaa Farouk