• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Keynote meettheexperts@codecentric Ken Schwaber
 

Keynote meettheexperts@codecentric Ken Schwaber

on

  • 1,452 views

A presentation by Ken Schwaber (@kwschaber) at the meettheexperts@codecentric event in Solingen, Germany on June, 18th.

A presentation by Ken Schwaber (@kwschaber) at the meettheexperts@codecentric event in Solingen, Germany on June, 18th.

Statistics

Views

Total Views
1,452
Views on SlideShare
1,425
Embed Views
27

Actions

Likes
0
Downloads
25
Comments
0

2 Embeds 27

http://blog.codecentric.de 25
https://blog.codecentric.de 2

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Keynote meettheexperts@codecentric Ken Schwaber Keynote meettheexperts@codecentric Ken Schwaber Presentation Transcript

    • 1 State of Scrum Ken.schwaber@scrum.org Copyright 1993-2010, ADM, All Rights Reserved v1.4
    • 2 ROI of Software Products Traditional software accounting only takes the cost of development into account. A more balanced method would take the long term costs and value of the product into account. We should also take into account the impact of short term decisions on long term ROI Copyright 1993-2010, ADM, All Rights Reserved v1.4
    • 3 Product ROI over the life of a product is dependent on the variables: 1. Presence of valuable functionality for customers to use; 2. Absence of low value functionality that must be maintained and sustained regardless; 3. Quality code base to predictably maintain and sustain; 4. Quality code base to enhance without undue effort or risk; 5. Ability to catch defects early and no later than at release; 6. Predictability of schedules; 7. Lack of surprises; and, 8. People and resources available to work on it. Copyright 1993-2010, ADM, All Rights Reserved v1.4
    • Quality from a Developer Point of View 4 1. I can readily understand the software and where and how things happen; 2. When I change or add to part of the software, there are no unintended or poorly designed dependencies; 3. I can read the code without looking for tricks or poorly defined and labelled variables or data; 4. I don!t need the person(s) that wrote the code to explain it to me; 5. There are a full set of (automated) tests to check that the function works as expected; 6. When I change something and add to the tests, I can check that the entire change and product continues to work; 7. How things work and hang together is tranparent; and, 8. Standard, well-known design principles have been adhered to. Copyright 1993-2010, ADM, All Rights Reserved v1.4
    • Green Field Software - A Great Starting Point 5 Product Backlog Velocity (done work over time) (work) Time Copyright 1993-2010, ADM, All Rights Reserved v1.4
    • Exercise : Five Minutes 6 with Three People Near You The Situation: The Assignment: • You are a developer at xyz.co, building • What work would you have to do to advanced life-critical products. turn the requirements into a “done” • Your Scrum team is one of seven teams increment? working on a new release of one of the • If you were developing a “done”, products. potentially shippable increment, • Your team is going to select requirements what would your definition of “done” (product backlog) to turn into something that be? Would it include, for example, is done (no more work remains, potentially refactoring? What else? shippable) within a two-week iteration. • Each team has all the skills to fully develop the requirements into a “done increment.” Copyright 1993-2010, ADM, All Rights Reserved v1.4
    • Next Exercise : Five Minutes 7 with Three People Near You Did your definition of “done” include the following? If not, why not? • Performance testing • Stability testing • Refactoring • Immunological response testing • Integration with the work of the other six teams • Integration testing with the work of the other six teams so the increment is the totality of all seven teams • Release notes • Internationalization to the six cultures where the product will be sold • User acceptance testing • Regression testing • Code reviews Copyright 1993-2010, ADM, All Rights Reserved v1.4
    • Stabilization is when you do all the “undone” work 8 Scrum Project with complete, itegrated “done” P P D P D P D P D P D S Scrum project with incomplete or variable “done” S P P D P D P D P D Undone Undone Undone Undone Planning P Development D Stabilization S Copyright 1993-2010, ADM, All Rights Reserved v1.4
    • Plan... 9 Sprints, 3 release candidates and then release. 800 person development organization. 9 P D P D P D RC P D P D P D RC P D P D P D RC Release Actual ... the release candidates were presentation of partially working functionality from the code branch for each team. A five+ month stabilization was required prior to release. “Inadequate performance” was a bug logged in the first Sprint. P D P D P D RC P D P D P D RC P D P D P D RC Stabilization Release Copyright 1993-2010, ADM, All Rights Reserved v1.4
    • 10 Planned Release Date Release 1 Defects in Release Release 2 Time • 120 people, 18 Scrum teams • Release 1 : Each team produced “done” increments each Sprint, but they were not integrated or integration tested until “code complete.” • Release 2: All teams produced an increment of integrated, integration tested code every Sprint. Copyright 1993-2010, ADM, All Rights Reserved v1.4
    • Consequences of low value software to developers 11 Core Functionality Core Functionality Most significant new functionality builds on it; Also called infrastructure and legacy Product software; Backlog New Functionality Is fragile, doesn!t have complete test harnesses, and few people still know how to or are willing to touch it; and, Requires more time to work on; velocity working on it is less than new work. Time Copyright 1993-2010, ADM, All Rights Reserved v1.4
    • Where does core functionality come from? Is it bought from a malicious competitor? 12 Release 1 Product Backlog Undone Done Velocity Velocity Release 2 = 36 = 18 Product Time Backlog Undone Done Velocity Velocity = 30 = 14 Time Copyright 1993-2010, ADM, All Rights Reserved v1.4
    • Or, do we built it ourselves?? 13 Release 3 Product Undone Backlog Velocity Release 8 = 22 Done Velocity =8 Time 5 6 7 Copyright 1993-2010, ADM, All Rights Reserved v1.4
    • 14 Velocity in Core What are the smells a dying piece of software? What are the consequences to the New Requirements Capability organization? 2000 1500 Requirements 1000 500 0 1 2 3 4 5 6 Year Copyright 1993-2010, ADM, All Rights Reserved v1.4
    • Exercise - your CEO comes to your development group. She tells you 15 it is mandatory to deliver three new pieces of functionality within three Sprints. Otherwise, competitors will decimate the company. Planned work consists of: 1. Function 1: 20 units of work, 15 new, 5 core 2. Function 2: 40 units of work, 25 new, 15 core 3. Function 3: 30 units of work, 20 new, 10 core • Velocity for new functionality is 15 units of work per Sprint per team. • Velocity for core functionality is 5 units of work per Sprint total. You need a release with all three functions in three months. Can do you do? Can you save the company? Copyright 1993-2010, ADM, All Rights Reserved v1.4
    • The Scrum Framework is lightweight 13 16 and full of holes Copyright 1993-2010, ADM, All Rights Reserved v1.4 Copyright 2010, Scrum.org, All Rights Reserved
    • Martin Fowler Calls Scrum “Flaccid” 14 17 “There's a mess I've heard about with quite a few projects recently. It works out like this: • They want to use an agile process, and pick Scrum • They adopt the Scrum practices, and maybe even the principles • After a while progress is slow because the code base is a mess What's happened is (people using Scrum) haven't paid enough attention to the internal quality of their software (…) I've mentioned Scrum because when we see this problem, Scrum seems to be particularly common as the nominative process the team is following (…) because Scrum is process that's centered on project management techniques and deliberately omits any technical practices. I'm sure that the many Flaccid Scrum projects being run will harm Scrum's reputation, and probably the broader agile reputation as well.” – Martin Fowler, January 2009 Source: http://martinfowler.com/bliki/FlaccidScrum.html Copyright 1993-2010, ADM, All Rights Reserved v1.4
    • 18 “BY EARLY 2009, … MORE ORGANIZATIONS WERE USING AGILE PROCESSES THAN WATERFALL PROCESSES … HOWEVER, LESS THAN 50% OF THOSE USING SCRUM WERE DEVELOPING IN INCREMENTAL ITERATIONS, WHICH ARE THE HEARTBEAT OF SCRUM. … ONE OF THE BIGGEST CHALLENGES OF USING SCRUM HAS ALWAYS BEEN THE STEEP LEARNING CURVE FOR THE DEVELOPERS ON THE SCRUM TEAM.” -- JEFF SUTHERLAND, KEN SCHWABER, MARCH 2010 Copyright 1993-2010, ADM, All Rights Reserved v1.4
    • 19 Copyright 1993-2010, ADM, All Rights Reserved v1.3 Copyright 1993-2010, ADM, All Rights Reserved v1.4
    • 20 Mother-In-Law The person who knew that her son/daughter could have married better, and who intends to help you be good enough. You have just invited her to come live with you. 12/10/08 Copyright Copyright 1993-2010, ADM, All Rights Reserved v1.3 2008-2009 ScrumAlliance, All Rights Reserved v1.1
    • 21 However, When they use Scrum, they run into ScrumButs. ScrumButs are reasons why they can!t take full advantage of Scrum to solve the problems and realize the benefits. A ScrumBut has a particular syntax: (ScrumBut) (Reason)(Workaround) An example ScrumBut is: “We use Scrum, but (The Daily Scrum meetings are too much overhead) (because the team members don!t need to meet so often) (so we only have them once a week, unless we need them more often)” Copyright 1993-2010, ADM, All Rights Reserved v1.3
    • 22 Or, Scrum-Ban (Ban Scrum) 1. Iterations not required ... continuous flow. 2. Interruptions as needed for new work. 3. Functional specialization with functional managers. 4.Managers design and define work; workers pull and do work. 5.Optimizes return on investment, not value. 6. Appropriate for manufacturing, complicated scenarios. 7. Fancy version of waterfall. 8. Used when Scrum is too hard to use. Copyright 1993-2010, ADM, All Rights Reserved v1.3
    • 17 23 Who, me?! Copyright 2010, Scrum.org, All Rights Reserved
    • What are you going to do about it? 24 “But I’m a “But I’m a developer, manager, not a not a manager!” developer!” Learn about Scrum Learn about Scrum Get hands-on Scrum Get your teams hands- training on Scrum training Measure your Measure their understanding understanding Pass it on Set a bar Copyright 2010, Scrum.org, All Rights Reserved
    • Improving the Profession of Software Development 19 25 The Purpose of Scrum.org Maintain Scrum O!er Training Assess Knowledge Create and Work with experts in maintain bodies of various technologies and O!er rigorous knowledge on fields to create a assessments to which to train and deliver courses allow people to assess people for that meet the evaluate their the betterment of needs of the software abilities so software development they are able development. profession. to improve. Continuously monitor quality. Copyright 2010, Scrum.org, All Rights Reserved
    • 26 Introducing the Professional Scrum Developer Program • An innovate program for developers " from Adrena, CodeCentric, Microsoft, Zuehlke, Pyxis, and the founders of Scrum • Including a training course, assessment, and certification • Visit Scrum.org (http://www.scrum.org)
    • 27 Questions? Copyright 1993-2010, ADM, All Rights Reserved v1.4