SlideShare una empresa de Scribd logo
1 de 48
Descargar para leer sin conexión
Scrum at SOMIS
                             Michael Toppa
                 University of Pennsylvania
                        School of Medicine
                      Information Services
                        November 2, 2010
Overview
 The   SOMIS Web Applications Group
    our staff – our teams – our challenge
3   different approaches to software development
    waterfall - no formal process - agile
 Scrum
    3 roles - 3 artifacts - 3 meetings
 Requirements
    user stories – epics - conditions of satisfaction
 Planning    and Estimating
    release planning – estimating - velocity - sprint planning
 Technical    practices
    OOD - TDD – refactoring – pair programming
Web Group: Old Setup


                PM                                 Design PM




   Admissions   BGS   Registrar         Designer      Designer   ITMAT Designer




  FAPD    FAPD PM     ITMAT       OHR      Genetics       DSS         Other
Problems with the old setup
 Each   programmer worked in a “silo”
 Inadequate sharing of skills and knowledge

 Not enough common solutions to common problems

 Support problems if someone is out or leaves

 Difficult to swarm on a big project

 Difficult to find support for clients we work with only
  occasionally
 Unclear responsibilities for project managers

 Often difficult to plan
Web Group: New Setup
  Admissions, BGS, Registrar, Others        FAPD, Genetics, DSS, Others




                          SM           PO                      SM         PO




ITMAT, OHR, Vice Dean of Research, Others   Design Team: ITMAT, Others




                         SM        PO                          SM         PO
Our Current Challenges
 Getting better at doing Scrum
 Getting more staff – we especially need another Product
  Owner
 Getting our backlog under control
    Currently supporting and developing 109 applications for 22
     different clients
    That does not include the design team, which supports roughly
     200 static web sites
    Our recent planning effort indicates we would need to triple our
     staff to do the work our clients desire over the next six months
    We're working on establishing an Advisory Board to help us
     prioritize our work
3 Approaches to Software
Development
 Waterfall   – focus on “anticipation”
     Highly detailed, big plans
 No   formal process – focus on “adaption”
     Every day is an adventure
 Agile   – balance anticipation and adaption
     Has a formal process, but is geared towards
      adapting to change
Waterfall
 Traditionalsoftware development models are based
  upon a defined methodology which attempts to:
     Define all requirements up front
     Logically break down the work
     Estimate the effort / durations
     Plan out all the work
     And only then begin the development…while trying to
      limit/control any change that will threaten the plan.
                                “Waterfall” Development Methodology
            Document System Concept
                                                         l
                                                      tia
             System Requirements
             Architectural Design
                                                  u en
                                                eq
             Detailed Design
             Code, Debug, Unit Test
             System Test
                                               S
             Deploy & Operate
Waterfall: Results
 Accordingto industry surveys, the waterfall
 model results in overproduction of features:
    Almost half of all features are never used
    One-fifth of features are rarely used
 Business    value is not delivered reliably:
    One-fifth of all projects are considered failures by
     their clients
    Half of all projects are considered ”challenged”
The Agile Alternative

                                  Waterfall                                       Agile
                             The Plan creates                               The Vision creates
                          cost/schedule estimates                            feature estimates

Constraints                           Features                   Cost                        Schedule



                                                                             Value / Vision
                                                                                Driven
                                        Plan
                                       Driven



Estimates        Cost                                      Schedule               Features
       Source: Michelle Sliger in “Relating PMBOK Practices to Agile Practices”
The Agile Umbrella



                AGILE

           Crystal    XP
                     DSDM
          Scrum
         Lean        FDD
Scrum Is...
3  Roles
 3 Artifacts

 3 Meetings

 That's it!
     But there are also several best practices
      commonly used with Scrum, for requirements
      gathering and for writing code
Roles: The Product Owner
 Manages   the relationship with the clients
 Gathers and writes up business requirements

 Sets the priorities for the team

 Responsible for what the team will work on, but not
  how the work is done:
     Does not have authority over technical design decisions
     Cannot tell an individual team member what to do
A  good Product Owner is: available, business-
  savvy, communicative, decisive, empowered
Roles: The Scrum Master
A   “servant-leader” for the team
    Analogous to a physical trainer: can set goals and provide
     encouragement, but cannot specifically tell you what to do
 But   does have authority over the Scrum process
    For example, if daily scrums are getting long and unproductive, the
     Scrum Master can limit the scope of conversation and control the length
     of the meeting
 Removes     obstacles for the team, such as:
    Helping a product owner to improve poorly defined requirements
    Helping to solve technical problems
A good Scrum Master is: responsible, humble, collaborative,
 committed, influential, and knowledgeable
