Customized Scrum Process




                                Abdul Karim
                           Software Engineer
                           Dhaka, Bangladesh
Startup first time in Scrum
• It is really very difficult to follow 100% of
  scrum process in real life product/project
  development.
• Did you face this issues ? I think most of you
  will answer YES.
• So what we need to do is customize the scrum
  in your own way.
• Management suddenly assigned me as
  Product Owner and Scrum Master, but I do
  not have previous experience in Scrum at all.
• My traditional process is estimate task and
  make a schedule in Microsoft project plan.
• So I learn Scrum and start in my own way.
• I will first discuss about Scrum and then will
  show you how I follow & implement in
  practically .
Scrum in 100 words
• Scrum is an agile process that allows us to focus on
  delivering the highest business value in the shortest time.
• It allows us to rapidly and repeatedly inspect actual working
  software (every two weeks to one month).
• The business sets the priorities. Teams self-organize to
  determine the best way to deliver the highest priority
  features.
• Every two weeks to a month anyone can see real working
  software and decide to release it as is or continue to
  enhance it for another sprint.
           ---- By Internet
Putting it all together




This Slid is collected from Internet
What is Sprints?
• Scrum projects make progress in a series of
  “sprints”
  – Analogous to Extreme Programming iterations
• Typical duration is 2–4 weeks or a calendar
  month at most
• A constant duration leads to a better rhythm
• Product is designed, coded, and tested during
  the sprint
Sequential vs. overlapping
               development

Requirements Design                               Code          Test



       Rather than doing all of
       one thing at a time...
                                                  ...Scrum teams do a little
                                                  of everything all the time




 Source: “The New New Product Development Game” by Takeuchi
 and Nonaka. Harvard Business Review, January 1986.
Product owner
• Define the features of the product
• Decide on release date and content
• Be responsible for the profitability of the
  product (ROI)
• Prioritize features according to market value
• Adjust features and priority every iteration, as
  needed
• Accept or reject work results
The ScrumMaster
• Represents management to the project
• Responsible for enacting Scrum values and
  practices
• Removes impediments
• Ensure that the team is fully functional and
  productive
• Enable close cooperation across all roles and
  functions
• Shield the team from external interferences
The team
• Typically 5-9 people
• Cross-functional:
  – Programmers, testers, user experience
    designers, etc.
• Members should be full-time
  • May be exceptions (e.g., database administrator)
The team

• Teams are self-organizing
  – Ideally, no titles but rarely a possibility
• Membership should change only between
  sprints
Team
             Sprint planning meeting
capacity
              Sprint prioritization
Product       •   Analyze and evaluate product         Sprint
backlog           backlog                              goal
              •   Select sprint goal
Business
conditions    Sprint planning
              •   Decide how to achieve sprint goal
Current           (design)
                                                       Sprint
product       •   Create sprint backlog (tasks) from   backlog
                  product backlog items (user
                  stories / features)
Technology    •   Estimate sprint backlog in hours
Sprint planning
• Team selects items from the product backlog they
  can commit to completing
• Sprint backlog is created
  – Tasks are identified and each is estimated (1-16 hours)
  – Collaboratively, not done alone by the ScrumMaster
• High-level design is considered

As a vacation planner, I want
to see photos of the hotels.     Code the middle tier (8 hours)
                                 Code the user interface (4)
                                 Write test fixtures (4)
                                 Code the foo class (6)
                                 Update performance tests (4)
The daily scrum
• Parameters
  – Daily
  – 15-minutes
  – Stand-up
• Not for problem solving
  – Whole world is invited
  – Only team members, ScrumMaster, product owner,
    can talk
• Helps avoid other unnecessary meetings
Everyone answers 3 questions
                                             1
     What did you do yesterday?

                                             2
     What will you do today?

                                             3
     Is anything in your way?
• These are not status for the ScrumMaster
  – They are commitments in front of peers
The sprint review
• Team presents what it accomplished during
  the sprint
• Typically takes the form of a demo of new
  features or underlying architecture
• Informal
  – 2-hour prep time rule
  – No slides
• Whole team participates
• Invite the world
Sprint retrospective
• Periodically take a look at what is and is not
  working
• Typically 15–30 minutes
• Done after every sprint
• Whole team participates
  – ScrumMaster
  – Product owner
  – Team
  – Possibly customers and others
Start / Stop / Continue
• Whole team gathers and discusses what
  they’d like to:
    Start doing

               Stop doing
  This is just one
  of many ways to    Continue doing
  do a sprint
  retrospective.
