Agile & SCRUMCreated by ejlp12@gmail.com, 6 Nov 2009Why, What & How.Presented to project team members. Pictures are copied from Internet and not my copyright. Some slides are also taken from Internet.
AGILE Methodology
Why Agile Software Development…?
What is Agile?The agile process is based on the empirical approach, accepting the complexity of the problem and addressing it through frequent inspection and constant adaptation– Ken Schwaber
Agile, basic Adaptive and responsive to changeIncrease productivity and identifying and prioritizing high value featuresPositive emergent culture that allows for continuous improvementAvoid the pitfalls of waterfall
More on characteristicsEmpirical (relies on observation and experience)LightweightAdaptiveFast – but never hurriedExposes wastefulnessCustomer-centricPushes decision making to lower levelsFosters trust, honesty and courageEncourages self-organization
Agile manifestoIndividuals & Interactions	over	Process & ToolsWorking Software		over	Comprehensive DocumentsCustomer Collaboration		over	Contract NegotiationResponding to Change		over	Following a PlanThings on the right are important.Things on the left are more important!!
Agile methodologiesFeature Driven Development (FDD)Extreme programming (XP)CrystalLean DevelopmentSCRUMRational Unified Process (RUP)Adaptive Software Development (ASD)Dynamic System Development Method (DSDM)
Agile SW development practicesEssential PracticesRegular refactoring (many times daily)This produces well-componentized designs, clear APIs and clean code without duplicationsFrequent check-ins (many times daily)Unit Testing Leading to Test Driven Development (TDD)Continuous Build and IntegrationRunning automated tests on  each buildJust-in-time code reviews (e.g. pair programming)Example methodologies: XP, Agile Modeling
Agile SW TestingEarly involvementAn Agile project begins when testers convert high-level requirements into testable specifications.Work as part of the development teamThe testers work with the developers to pick unit test and acceptance test frameworks, and to test the software in parallel with development.  This requires a shift in thinking.Automate everything(wherever possible)Test early, test oftenNever leave the testing until the end
The Agile Customer“Customer’ is a role, not a personAlso known as Product Manager, Product OwnerProxy for the entire customer groupResponsible for the Release PlanResponsible for managing the Product BacklogDetermines business value & priority on a regular basisProvides information to development team for estimation purposesWorks with testers to produce clear, testable user stories for each iterationInspects software regularly (e.g. runs acceptance tests) and provides feedback to the development team
SCRUM
SCRUM is…Scrum is an agile, lightweight processthat can be used to manage and control software and product development using iterative, incremental practicesWrapping existing engineering practices, including Extreme Programming and RUP, Scrum generates the benefits of agile development with the advantages of a simple implementationIt is adaptive, quick, self-organizing and have few rests..process framework, not methodology
Why SCRUMIt is HOT!It’s work and simple.More practical (practical process model). A rule of thumb or best practices for process inspection and continue adaptation.
SCRUM CharacteristicsSelf-organizing teamsProduct progresses in a series of month-long “sprints”Requirements are captured in a list of “product backlog”No specific engineering practices prescribedSCRUM doesn’t tell how to develop Software.Find XP, TDD, etc
Roles and ResponsibilitiesProduct OwnerDefines the features of the product, decides on release date and content
Is responsible for the profitability of the product (ROI)
Prioritizes features according to market value
Can change features and priority every 30 days
Accepts or rejects work resultsScrum MasterEnsures that the team is fully functional and productive
Enables close cooperation across all roles and functions and removes barriers
Shields the team from external interferences
Ensures that the process is followed. Invites to daily scrum, iteration review and planning meetingsTeamCross-functional, seven plus/minus two members
Selects the iteration goal and specifies work results
Has the right to do everything within the boundaries of the project guidelines to reach the iteration goal
Organizes itself and its work
Demos work results to the Product OwnerKey ArtifactsProduct backlogList of requirements & issues
Owned by Product Owner
Anybody can add to it
Only Product Owner prioritizesSprint GoalA short “theme” for the sprint, typically one line summary:
For example, “Make the application run on Oracle in addition to SQL Server”
Declared by Product Owner
Accepted by teamFrom Sprint Goal to Sprint Backlog …Scrum team takes the Sprint Goal and decides what tasks are necessary
Team self organizes around how they’ll meet the Sprint Goal
Manager doesn’t assign tasks to individuals
Managers don’t make decisions for the team
Sprint Backlog is createdSprint backlogList of tasks
Owned by team
Only team modifies itBlocks listList of blocks & unmade decisions
Owned by Scrum Master
Updated dailyProduct Backlog