Roles: The Team
 The  team takes collective responsibility for
  doing the work, and doing it in priority order
 This means more interaction with co-workers
  than some programmers are used to
 It can also mean more interaction with clients

 Team members can still have a technical
  specialty (e.g. database design), or a project
  specialty, but will often need to do work
  outside their specialties
Artifacts: Product Backlogs
 Every project has a set of desired features
 The “backlog” for the project is where the features are listed in
  priority order
 The priorities are determined by the clients' business needs
       But negotiation is allowed for reasons of technical efficiency
 The Product Owner is responsible for the Product Backlog
 Each of our clients has a number of projects

 Each of our teams support a number of clients
A Team's Product Backlog

Project    Project   Project    Project   Project    Project
Backlog    Backlog   Backlog    Backlog   Backlog    Backlog



  Client Backlog       Client Backlog       Client Backlog



                       Team Backlog
DEEP
 Product   Backlogs should be:
    Detailed appropriately
    Estimated
    Emergent
    Prioritized
Artifacts: The Sprint Backlog
A   sprint is a repeating time interval – we start a new sprint every
  2 weeks
 At the start of each sprint, the team estimates the top priority
  items in their product backlog, to determine how many they think
  they can finish in the sprint
 The product backlog items the team feels they can commit to
  finishing are put in the sprint backlog
 Any unfinished items from one sprint roll over to the next sprint
     Because we work in priority order, any unfinished work is the least
      important work
Artifacts: Burndown Charts
A  burndown chart provides a high-level
  snapshot of the team's progress during a
  sprint
 The Y axis indicates the work remaining to do
        Work is estimated at the start of the sprint
 The  X axis shows the days remaining in the
  sprint
Start Date: 5/24
                                      Research Billing - Sprint 2
     Percent Effort
       Still To Go                              Burndown Chart
                                                                                        End Date: 6/4
                                                                                       User Stories: 20
                                                                                     Estimated Hours: 81
100



 90


                           5/25
 80
                                                          5/28
 70



 60



 50


                                                                               6/2
 40



 30



 20

                                                                                                    6/4
 10



  0
      0           1    2          3         4              5           6   7            8            9

                                                  Days
                                                Percent   Ideal Line
Scrum Meetings
 Release    Planning
     Team estimates new product backlog items
     Held as needed
     Run by the Product Owner
 Sprint   Planning
     First day of sprint
     Decide on work for the sprint
     Run by the Scrum Master
 Daily   Scrum
     Daily check-in meeting: 15 minutes maximum
     Run by the Scrum Master
     What did you do yesterday?
     What are you doing today?
     Do you need help with anything?
Scrum Meetings
 Sprint   Review
     Product Owner reviews finished work
     Held at the end of the sprint
     Run by the Scrum Master
 Sprint   Retrospective
     Held at the end of the sprint
     Team review - highlight what went well, what didn't, discuss goals for next
      sprint
     Run by the Scrum Master
     Product Owner typically not included
 Scrum     of Scrums
     Retrospective for all teams together
     Held as desired
SOMIS Sprint Compromises
 Scrum    calls for focus on a single project
    Our sprints typically entail work on a few projects, as we
     simply have too many
 Scrumcalls for not making any changes to the work
 planned in a sprint
    We stick to our planned work, but we reserve time in
     each sprint for unplanned work and urgent bugs
    For many of our clients we are involved in day-to-day
     operational support needs
    We will work towards reducing unplanned work – it is a
     big culture change for us and our clients
Scrum Summary
Requirements
Requirements Gathering
 In Scrum, we don't define a complete, highly detailed
  plan at the start of a project. Why?
 Time is scarce
      Don't treat all requirements as equal
      Do priority features first
      Learn the details about a requirement as it gets closer to the
       time you'll work on it
 Things     will change
      New requirements will emerge as the project progresses
      Others may fall away
User Stories
 Requirements   are gathered in the form of
  User Stories
 As a [role] I want to [do something] so that
  [goal]
 Provides a quick understanding of who, what,
  and why
 “As a theater patron, I want to reserve a ticket
  online, so I am sure I can go to the play.”
Gathering User Stories
 Often  a good way to start is with a low fidelity
  visual prototype of the application flow
 Using a white board is good for this

 A Product Owner's responsibility, but the team
  can help
 Provides a basis for deriving user stories

 Makes it easier to understand how the user
  stories will fit together to shape the overall user
  experience
Sample Application Prototype
Derived User Stories
Good stories: INVEST
 Independent

 Negotiable

 Valuable to users or customers
 Estimatable

 Small

 Testable