Product backlog
                  • The requirements
                  • A list of all desired work on
                    the project
                  • Ideally expressed such that
                    each item has value to the
                    users or customers of the
                    product
                  • Prioritized by the product
                    owner
                  • Reprioritized at the start of
This is the         each sprint
product backlog
A sample product backlog
           Backlog item                     Estimate
Allow a guest to make a reservation            3
As a guest, I want to cancel a
                                               5
reservation.
As a guest, I want to change the dates of
                                               3
a reservation.
As a hotel employee, I can run RevPAR
                                               8
reports (revenue-per-available-room)
Improve exception handling                     8
...                                            30
...                                            50
The sprint goal
 • A short statement of what the work will be
   focused on during the sprint
                                   Life Sciences
                                  Support features necessary for
Database Application              population genetics studies.

Make the application run on SQL
Server in addition to Oracle.
                                   Financial services
                                   Support more technical indicators
                                   than company ABC with real-
                                   time, streaming data.
Managing the sprint backlog
• Individuals sign up for work of their own choosing
  – Work is never assigned
• Estimated work remaining is updated daily
Managing the sprint backlog
• Any team member can add, delete or change the
  sprint backlog
• Work for the sprint emerges
• If work is unclear, define a sprint backlog item with
  a larger amount of time and break it down later
• Update work remaining as more becomes known
A sprint backlog
Tasks                     Mon Tues Wed Thur Fri
Code the user interface     8    4    8
Code the middle tier        16   12   10   4
Test the middle tier        8    16   16   11     8
Write online help           12
Write the foo class         8    8    8    8      8
Add error logging                     8    4
A sprint burndown chart
Hours
Tasks                            Mon Tues Wed Thur Fri
Code the user interface             8     4          8
Code the middle tier               16     12         10         7
Test the middle tier                8     16         16         11   8
Write online help                  12


                50
                40
                30
                20
                10
        Hours




                 0
                     Mon   Tue      Wed        Thu        Fri
Scalability
• Typical individual team is 7 ± 2 people
  – Scalability comes from teams of teams
• Factors in scaling
  – Type of application
  – Team size
  – Team dispersion
  – Project duration
• Scrum has been used on multiple 500+ person
  projects
Scrum Practices Tools
• eScrum Template (MSF)
• iceScrum (opensource)
Microsoft eScrum Template
• Released on 6/13/07 (and again on 7/11/07) &
  can feel a bit rough at times
• 1.1 released 8/9/2008 for TFS2008
   – Much improved install experience over 1.0
• But web UI is compelling in that it:
   – Is easier for non-VS.NET users to grasp
   – Provides reasonable flow to facilitate Scrum sprint-
     planning (as opposed to TFS Web Access)
• Web UI allows parallel maintenance of Scrum-
  based work items with VS.NET/Team Explorer
Microsoft eScrum Template
• Released on 6/13/07 (and again on 7/11/07) &
  can feel a bit rough at times
• 1.1 released 8/9/2008 for TFS2008
   – Much improved install experience over 1.0
• But web UI is compelling in that it:
   – Is easier for non-VS.NET users to grasp
   – Provides reasonable flow to facilitate Scrum sprint-
     planning (as opposed to TFS Web Access)
• Web UI allows parallel maintenance of Scrum-
  based work items with VS.NET/Team Explorer
Microsoft eScrum Template
• Microsoft will continue to invest in MSF for
  Agile/CMMI – the MSF team continues to
  believe there is value they can bring with that
  process
  – Expect that MSF will more formally integrate
    engineering disciplines, especially those
    supported by Team System tooling
• eScrum is not currently supported (as MSF
  would be) – it is offered “as is”
eScrum – what do you get?
       • Bugs are distinct from Sprint Tasks
         (though they may be linked)
       • No process guidance as such. For
         scrum reference, see:
         http://scrumforteamsystem.com
       • See
         http://yourserver/eScrum/help/helpwindow.aspx for
         detail on using eScrum itself
       • Sharepoint Portal has configured lists
         for things like risks, product owner
         to-dos, etc.
iceScrum open source Tools for scrum
             practices

• http://www.icescrum.org
• http://www.icescrum.org/en/screenshots-en/
iceScrum
eScrum – what do you get?
Do we really need to follow Scrum?
• Now we will discuss about advantages and
  disadvantages of scrum, because we must
  know weather we need to follow scrum for my
  project and what is the impact of Scrum in
  Project Deadline.
Scrum Advantages
• Agile scrum helps the company in saving time and money.
• Scrum methodology enables project’s where the business
  requirements documentation is hard to quantify to be successfully
  developed.
