Agile Method - Scrum Present by Gloria Law April 7, 2008
Agenda Introduction Waterfall Life Cycle Agile Method Scrum Sprints Potentially Shippable Product Increment Product Owner Product Backlog ScrumMaster Daily Scrum Meeting Scrum of Scrums Sprint Planning Release Planning Sprint Review Risk Management System Representation Advantage & Disadvantage
Introduction Need software management methods to decrease the cost 28% completed on time and budget 23% failed 49% challenged 72% not meeting original goals
Waterfall Life Cycle X
Agile Method Continuous attention to technical excellence and good design  Self-organizing teams  Customer satisfaction by rapid, continuous delivery of useful software  Working software is the principal measure of progress  Delivered frequently
Agile Method (cont) Late changes in requirements  Close, daily cooperation between business people and developers  Face-to-face conversation is the best form of communication  Time is a fixed variable
Agile Manifesto  “ We are uncovering better ways of developing software by doing it and helping others do it.  Through this work we have come to value: Individuals and interactions over processes and tools Working software over comprehensive documentation Customer collaboration over contract negotiation Responding to change over following a plan That is, while there is value in the items on the right, we value the items on the left more.”
Scrum Rugby Eight individual Move the ball down the field One Goal
Sprints Scrum project make progress in a series of Sprints Timeboxed Period (2 – 4 weeks) During Sprint, team does: Analysis Design Code Test Product is potentially releasable after every Sprint
Potentially Shippable Product Increment At the end of each Sprint, the Team must produce a potentially shippable product increment (commit by the Team) High Quality Tested Complete Done
Product Owner Represents (or is) the user or customer for the project Knowing what to build and in what sequence Defines goals for overall project
Product Backlog The requirements A dynamic list of all desired work on the project Prioritized by the Product Owner Reprioritized at the start of each Sprint
ScrumMaster Responsible for enforcing the values and practices of the framework and the Team Remove impediments Educate outside groups about how the Teams is working Improve productivity in any way possible Facilitate Team meetings Servant Leader
Daily Scrum Meeting Tasks that is completed Obstacles to complete specific task Plan to accomplish between now and the next Scrum meeting
Scrum of Scrum Synchronize inter-team work Issue list is up-to-date Discuss impediments
Sprint Planning Happens on the 1 st  day of the Sprint Scrum Team takes the Sprint Goal and decides what Product Backlog are necessary Team self-organizes around how they’ll meet the Sprint Goal Sprint Backlog is created
Release Planning Several Days before Sprint Planning What will be built Identify top level priorities Select more than what the Team can likely do in one Sprint
Sprint Review Updates to Product Owner Plans for next Sprint Change in Requirements Demonstration
Risk Management Risk is low Continue testing Problem is notified during Daily Scrum Meeting
System Representation Release Planning Sprint Planning Ideas Programming Daily Scrum Sprint Review Release Review Working Code Error Error Product Backlog Release Backlog Sprint Backlog
Advantage & Disadvantage + Continuous testing and communication can find issues rapidly - Might not find bugs until later stage Risk Management  - Knowledge is stored mentally - Code is the documentation + Highly emphasize + Requires in every stage Documentation + Good internal communication + Higher quality - Lack of communication with the customer and team members Communication + Micro Planning + Avoid Requirement cramming - Might be headed toward wrong direction + Able to see the overall project Planning + No delays on important features + Less important features might scaled back or dropped + Support for long-term plans Prioritization Agile Method Traditional Management
Work Breakdown Schedule Requirement Analysis  Proposal (February) Research  Review Case Study (March)  Paper Analysis (March-April) Writing the Paper  Proof Read
Reference Pressman, Roger S. “Software Engineering.” Software Engineering Project Management.  Pp. 30-47. IEEE.  2000. Highsmith, Jim & Cockburn, Alistair. “Agile Software Development: The Business of Innovation.”  IEEE Computer.  September 2001. &quot;Agile software development.&quot;  Wikipedia, The Free Encyclopedia . 19 Apr 2007, 10:26 UTC. Wikimedia Foundation, Inc. 19 Apr 2007 < http:// en.wikipedia.org/w/index.php?title = Agile_software_development&oldid =124050398 >. Rising, Linda & Janoff, Norman.  “The Scrum Software Development Process for Small Teams.”  IEEE Software.  July/August 2000. Brooks, Frederick.  The Mythical Man-Month: Essays on Software Engineering.  MA: Addison-Wesley Professional 1975. Sutherland, Jeff. “Agile Development: Lessons Learned From the First Scrum.”  Cutter Agile Project Management Advisory Service.   Executive Update, Vol. 5, No. 20.  October 2004. Anderson, David.  Agile Management for Software Engineering .  New Jersey: Prentice Hall, 2004. KarlstrÖm, Daniel & Runeson, Per. “Combining Agile Methods with Stage-Gate Project Managment.”  IEEE Software.  May/June 2005. “ Agile Manifesto.” 19 Apr 2007, 10:26 UTC. < http://www.agilemanifesto.com >