Conditions of Satisfaction
   By the time the story is ready to be coded, all the
    details need to be added, in the form of high level
    acceptance tests (conditions of satisfaction)
   The tests let the developers know how to measure
    when they are done, and they facilitate estimating
   They can be added as they are discovered (over the
    course of planning meetings with product owners,
    even while developers are estimating)
Example Conditions of
Satisfaction
 As a theater patron, I want to reserve a ticket
  online, so I am sure I can go to the play.
 Conditions of Satisfaction
     Customer can choose from seats not already
      reserved
     Customer can pay with a valid Visa, MasterCard, or
      American Express
     Customer will receive an email notification
      summarizing the reservation
Epics
 Epics  are very large stories for work that will
  be done further in the future
 They will need to be broken down into
  multiple user stories before they can be
  worked on
 “As a job seeker, I want to post my resume
  online, so potential employers can find me”
 Useful for initial scoping of the features areas
  in a large project
Planning and Estimating
Release Planning
 In release planning meetings, the team
  reviews new stories
 After the team has a general understanding
  of a story, they estimate the size of the work
  involved
 Estimating is done in story points
Story Points
Planning Poker
Velocity
 The  story points completed in a sprint is the team's
  velocity for that sprint
 The goal is to measure how quickly a team moves
  through the product backlog, so we can plan
 A team's historical record can be used to
  determine the likely range of future velocities
 Important not to use one team's velocity to predict
  the velocity of other teams, especially early on
     Perspectives on story point numbers may vary
     Different teams may have different tempos
Using Velocity to Predict
Going from Stories to Tasks
 When    it’s time for the team to estimate stories for a
  sprint, break the story down into tasks
 Estimate the work in hours at this point, not story points
     We can do away with time estimates once we establish a
      velocity for the team
 The   next slide is a task breakdown for the story:
     “A user can search for a hotel on various fields…”
Example of Tasks for a Story
Putting It All Together
When you need something
more…
 It’sperfectly fine to supplement conditions of
  satisfaction with other documents:
     The Research Billing project has a spreadsheet
      indicating the availability of various functions by
      user role. This is easier to understand and
      reference than multiple lists of conditions
     Specification by example is also a useful
      technique for understanding and documenting
      complex rules
Technical Practices
Clean Code
 Projects  do not start with a big design plan in Scrum
 This means code must be designed with future
  refactoring in mind:
     Object oriented design
     Small classes and methods – the single responsibility
      principle (SRP)
     Meaningful names – self-documenting code
     Automated tests – gives you confidence to make changes
      without fear of breaking downstream dependencies
New Practices for SOMIS
 We are just starting to explore the technical practices
  recommended for use with scrum
 Object oriented design
       Several of our projects use OOD extensively, but we don't have a
        common set of practices yet
   Test driven development
       One team so far has experimented with TDD
       I have found it to be a powerful technique
   Pair programming
       One team has also experimented with this
       Studies indicate the quality improvements far outweigh the time
        spent by two people working on the same task

Más contenido relacionado

La actualidad más candente

A Brief Introduction to the SCRUM Agile Methodology
A Brief Introduction to the SCRUM Agile MethodologyA Brief Introduction to the SCRUM Agile Methodology
A Brief Introduction to the SCRUM Agile Methodology
Taha Kass-Hout, MD, MS
 
Dot+Net+2010+Features
Dot+Net+2010+FeaturesDot+Net+2010+Features
Dot+Net+2010+Features
gurbaxrawat
 
LKIN2018: leveraging Lean and Kanban to implement continuous improvement
LKIN2018: leveraging Lean and Kanban to implement continuous improvementLKIN2018: leveraging Lean and Kanban to implement continuous improvement
LKIN2018: leveraging Lean and Kanban to implement continuous improvement
Ravi Tadwalkar
 

La actualidad más candente (20)

Managing Iterative Development Using Scrum
Managing Iterative Development Using ScrumManaging Iterative Development Using Scrum
Managing Iterative Development Using Scrum
 
A Brief Introduction to the SCRUM Agile Methodology
A Brief Introduction to the SCRUM Agile MethodologyA Brief Introduction to the SCRUM Agile Methodology
A Brief Introduction to the SCRUM Agile Methodology
 
Agile product development
Agile product developmentAgile product development
Agile product development
 
Kin2020- flow based product development- an experience report
Kin2020-  flow based product development- an experience reportKin2020-  flow based product development- an experience report
Kin2020- flow based product development- an experience report
 
Rotten Scrum
Rotten ScrumRotten Scrum
Rotten Scrum
 
Dot+Net+2010+Features
Dot+Net+2010+FeaturesDot+Net+2010+Features
Dot+Net+2010+Features
 
Agile
AgileAgile
Agile
 