Agile & SCRUM

  • 1.
    Agile & SCRUMCreatedby ejlp12@gmail.com, 6 Nov 2009Why, What & How.Presented to project team members. Pictures are copied from Internet and not my copyright. Some slides are also taken from Internet.
  • 2.
  • 3.
    Why Agile SoftwareDevelopment…?
  • 4.
    What is Agile?Theagile process is based on the empirical approach, accepting the complexity of the problem and addressing it through frequent inspection and constant adaptation– Ken Schwaber
  • 5.
    Agile, basic Adaptiveand responsive to changeIncrease productivity and identifying and prioritizing high value featuresPositive emergent culture that allows for continuous improvementAvoid the pitfalls of waterfall
  • 6.
    More on characteristicsEmpirical(relies on observation and experience)LightweightAdaptiveFast – but never hurriedExposes wastefulnessCustomer-centricPushes decision making to lower levelsFosters trust, honesty and courageEncourages self-organization
  • 7.
    Agile manifestoIndividuals &Interactions over Process & ToolsWorking Software over Comprehensive DocumentsCustomer Collaboration over Contract NegotiationResponding to Change over Following a PlanThings on the right are important.Things on the left are more important!!
  • 8.
    Agile methodologiesFeature DrivenDevelopment (FDD)Extreme programming (XP)CrystalLean DevelopmentSCRUMRational Unified Process (RUP)Adaptive Software Development (ASD)Dynamic System Development Method (DSDM)
  • 9.
    Agile SW developmentpracticesEssential PracticesRegular refactoring (many times daily)This produces well-componentized designs, clear APIs and clean code without duplicationsFrequent check-ins (many times daily)Unit Testing Leading to Test Driven Development (TDD)Continuous Build and IntegrationRunning automated tests on each buildJust-in-time code reviews (e.g. pair programming)Example methodologies: XP, Agile Modeling
  • 10.
    Agile SW TestingEarlyinvolvementAn Agile project begins when testers convert high-level requirements into testable specifications.Work as part of the development teamThe testers work with the developers to pick unit test and acceptance test frameworks, and to test the software in parallel with development. This requires a shift in thinking.Automate everything(wherever possible)Test early, test oftenNever leave the testing until the end
  • 11.
    The Agile Customer“Customer’is a role, not a personAlso known as Product Manager, Product OwnerProxy for the entire customer groupResponsible for the Release PlanResponsible for managing the Product BacklogDetermines business value & priority on a regular basisProvides information to development team for estimation purposesWorks with testers to produce clear, testable user stories for each iterationInspects software regularly (e.g. runs acceptance tests) and provides feedback to the development team
  • 12.
  • 14.
    SCRUM is…Scrum isan agile, lightweight processthat can be used to manage and control software and product development using iterative, incremental practicesWrapping existing engineering practices, including Extreme Programming and RUP, Scrum generates the benefits of agile development with the advantages of a simple implementationIt is adaptive, quick, self-organizing and have few rests..process framework, not methodology
  • 15.
    Why SCRUMIt isHOT!It’s work and simple.More practical (practical process model). A rule of thumb or best practices for process inspection and continue adaptation.
  • 16.
    SCRUM CharacteristicsSelf-organizing teamsProductprogresses in a series of month-long “sprints”Requirements are captured in a list of “product backlog”No specific engineering practices prescribedSCRUM doesn’t tell how to develop Software.Find XP, TDD, etc
  • 17.
    Roles and ResponsibilitiesProductOwnerDefines the features of the product, decides on release date and content
  • 18.
    Is responsible forthe profitability of the product (ROI)
  • 19.
  • 20.
    Can change featuresand priority every 30 days
  • 21.
    Accepts or rejectswork resultsScrum MasterEnsures that the team is fully functional and productive
  • 22.
    Enables close cooperationacross all roles and functions and removes barriers
  • 23.
    Shields the teamfrom external interferences
  • 24.
    Ensures that theprocess is followed. Invites to daily scrum, iteration review and planning meetingsTeamCross-functional, seven plus/minus two members
  • 25.
    Selects the iterationgoal and specifies work results
  • 26.
    Has the rightto do everything within the boundaries of the project guidelines to reach the iteration goal
  • 27.
  • 28.
    Demos work resultsto the Product OwnerKey ArtifactsProduct backlogList of requirements & issues
  • 29.
  • 30.
  • 31.
    Only Product OwnerprioritizesSprint GoalA short “theme” for the sprint, typically one line summary:
  • 32.
    For example, “Makethe application run on Oracle in addition to SQL Server”
  • 33.
  • 34.
    Accepted by teamFromSprint Goal to Sprint Backlog …Scrum team takes the Sprint Goal and decides what tasks are necessary
  • 35.
    Team self organizesaround how they’ll meet the Sprint Goal
  • 36.
    Manager doesn’t assigntasks to individuals
  • 37.
    Managers don’t makedecisions for the team
  • 38.
    Sprint Backlog iscreatedSprint backlogList of tasks
  • 39.
  • 40.
    Only team modifiesitBlocks listList of blocks & unmade decisions
  • 41.
  • 42.