Agile Scrum

  • 1.
    Agile Method -Scrum Present by Gloria Law April 7, 2008
  • 2.
    Agenda Introduction WaterfallLife Cycle Agile Method Scrum Sprints Potentially Shippable Product Increment Product Owner Product Backlog ScrumMaster Daily Scrum Meeting Scrum of Scrums Sprint Planning Release Planning Sprint Review Risk Management System Representation Advantage & Disadvantage
  • 3.
    Introduction Need softwaremanagement methods to decrease the cost 28% completed on time and budget 23% failed 49% challenged 72% not meeting original goals
  • 4.
  • 5.
    Agile Method Continuousattention to technical excellence and good design Self-organizing teams Customer satisfaction by rapid, continuous delivery of useful software Working software is the principal measure of progress Delivered frequently
  • 6.
    Agile Method (cont)Late changes in requirements Close, daily cooperation between business people and developers Face-to-face conversation is the best form of communication Time is a fixed variable
  • 7.
    Agile Manifesto “ We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value: Individuals and interactions over processes and tools Working software over comprehensive documentation Customer collaboration over contract negotiation Responding to change over following a plan That is, while there is value in the items on the right, we value the items on the left more.”
  • 8.
    Scrum Rugby Eightindividual Move the ball down the field One Goal
  • 9.
    Sprints Scrum projectmake progress in a series of Sprints Timeboxed Period (2 – 4 weeks) During Sprint, team does: Analysis Design Code Test Product is potentially releasable after every Sprint
  • 10.
    Potentially Shippable ProductIncrement At the end of each Sprint, the Team must produce a potentially shippable product increment (commit by the Team) High Quality Tested Complete Done
  • 11.
    Product Owner Represents(or is) the user or customer for the project Knowing what to build and in what sequence Defines goals for overall project
  • 12.
    Product Backlog Therequirements A dynamic list of all desired work on the project Prioritized by the Product Owner Reprioritized at the start of each Sprint
  • 13.
    ScrumMaster Responsible forenforcing the values and practices of the framework and the Team Remove impediments Educate outside groups about how the Teams is working Improve productivity in any way possible Facilitate Team meetings Servant Leader
  • 14.
    Daily Scrum MeetingTasks that is completed Obstacles to complete specific task Plan to accomplish between now and the next Scrum meeting
  • 15.
    Scrum of ScrumSynchronize inter-team work Issue list is up-to-date Discuss impediments
  • 16.
    Sprint Planning Happenson the 1 st day of the Sprint Scrum Team takes the Sprint Goal and decides what Product Backlog are necessary Team self-organizes around how they’ll meet the Sprint Goal Sprint Backlog is created
  • 17.
    Release Planning SeveralDays before Sprint Planning What will be built Identify top level priorities Select more than what the Team can likely do in one Sprint
  • 18.
    Sprint Review Updatesto Product Owner Plans for next Sprint Change in Requirements Demonstration
  • 19.
    Risk Management Riskis low Continue testing Problem is notified during Daily Scrum Meeting
  • 20.
    System Representation ReleasePlanning Sprint Planning Ideas Programming Daily Scrum Sprint Review Release Review Working Code Error Error Product Backlog Release Backlog Sprint Backlog
  • 21.
    Advantage & Disadvantage+ Continuous testing and communication can find issues rapidly - Might not find bugs until later stage Risk Management - Knowledge is stored mentally - Code is the documentation + Highly emphasize + Requires in every stage Documentation + Good internal communication + Higher quality - Lack of communication with the customer and team members Communication + Micro Planning + Avoid Requirement cramming - Might be headed toward wrong direction + Able to see the overall project Planning + No delays on important features + Less important features might scaled back or dropped + Support for long-term plans Prioritization Agile Method Traditional Management
  • 22.
    Work Breakdown ScheduleRequirement Analysis Proposal (February) Research Review Case Study (March) Paper Analysis (March-April) Writing the Paper Proof Read
  • 23.
    Reference Pressman, RogerS. “Software Engineering.” Software Engineering Project Management. Pp. 30-47. IEEE. 2000. Highsmith, Jim & Cockburn, Alistair. “Agile Software Development: The Business of Innovation.” IEEE Computer. September 2001. &quot;Agile software development.&quot; Wikipedia, The Free Encyclopedia . 19 Apr 2007, 10:26 UTC. Wikimedia Foundation, Inc. 19 Apr 2007 < http:// en.wikipedia.org/w/index.php?title = Agile_software_development&oldid =124050398 >. Rising, Linda & Janoff, Norman. “The Scrum Software Development Process for Small Teams.” IEEE Software. July/August 2000. Brooks, Frederick. The Mythical Man-Month: Essays on Software Engineering. MA: Addison-Wesley Professional 1975. Sutherland, Jeff. “Agile Development: Lessons Learned From the First Scrum.” Cutter Agile Project Management Advisory Service. Executive Update, Vol. 5, No. 20. October 2004. Anderson, David. Agile Management for Software Engineering . New Jersey: Prentice Hall, 2004. KarlstrÖm, Daniel & Runeson, Per. “Combining Agile Methods with Stage-Gate Project Managment.” IEEE Software. May/June 2005. “ Agile Manifesto.” 19 Apr 2007, 10:26 UTC. < http://www.agilemanifesto.com >

Editor's Notes

  • #4 Building a software product would cost a lot of extra money when the management is poor, therefore many software management methods were invented to aid managing the process of building software product.