Introduction To Scrum
Introduction To ScrumIntroduction To Scrum
Introduction To Scrum
 
Agile Software Development Methodologies
Agile Software Development MethodologiesAgile Software Development Methodologies
Agile Software Development Methodologies
 
PMI and Scrum - bridging the gap
PMI and Scrum - bridging the gapPMI and Scrum - bridging the gap
PMI and Scrum - bridging the gap
 
Agile Project Management with Scrum PDF
Agile Project Management with Scrum PDFAgile Project Management with Scrum PDF
Agile Project Management with Scrum PDF
 
Scrum in 15 Minutes
Scrum in 15 MinutesScrum in 15 Minutes
Scrum in 15 Minutes
 
LKIN2018: leveraging Lean and Kanban to implement continuous improvement
LKIN2018: leveraging Lean and Kanban to implement continuous improvementLKIN2018: leveraging Lean and Kanban to implement continuous improvement
LKIN2018: leveraging Lean and Kanban to implement continuous improvement
 
Scrum Indonesian Banks
Scrum Indonesian BanksScrum Indonesian Banks
Scrum Indonesian Banks
 
The Scrum Model
The Scrum ModelThe Scrum Model
The Scrum Model
 
Intro to scrum webinar
Intro to scrum webinarIntro to scrum webinar
Intro to scrum webinar
 
Introduction to agile
Introduction to agileIntroduction to agile
Introduction to agile
 
Agile intro module 4
Agile intro   module 4Agile intro   module 4
Agile intro module 4
 
Offshore Agile Challenges
Offshore Agile ChallengesOffshore Agile Challenges
Offshore Agile Challenges
 
Exec Leadership workshop
Exec Leadership workshopExec Leadership workshop
Exec Leadership workshop
 

Destacado (6)

Clean code for WordPress
Clean code for WordPressClean code for WordPress
Clean code for WordPress
 
ACTIVITAT DE DINÀMICA DE GRUPS
ACTIVITAT DE DINÀMICA DE GRUPSACTIVITAT DE DINÀMICA DE GRUPS
ACTIVITAT DE DINÀMICA DE GRUPS
 
Quicksilver+Roxy brief
Quicksilver+Roxy briefQuicksilver+Roxy brief
Quicksilver+Roxy brief
 
Project Management Lessons to Manage Uncertainties India
Project Management Lessons to Manage Uncertainties IndiaProject Management Lessons to Manage Uncertainties India
Project Management Lessons to Manage Uncertainties India
 
People Management
People Management People Management
People Management
 
Reckon Conf2015 (AU / NZ) Reckon One deep dive getting started with core
Reckon Conf2015 (AU / NZ) Reckon One deep dive getting started with coreReckon Conf2015 (AU / NZ) Reckon One deep dive getting started with core
Reckon Conf2015 (AU / NZ) Reckon One deep dive getting started with core
 

Similar a Why Scrum Why Now

Agile Methodologies in SAP
Agile Methodologies in SAPAgile Methodologies in SAP
Agile Methodologies in SAP
Gaurav Ahluwalia
 
Selecting a Development Process
Selecting a Development ProcessSelecting a Development Process
Selecting a Development Process
Mike Cohn
 
Choosing the right agile approach for your organization
Choosing the right agile approach for your organizationChoosing the right agile approach for your organization
Choosing the right agile approach for your organization
InCycle Software
 
Agile Scrum - Overview
Agile Scrum - OverviewAgile Scrum - Overview
Agile Scrum - Overview
Madan Upadhyay
 
Agile & SCRUM
Agile & SCRUMAgile & SCRUM
Agile & SCRUM
ejlp12
 
Presentation by Rajesh Kumar Mudiakal
Presentation by Rajesh Kumar MudiakalPresentation by Rajesh Kumar Mudiakal
Presentation by Rajesh Kumar Mudiakal
PMI_IREP_TP
 

Similar a Why Scrum Why Now (20)

Scrum Framework in Agile
Scrum Framework in AgileScrum Framework in Agile
Scrum Framework in Agile
 
Azure dev ops
Azure dev opsAzure dev ops
Azure dev ops
 
software-dev-life.pptx
software-dev-life.pptxsoftware-dev-life.pptx
software-dev-life.pptx
 
Introduction to Agile & scrum
Introduction to Agile & scrumIntroduction to Agile & scrum
Introduction to Agile & scrum
 
Agile Methodologies in SAP
Agile Methodologies in SAPAgile Methodologies in SAP
Agile Methodologies in SAP
 
Scrum overview
Scrum overviewScrum overview
Scrum overview
 
Agile Development with Scrum.pptx
Agile Development with Scrum.pptxAgile Development with Scrum.pptx
Agile Development with Scrum.pptx
 