• Fast moving, cutting edge developments can be quickly coded and
  tested using this method, as a mistake can be easily rectified.
• It is a lightly controlled method which insists on frequent updating
  of the progress in work through regular meetings. Thus there is
  clear visibility of the project development.
• Like any other agile methodology, this is also iterative in nature. It
  requires continuous feedback from the user.
• Due to short sprints and constant feedback, it becomes easier to
  cope with the changes.
Scrum Advantages
• Daily meetings make it possible to measure individual productivity.
  This leads to the improvement in the productivity of each of the
  team members.
• Issues are identified well in advance through the daily meetings and
  hence can be resolved in speedily
• It is easier to deliver a quality product in a scheduled time.
• Agile Scrum can work with any technology/ programming language
  but is particularly useful for fast moving web 2.0 or new media
  projects.
• The overhead cost in terms of process and management is minimal
  thus leading to a quicker, cheaper result.
• In a nutshell this means that you can get development started
  fast, but with the caveat that the project scope statement is
  "flexible" and not fully defined. Hence this can be one of the
  major causes of scope creep if not managed properly.
Scrum Disadvantages
• Agile Scrum is one of the leading causes of scope
  creep because unless there is a definite end
  date, the project management stakeholders will be
  tempted to keep demanding new functionality is
  delivered.
• If a task is not well defined, estimating project
  costs and time will not be accurate. In such a case, the
  task can be spread over several sprints.
• If the team members are not committed, the project
  will either never complete or fail.
• It is good for small, fast moving projects as it works
  well only with small team.
Scrum Disadvantages
• This methodology needs experienced team members only.
  If the team consists of people who are novices, the project
  cannot be completed in time.
• Scrum works well when the Scrum Master trusts the team
  they are managing. If they practice too strict control over
  the team members, it can be extremely frustrating for
  them, leading to demoralisation and the failure of the
  project.
• If any of the team members leave during a development it
  can have a huge inverse effect on the project development
• Project quality management is hard to implement and
  quantify unless the test team are able to conduct
  regression testing after each sprint.
• I used icescrum because of its license issue.
• It is really helpful for task tracking and see all
  task status in at a glance
• Deployment is so easy.
useful links
• www.scrumalliance.org
• www.controlchaos.com
• scrumdevelopment@yahoogroups.com
• This are my customized Idea for my project .
• Some slides are collected from internet 
  karim017@yahoo.com