Agile Scrum Methodology
Agile Scrum MethodologyAgile Scrum Methodology
Agile Scrum Methodology
 
Agile
Agile Agile
Agile
 
Agile - Scrum Presentation
Agile - Scrum PresentationAgile - Scrum Presentation
Agile - Scrum Presentation
 
Selecting a Development Process
Selecting a Development ProcessSelecting a Development Process
Selecting a Development Process
 
Choosing the right agile approach for your organization
Choosing the right agile approach for your organizationChoosing the right agile approach for your organization
Choosing the right agile approach for your organization
 
Metodologia scrum actualizada qa
Metodologia scrum actualizada qaMetodologia scrum actualizada qa
Metodologia scrum actualizada qa
 
Agile Scrum Quick Reference Card
Agile Scrum Quick Reference CardAgile Scrum Quick Reference Card
Agile Scrum Quick Reference Card
 
Agile Scrum - Overview
Agile Scrum - OverviewAgile Scrum - Overview
Agile Scrum - Overview
 
Agile & SCRUM
Agile & SCRUMAgile & SCRUM
Agile & SCRUM
 
Feb Apln OC Shawna C
Feb Apln OC  Shawna CFeb Apln OC  Shawna C
Feb Apln OC Shawna C
 
Presentation by Rajesh Kumar Mudiakal
Presentation by Rajesh Kumar MudiakalPresentation by Rajesh Kumar Mudiakal
Presentation by Rajesh Kumar Mudiakal
 
How Does IBM Do Agile
How Does IBM Do AgileHow Does IBM Do Agile
How Does IBM Do Agile
 
Agile and UX, July 8 - Scrum Club, Los Angeles, CA
Agile and UX, July 8 - Scrum Club, Los Angeles, CAAgile and UX, July 8 - Scrum Club, Los Angeles, CA
Agile and UX, July 8 - Scrum Club, Los Angeles, CA
 

Más de mtoppa

WordCamp Nashville 2015: Agile Contracts for WordPress Consultants
WordCamp Nashville 2015: Agile Contracts for WordPress ConsultantsWordCamp Nashville 2015: Agile Contracts for WordPress Consultants
WordCamp Nashville 2015: Agile Contracts for WordPress Consultants
mtoppa
 

Más de mtoppa (20)

RubyConf 2022 - From beginner to expert, and back again
RubyConf 2022 - From beginner to expert, and back againRubyConf 2022 - From beginner to expert, and back again
RubyConf 2022 - From beginner to expert, and back again
 
RailsConf 2022 - Upgrading Rails: The Dual Boot Way
RailsConf 2022 - Upgrading Rails: The Dual Boot WayRailsConf 2022 - Upgrading Rails: The Dual Boot Way
RailsConf 2022 - Upgrading Rails: The Dual Boot Way
 
Applying Omotenashi (Japanese customer service) to your work
Applying Omotenashi (Japanese customer service) to your workApplying Omotenashi (Japanese customer service) to your work
Applying Omotenashi (Japanese customer service) to your work
 
Talking to strangers causes train wrecks
Talking to strangers causes train wrecksTalking to strangers causes train wrecks
Talking to strangers causes train wrecks
 
A11Y? I18N? L10N? UTF8? WTF? Understanding the connections between: accessib...
A11Y? I18N? L10N? UTF8? WTF? Understanding the connections between:  accessib...A11Y? I18N? L10N? UTF8? WTF? Understanding the connections between:  accessib...
A11Y? I18N? L10N? UTF8? WTF? Understanding the connections between: accessib...
 
The promise and peril of Agile and Lean practices
The promise and peril of Agile and Lean practicesThe promise and peril of Agile and Lean practices
The promise and peril of Agile and Lean practices
 
Why do planes crash? Lessons for junior and senior developers
Why do planes crash? Lessons for junior and senior developersWhy do planes crash? Lessons for junior and senior developers
Why do planes crash? Lessons for junior and senior developers
 
Boston Ruby Meetup: The promise and peril of Agile and Lean practices
Boston Ruby Meetup: The promise and peril of Agile and Lean practicesBoston Ruby Meetup: The promise and peril of Agile and Lean practices
Boston Ruby Meetup: The promise and peril of Agile and Lean practices
 
A real-life overview of Agile and Scrum
A real-life overview of Agile and ScrumA real-life overview of Agile and Scrum
A real-life overview of Agile and Scrum
 
WordCamp Nashville 2016: The promise and peril of Agile and Lean practices
WordCamp Nashville 2016: The promise and peril of Agile and Lean practicesWordCamp Nashville 2016: The promise and peril of Agile and Lean practices
WordCamp Nashville 2016: The promise and peril of Agile and Lean practices
 
WordCamp US: Clean Code
WordCamp US: Clean CodeWordCamp US: Clean Code
WordCamp US: Clean Code
 
Dependency Injection for PHP
Dependency Injection for PHPDependency Injection for PHP
Dependency Injection for PHP
 
WordCamp Boston 2015: Agile Contracts for WordPress Consultants
WordCamp Boston 2015: Agile Contracts for WordPress ConsultantsWordCamp Boston 2015: Agile Contracts for WordPress Consultants
WordCamp Boston 2015: Agile Contracts for WordPress Consultants
 
WordCamp Nashville 2015: Agile Contracts for WordPress Consultants
WordCamp Nashville 2015: Agile Contracts for WordPress ConsultantsWordCamp Nashville 2015: Agile Contracts for WordPress Consultants
WordCamp Nashville 2015: Agile Contracts for WordPress Consultants
 
Rails testing: factories or fixtures?
Rails testing: factories or fixtures?Rails testing: factories or fixtures?
Rails testing: factories or fixtures?
 
WordCamp Lancaster 2014: A11Y? I18N? L10N? UTF8? WTF?
WordCamp Lancaster 2014: A11Y? I18N? L10N? UTF8? WTF?WordCamp Lancaster 2014: A11Y? I18N? L10N? UTF8? WTF?
WordCamp Lancaster 2014: A11Y? I18N? L10N? UTF8? WTF?
 
WordCamp Nashville: Clean Code for WordPress
WordCamp Nashville: Clean Code for WordPressWordCamp Nashville: Clean Code for WordPress
WordCamp Nashville: Clean Code for WordPress
 
A real-life overview of Agile workflow practices
A real-life overview of Agile workflow practicesA real-life overview of Agile workflow practices
A real-life overview of Agile workflow practices
 
Why Agile? Why Now?
Why Agile? Why Now?Why Agile? Why Now?
Why Agile? Why Now?
 
Object Oriented Programming for WordPress Plugin Development
Object Oriented Programming for WordPress Plugin DevelopmentObject Oriented Programming for WordPress Plugin Development
Object Oriented Programming for WordPress Plugin Development
 

Último

IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
Enterprise Knowledge
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
vu2urc
 

Último (20)

Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Evaluating the top large language models.pdf
Evaluating the top large language models.pdfEvaluating the top large language models.pdf
Evaluating the top large language models.pdf
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 