Customized Scrum

  • 1.
    Customized Scrum Process Abdul Karim Software Engineer Dhaka, Bangladesh
  • 2.
    Startup first timein Scrum • It is really very difficult to follow 100% of scrum process in real life product/project development. • Did you face this issues ? I think most of you will answer YES. • So what we need to do is customize the scrum in your own way.
  • 3.
    • Management suddenlyassigned me as Product Owner and Scrum Master, but I do not have previous experience in Scrum at all. • My traditional process is estimate task and make a schedule in Microsoft project plan. • So I learn Scrum and start in my own way.
  • 4.
    • I willfirst discuss about Scrum and then will show you how I follow & implement in practically .
  • 6.
    Scrum in 100words • Scrum is an agile process that allows us to focus on delivering the highest business value in the shortest time. • It allows us to rapidly and repeatedly inspect actual working software (every two weeks to one month). • The business sets the priorities. Teams self-organize to determine the best way to deliver the highest priority features. • Every two weeks to a month anyone can see real working software and decide to release it as is or continue to enhance it for another sprint. ---- By Internet
  • 7.
    Putting it alltogether This Slid is collected from Internet
  • 8.
    What is Sprints? •Scrum projects make progress in a series of “sprints” – Analogous to Extreme Programming iterations • Typical duration is 2–4 weeks or a calendar month at most • A constant duration leads to a better rhythm • Product is designed, coded, and tested during the sprint
  • 9.
    Sequential vs. overlapping development Requirements Design Code Test Rather than doing all of one thing at a time... ...Scrum teams do a little of everything all the time Source: “The New New Product Development Game” by Takeuchi and Nonaka. Harvard Business Review, January 1986.
  • 10.
    Product owner • Definethe features of the product • Decide on release date and content • Be responsible for the profitability of the product (ROI) • Prioritize features according to market value • Adjust features and priority every iteration, as needed • Accept or reject work results
  • 11.
    The ScrumMaster • Representsmanagement to the project • Responsible for enacting Scrum values and practices • Removes impediments • Ensure that the team is fully functional and productive • Enable close cooperation across all roles and functions • Shield the team from external interferences
  • 12.
    The team • Typically5-9 people • Cross-functional: – Programmers, testers, user experience designers, etc. • Members should be full-time • May be exceptions (e.g., database administrator)
  • 13.
    The team • Teamsare self-organizing – Ideally, no titles but rarely a possibility • Membership should change only between sprints
  • 14.
    Team Sprint planning meeting capacity Sprint prioritization Product • Analyze and evaluate product Sprint backlog backlog goal • Select sprint goal Business conditions Sprint planning • Decide how to achieve sprint goal Current (design) Sprint product • Create sprint backlog (tasks) from backlog product backlog items (user stories / features) Technology • Estimate sprint backlog in hours
  • 15.
    Sprint planning • Teamselects items from the product backlog they can commit to completing • Sprint backlog is created – Tasks are identified and each is estimated (1-16 hours) – Collaboratively, not done alone by the ScrumMaster • High-level design is considered As a vacation planner, I want to see photos of the hotels. Code the middle tier (8 hours) Code the user interface (4) Write test fixtures (4) Code the foo class (6) Update performance tests (4)
  • 16.
    The daily scrum •Parameters – Daily – 15-minutes – Stand-up • Not for problem solving – Whole world is invited – Only team members, ScrumMaster, product owner, can talk • Helps avoid other unnecessary meetings
  • 17.
    Everyone answers 3questions 1 What did you do yesterday? 2 What will you do today? 3 Is anything in your way? • These are not status for the ScrumMaster – They are commitments in front of peers
  • 18.
    The sprint review •Team presents what it accomplished during the sprint • Typically takes the form of a demo of new features or underlying architecture • Informal – 2-hour prep time rule – No slides • Whole team participates • Invite the world
  • 19.
    Sprint retrospective • Periodicallytake a look at what is and is not working • Typically 15–30 minutes • Done after every sprint • Whole team participates – ScrumMaster – Product owner – Team – Possibly customers and others
  • 20.
    Start / Stop/ Continue • Whole team gathers and discusses what they’d like to: Start doing Stop doing This is just one of many ways to Continue doing do a sprint retrospective.
  • 21.
    Product backlog • The requirements • A list of all desired work on the project • Ideally expressed such that each item has value to the users or customers of the product • Prioritized by the product owner • Reprioritized at the start of This is the each sprint product backlog
  • 22.
    A sample productbacklog Backlog item Estimate Allow a guest to make a reservation 3 As a guest, I want to cancel a 5 reservation. As a guest, I want to change the dates of 3 a reservation. As a hotel employee, I can run RevPAR 8 reports (revenue-per-available-room) Improve exception handling 8 ... 30 ... 50
  • 23.
    The sprint goal • A short statement of what the work will be focused on during the sprint Life Sciences Support features necessary for Database Application population genetics studies. Make the application run on SQL Server in addition to Oracle. Financial services Support more technical indicators than company ABC with real- time, streaming data.
  • 24.
    Managing the sprintbacklog • Individuals sign up for work of their own choosing – Work is never assigned • Estimated work remaining is updated daily
  • 25.
    Managing the sprintbacklog • Any team member can add, delete or change the sprint backlog • Work for the sprint emerges • If work is unclear, define a sprint backlog item with a larger amount of time and break it down later • Update work remaining as more becomes known
  • 26.
    A sprint backlog Tasks Mon Tues Wed Thur Fri Code the user interface 8 4 8 Code the middle tier 16 12 10 4 Test the middle tier 8 16 16 11 8 Write online help 12 Write the foo class 8 8 8 8 8 Add error logging 8 4
  • 27.
    A sprint burndownchart Hours
  • 28.
    Tasks Mon Tues Wed Thur Fri Code the user interface 8 4 8 Code the middle tier 16 12 10 7 Test the middle tier 8 16 16 11 8 Write online help 12 50 40 30 20 10 Hours 0 Mon Tue Wed Thu Fri
  • 29.
    Scalability • Typical individualteam is 7 ± 2 people – Scalability comes from teams of teams • Factors in scaling – Type of application – Team size – Team dispersion – Project duration • Scrum has been used on multiple 500+ person projects
  • 30.
    Scrum Practices Tools •eScrum Template (MSF) • iceScrum (opensource)
  • 31.
    Microsoft eScrum Template •Released on 6/13/07 (and again on 7/11/07) & can feel a bit rough at times • 1.1 released 8/9/2008 for TFS2008 – Much improved install experience over 1.0 • But web UI is compelling in that it: – Is easier for non-VS.NET users to grasp – Provides reasonable flow to facilitate Scrum sprint- planning (as opposed to TFS Web Access) • Web UI allows parallel maintenance of Scrum- based work items with VS.NET/Team Explorer
  • 32.
    Microsoft eScrum Template •Released on 6/13/07 (and again on 7/11/07) & can feel a bit rough at times • 1.1 released 8/9/2008 for TFS2008 – Much improved install experience over 1.0 • But web UI is compelling in that it: – Is easier for non-VS.NET users to grasp – Provides reasonable flow to facilitate Scrum sprint- planning (as opposed to TFS Web Access) • Web UI allows parallel maintenance of Scrum- based work items with VS.NET/Team Explorer
  • 33.
    Microsoft eScrum Template •Microsoft will continue to invest in MSF for Agile/CMMI – the MSF team continues to believe there is value they can bring with that process – Expect that MSF will more formally integrate engineering disciplines, especially those supported by Team System tooling • eScrum is not currently supported (as MSF would be) – it is offered “as is”
  • 34.
    eScrum – whatdo you get? • Bugs are distinct from Sprint Tasks (though they may be linked) • No process guidance as such. For scrum reference, see: http://scrumforteamsystem.com • See http://yourserver/eScrum/help/helpwindow.aspx for detail on using eScrum itself • Sharepoint Portal has configured lists for things like risks, product owner to-dos, etc.
  • 35.
    iceScrum open sourceTools for scrum practices • http://www.icescrum.org • http://www.icescrum.org/en/screenshots-en/
  • 36.
  • 37.
    eScrum – whatdo you get?
  • 38.
    Do we reallyneed to follow Scrum? • Now we will discuss about advantages and disadvantages of scrum, because we must know weather we need to follow scrum for my project and what is the impact of Scrum in Project Deadline.
  • 39.
    Scrum Advantages • Agilescrum helps the company in saving time and money. • Scrum methodology enables project’s where the business requirements documentation is hard to quantify to be successfully developed. • Fast moving, cutting edge developments can be quickly coded and tested using this method, as a mistake can be easily rectified. • It is a lightly controlled method which insists on frequent updating of the progress in work through regular meetings. Thus there is clear visibility of the project development. • Like any other agile methodology, this is also iterative in nature. It requires continuous feedback from the user. • Due to short sprints and constant feedback, it becomes easier to cope with the changes.
  • 40.
    Scrum Advantages • Dailymeetings make it possible to measure individual productivity. This leads to the improvement in the productivity of each of the team members. • Issues are identified well in advance through the daily meetings and hence can be resolved in speedily • It is easier to deliver a quality product in a scheduled time. • Agile Scrum can work with any technology/ programming language but is particularly useful for fast moving web 2.0 or new media projects. • The overhead cost in terms of process and management is minimal thus leading to a quicker, cheaper result. • In a nutshell this means that you can get development started fast, but with the caveat that the project scope statement is "flexible" and not fully defined. Hence this can be one of the major causes of scope creep if not managed properly.
  • 41.
    Scrum Disadvantages • AgileScrum is one of the leading causes of scope creep because unless there is a definite end date, the project management stakeholders will be tempted to keep demanding new functionality is delivered. • If a task is not well defined, estimating project costs and time will not be accurate. In such a case, the task can be spread over several sprints. • If the team members are not committed, the project will either never complete or fail. • It is good for small, fast moving projects as it works well only with small team.
  • 42.
    Scrum Disadvantages • Thismethodology needs experienced team members only. If the team consists of people who are novices, the project cannot be completed in time. • Scrum works well when the Scrum Master trusts the team they are managing. If they practice too strict control over the team members, it can be extremely frustrating for them, leading to demoralisation and the failure of the project. • If any of the team members leave during a development it can have a huge inverse effect on the project development • Project quality management is hard to implement and quantify unless the test team are able to conduct regression testing after each sprint.
  • 43.
    • I usedicescrum because of its license issue. • It is really helpful for task tracking and see all task status in at a glance • Deployment is so easy.
  • 44.
    useful links • www.scrumalliance.org •www.controlchaos.com • scrumdevelopment@yahoogroups.com
  • 45.
    • This aremy customized Idea for my project . • Some slides are collected from internet  karim017@yahoo.com

Editor's Notes

  • #32 Web UI – you do want to do creation of work items in web UI, then maintain in vs.net/team explorer
  • #33 Web UI – you do want to do creation of work items in web UI, then maintain in vs.net/team explorer
  • #34 Engineering disciplines – whereas scrum leaves engineering disciplines not addressed (you’re free to bring XP to the table)