Why Scrum Why Now

  • 1. Scrum at SOMIS Michael Toppa University of Pennsylvania School of Medicine Information Services November 2, 2010
  • 2. Overview  The SOMIS Web Applications Group  our staff – our teams – our challenge 3 different approaches to software development  waterfall - no formal process - agile  Scrum  3 roles - 3 artifacts - 3 meetings  Requirements  user stories – epics - conditions of satisfaction  Planning and Estimating  release planning – estimating - velocity - sprint planning  Technical practices  OOD - TDD – refactoring – pair programming
  • 3. Web Group: Old Setup PM Design PM Admissions BGS Registrar Designer Designer ITMAT Designer FAPD FAPD PM ITMAT OHR Genetics DSS Other
  • 4. Problems with the old setup  Each programmer worked in a “silo”  Inadequate sharing of skills and knowledge  Not enough common solutions to common problems  Support problems if someone is out or leaves  Difficult to swarm on a big project  Difficult to find support for clients we work with only occasionally  Unclear responsibilities for project managers  Often difficult to plan
  • 5. Web Group: New Setup Admissions, BGS, Registrar, Others FAPD, Genetics, DSS, Others SM PO SM PO ITMAT, OHR, Vice Dean of Research, Others Design Team: ITMAT, Others SM PO SM PO
  • 6. Our Current Challenges  Getting better at doing Scrum  Getting more staff – we especially need another Product Owner  Getting our backlog under control  Currently supporting and developing 109 applications for 22 different clients  That does not include the design team, which supports roughly 200 static web sites  Our recent planning effort indicates we would need to triple our staff to do the work our clients desire over the next six months  We're working on establishing an Advisory Board to help us prioritize our work
  • 7. 3 Approaches to Software Development  Waterfall – focus on “anticipation”  Highly detailed, big plans  No formal process – focus on “adaption”  Every day is an adventure  Agile – balance anticipation and adaption  Has a formal process, but is geared towards adapting to change
  • 8. Waterfall  Traditionalsoftware development models are based upon a defined methodology which attempts to:  Define all requirements up front  Logically break down the work  Estimate the effort / durations  Plan out all the work  And only then begin the development…while trying to limit/control any change that will threaten the plan. “Waterfall” Development Methodology Document System Concept l tia System Requirements Architectural Design u en eq Detailed Design Code, Debug, Unit Test System Test S Deploy & Operate
  • 9. Waterfall: Results  Accordingto industry surveys, the waterfall model results in overproduction of features:  Almost half of all features are never used  One-fifth of features are rarely used  Business value is not delivered reliably:  One-fifth of all projects are considered failures by their clients  Half of all projects are considered ”challenged”
  • 10. The Agile Alternative Waterfall Agile The Plan creates The Vision creates cost/schedule estimates feature estimates Constraints Features Cost Schedule Value / Vision Driven Plan Driven Estimates Cost Schedule Features Source: Michelle Sliger in “Relating PMBOK Practices to Agile Practices”
  • 11. The Agile Umbrella AGILE Crystal XP DSDM Scrum Lean FDD
  • 12. Scrum Is... 3 Roles  3 Artifacts  3 Meetings  That's it!  But there are also several best practices commonly used with Scrum, for requirements gathering and for writing code
  • 13. Roles: The Product Owner  Manages the relationship with the clients  Gathers and writes up business requirements  Sets the priorities for the team  Responsible for what the team will work on, but not how the work is done:  Does not have authority over technical design decisions  Cannot tell an individual team member what to do A good Product Owner is: available, business- savvy, communicative, decisive, empowered
  • 14. Roles: The Scrum Master A “servant-leader” for the team  Analogous to a physical trainer: can set goals and provide encouragement, but cannot specifically tell you what to do  But does have authority over the Scrum process  For example, if daily scrums are getting long and unproductive, the Scrum Master can limit the scope of conversation and control the length of the meeting  Removes obstacles for the team, such as:  Helping a product owner to improve poorly defined requirements  Helping to solve technical problems A good Scrum Master is: responsible, humble, collaborative, committed, influential, and knowledgeable
  • 15. Roles: The Team  The team takes collective responsibility for doing the work, and doing it in priority order  This means more interaction with co-workers than some programmers are used to  It can also mean more interaction with clients  Team members can still have a technical specialty (e.g. database design), or a project specialty, but will often need to do work outside their specialties
  • 16. Artifacts: Product Backlogs  Every project has a set of desired features  The “backlog” for the project is where the features are listed in priority order  The priorities are determined by the clients' business needs  But negotiation is allowed for reasons of technical efficiency  The Product Owner is responsible for the Product Backlog  Each of our clients has a number of projects  Each of our teams support a number of clients
  • 17. A Team's Product Backlog Project Project Project Project Project Project Backlog Backlog Backlog Backlog Backlog Backlog Client Backlog Client Backlog Client Backlog Team Backlog
  • 18. DEEP  Product Backlogs should be:  Detailed appropriately  Estimated  Emergent  Prioritized
  • 19. Artifacts: The Sprint Backlog A sprint is a repeating time interval – we start a new sprint every 2 weeks  At the start of each sprint, the team estimates the top priority items in their product backlog, to determine how many they think they can finish in the sprint  The product backlog items the team feels they can commit to finishing are put in the sprint backlog  Any unfinished items from one sprint roll over to the next sprint  Because we work in priority order, any unfinished work is the least important work
  • 20. Artifacts: Burndown Charts A burndown chart provides a high-level snapshot of the team's progress during a sprint  The Y axis indicates the work remaining to do  Work is estimated at the start of the sprint  The X axis shows the days remaining in the sprint
  • 21. Start Date: 5/24 Research Billing - Sprint 2  Percent Effort Still To Go Burndown Chart End Date: 6/4 User Stories: 20 Estimated Hours: 81 100 90 5/25 80 5/28 70 60 50 6/2 40 30 20 6/4 10 0 0 1 2 3 4 5 6 7 8 9 Days Percent Ideal Line
  • 22. Scrum Meetings  Release Planning  Team estimates new product backlog items  Held as needed  Run by the Product Owner  Sprint Planning  First day of sprint  Decide on work for the sprint  Run by the Scrum Master  Daily Scrum  Daily check-in meeting: 15 minutes maximum  Run by the Scrum Master  What did you do yesterday?  What are you doing today?  Do you need help with anything?
  • 23. Scrum Meetings  Sprint Review  Product Owner reviews finished work  Held at the end of the sprint  Run by the Scrum Master  Sprint Retrospective  Held at the end of the sprint  Team review - highlight what went well, what didn't, discuss goals for next sprint  Run by the Scrum Master  Product Owner typically not included  Scrum of Scrums  Retrospective for all teams together  Held as desired
  • 24. SOMIS Sprint Compromises  Scrum calls for focus on a single project  Our sprints typically entail work on a few projects, as we simply have too many  Scrumcalls for not making any changes to the work planned in a sprint  We stick to our planned work, but we reserve time in each sprint for unplanned work and urgent bugs  For many of our clients we are involved in day-to-day operational support needs  We will work towards reducing unplanned work – it is a big culture change for us and our clients
  • 27. Requirements Gathering  In Scrum, we don't define a complete, highly detailed plan at the start of a project. Why?  Time is scarce  Don't treat all requirements as equal  Do priority features first  Learn the details about a requirement as it gets closer to the time you'll work on it  Things will change  New requirements will emerge as the project progresses  Others may fall away
  • 28. User Stories  Requirements are gathered in the form of User Stories  As a [role] I want to [do something] so that [goal]  Provides a quick understanding of who, what, and why  “As a theater patron, I want to reserve a ticket online, so I am sure I can go to the play.”
  • 29. Gathering User Stories  Often a good way to start is with a low fidelity visual prototype of the application flow  Using a white board is good for this  A Product Owner's responsibility, but the team can help  Provides a basis for deriving user stories  Makes it easier to understand how the user stories will fit together to shape the overall user experience
  • 32. Good stories: INVEST  Independent  Negotiable  Valuable to users or customers  Estimatable  Small  Testable
  • 33. Conditions of Satisfaction  By the time the story is ready to be coded, all the details need to be added, in the form of high level acceptance tests (conditions of satisfaction)  The tests let the developers know how to measure when they are done, and they facilitate estimating  They can be added as they are discovered (over the course of planning meetings with product owners, even while developers are estimating)
  • 34. Example Conditions of Satisfaction  As a theater patron, I want to reserve a ticket online, so I am sure I can go to the play.  Conditions of Satisfaction  Customer can choose from seats not already reserved  Customer can pay with a valid Visa, MasterCard, or American Express  Customer will receive an email notification summarizing the reservation
  • 35. Epics  Epics are very large stories for work that will be done further in the future  They will need to be broken down into multiple user stories before they can be worked on  “As a job seeker, I want to post my resume online, so potential employers can find me”  Useful for initial scoping of the features areas in a large project
  • 37. Release Planning  In release planning meetings, the team reviews new stories  After the team has a general understanding of a story, they estimate the size of the work involved  Estimating is done in story points
  • 40. Velocity  The story points completed in a sprint is the team's velocity for that sprint  The goal is to measure how quickly a team moves through the product backlog, so we can plan  A team's historical record can be used to determine the likely range of future velocities  Important not to use one team's velocity to predict the velocity of other teams, especially early on  Perspectives on story point numbers may vary  Different teams may have different tempos
  • 41. Using Velocity to Predict
  • 42. Going from Stories to Tasks  When it’s time for the team to estimate stories for a sprint, break the story down into tasks  Estimate the work in hours at this point, not story points  We can do away with time estimates once we establish a velocity for the team  The next slide is a task breakdown for the story:  “A user can search for a hotel on various fields…”
  • 43. Example of Tasks for a Story
  • 44. Putting It All Together
  • 45. When you need something more…  It’sperfectly fine to supplement conditions of satisfaction with other documents:  The Research Billing project has a spreadsheet indicating the availability of various functions by user role. This is easier to understand and reference than multiple lists of conditions  Specification by example is also a useful technique for understanding and documenting complex rules
  • 47. Clean Code  Projects do not start with a big design plan in Scrum  This means code must be designed with future refactoring in mind:  Object oriented design  Small classes and methods – the single responsibility principle (SRP)  Meaningful names – self-documenting code  Automated tests – gives you confidence to make changes without fear of breaking downstream dependencies
  • 48. New Practices for SOMIS  We are just starting to explore the technical practices recommended for use with scrum  Object oriented design  Several of our projects use OOD extensively, but we don't have a common set of practices yet  Test driven development  One team so far has experimented with TDD  I have found it to be a powerful technique  Pair programming  One team has also experimented with this  Studies indicate the quality improvements far outweigh the time spent by two people working on the same task

Notas del editor

  1. Old projects are like geological layers. They build up over time, and always require some degree of ongoing maintenance and feature enhancements. New projects are continuously piled on top, but our staffing does not increase. Eventually we will reach a point of unsustainability, unless we find a way to increase our productivity.
  2. Typically for our projects, resources are fixed, scope often changes, and deadlines are sometimes flexible. With Scrum, deadlines and resources are fixed, and scope is what shifts. Priority features are worked on first in a sprint, and developed to be fully functional. If the work was underestimated, then lower priority features are skipped, and roll over to the next sprint. The point is that we are always delivering fully functional features on a regular schedule, and priority features are done first.