SlideShare ist ein Scribd-Unternehmen logo
1 von 79
Downloaden Sie, um offline zu lesen
Why Agile? Why Now?




                          Jorj Bauer <jorj@upenn.edu> @bozoskeleton
                          Mike Toppa <toppa@upenn.edu> @mtoppa
                           Wharton Web Conference – July 14, 2011
Thursday, July 14, 2011
Overview

            We’re going to talk through two perspectives on the
            adoption of Agile methodologies
                      What drove us
                      Why we approached Agile
                      How we approached adoption
                      Our perspective from where we are now



Thursday, July 14, 2011
First: who are we?




Thursday, July 14, 2011
Jorj Bauer

            Manager of Engineering, Research and Development
            for Penn/ISC
                 Professional software developer since 1994
                 Co-owner of DejaVu Software, Inc.
                 2004-2008: Director of Networking, Penn/SEAS
                 2008-present: Manager of ERD in Penn/ISC



Thursday, July 14, 2011
Jorj: The Past

            Most of my software development background has
            been ad-hoc, with little to no supporting infrastructure
            Goals and requirements have been very fluid, with small
            teams
                 ... until my current position




Thursday, July 14, 2011
Mike Toppa
            Director, Web Applications for Penn/SOMIS
            15 years of experience in web programming, IT project
            management, and functional management
                 Georgetown University; Stanford University;
                 University of Pennsylvania
                 E*Trade; Ask Jeeves
                 2 failed start-ups (Finexa, Kai’s Candy Co.)



Thursday, July 14, 2011
Mike: The Past



            None of the places I’ve worked followed any formal
            development methodology




Thursday, July 14, 2011
Mike: Becoming Director


                 My team was overwhelmed, but didn’t fully realize it
                 Like boiling frogs




Thursday, July 14, 2011
Mike: The Clients

          Clients come from across the School’s administrative,
          academic, and research organizations
          Hybrid funding model
          Clients were working directly with developers
               Usually no project managers
          Reactive planning



Thursday, July 14, 2011
Mike: The Projects


            A large number of projects
            Little to no documentation
            No one in a position to prioritize




Thursday, July 14, 2011
Mike: The Team

            Talented
            Independent
            Customer service oriented
            Focused on fast delivery




Thursday, July 14, 2011
Mike: The Dev Environment

            No specific development procedures
            An aging development framework
            No automated testing
            Non-critical bugs and missed requirements common
            Daily firefighting
            Difficulty planning



Thursday, July 14, 2011
Jorj’s challenges




Thursday, July 14, 2011
Jorj: The New Department

            In 2008, I became manager of 5 direct reports, in a
            department of ~30, full of dotted-lines and large
            projects
            Part of a reorganization of the department
            Two large projects-in-progress with campus-wide
            scope were instantly “mine”




Thursday, July 14, 2011
Jorj: The Projects
            Rapid shifting of priorities
            Large, with no distinct requirements
            Disconnect between technical requirements for a good
            service, level of effort to learn new services, and
            management expectations of level of effort required
            Everything is behind schedule
            A lot of fire-fighting related to the reorg as well as
            project management culture in the department


Thursday, July 14, 2011
Jorj: The Team


            Very talented and conscientious
            Not a lot of project focus; rapid shifting of priorities
            A lot of unrest due to uncertainty and perceived political
            stupidity




Thursday, July 14, 2011
Jorj: The Dev Environment
            Everyone For Themselves
                 Central RCS and CVS repositories, so some people
                 chose to set up their own SVN repos
                 No specific development procedures
                 No automated testing
                 Projects begin and take priority based on political
                 demand



Thursday, July 14, 2011
Jorj: The Biggest Challenge


            “Project Management” happened between developers
            and their direct management – no higher, and no wider
                 The culture of “how project management works” was
                 dysfunctional




Thursday, July 14, 2011
Prioritizing Challenges

            Both of us approached our situations similarly:


       1.Get a handle on existing and upcoming projects
       2.Improve predictability
       3.Improve quality




Thursday, July 14, 2011
Three Approaches...

            In software development, you’re looking at one of these
            three general approaches:
                 Ad-hoc (informal)
                 Waterfall (anticipation)
                 Agile (adaptation)




Thursday, July 14, 2011
Waterfall




Thursday, July 14, 2011
Waterfall: why so pervasive?

            “Nobody ever got fired for buying IBM”
                 Many people understand Waterfall
                 It seems sensible to wait for one thing to be
                 complete before working on the next
                 The customer gets a whole solution, all at once




Thursday, July 14, 2011
Waterfall: low success rates




                          http://www.ambysoft.com/surveys/
Thursday, July 14, 2011
Waterfall: why does it often fail?
            Customers never know what they want up front;
            requirements always change
            Customers and developers speak two different
            languages
            Progress reports are often wrong, or set up a false
            expectation
                 If I’m 100% done the first task of 4... am I 25% done
                 now?


Thursday, July 14, 2011
Ad-hoc

            Home grown workflows, if any
            Prioritization is arbitrary or politicized
            Often hard to do long term planning
            Success dependent on personalities and
            circumstances




Thursday, July 14, 2011
Agile
                 We are uncovering better ways of developing software by doing it
                 and helping others do it. Through this work we have come to value.

            Individuals and interactions over processes and tools
            Working software over comprehensive documentation
            Customer collaboration over contract negotiation
            Responding to change over following a plan
            That is, while there is value in the items on the right, we
            value the items on the left more.
                                                              ©2001 authors of The Agile Manifesto
                                                                      agilemanifesto.org

Thursday, July 14, 2011
Agile is incremental and iterative




                                Graphic by Jeff Patton



Thursday, July 14, 2011
Agile: “inspect and adapt”




Thursday, July 14, 2011
The Agile Umbrella

            “Agile” applies to a large swath of development
            methodologies, many of which overlap
                 Scrum; Kanban; Crystal; Extreme Programming (XP);
                 Lean...
            And their hybrids
                 Scrum-Ban; ADROIT; WetAgile/Agile Waterfall...


                                          Disclaimer: not all of these may be “good”
Thursday, July 14, 2011
Scrum: overview




                          Graphic by Skip Angel


Thursday, July 14, 2011
Slice vertically,
       not horizontally




Thursday, July 14, 2011
Thursday, July 14, 2011
Mike: Why Agile? Why Scrum?

            Maintain frequent interactions with clients
                 Provides quick feedback
                 Existing good relationships
            But have them take more ownership of their business
            process




Thursday, July 14, 2011
Mike: Why Agile? Why Scrum?

            Put structure around our work
                 Enable planning
                 Make commitments, and meet them
                 Reduce need for firefighting
            Reduce risk
                 Have more than one person know a project



Thursday, July 14, 2011
Mike: Why Agile? Why Scrum?

            Improve quality
                 Reduce misunderstandings
                 Reduce missed requirements
                 Have fewer bugs
                 Increase technical knowledge sharing




Thursday, July 14, 2011
Authority vs. Responsibility




                             Cartoon by Mike Lynch

                               Used with permission




Thursday, July 14, 2011
What makes a job enjoyable?

            Autonomy
            Reward for effort
            Challenging/complex work


            “Work that fulfills these three criteria is meaningful.”
                          – Malcolm Gladwell, “Outliers: The Story of Success”




Thursday, July 14, 2011
Scrum has 3 roles
            Product owner
                 Authority and responsibility for “what”
            Programming team
                 Authority and responsibility for “how”
            Scrum Master
                 Authority over the Scrum process
                 Responsibility for driving continuous improvement


Thursday, July 14, 2011
Scrum role: Product Owner


            Responsible for what the team will work on, but now
            how the work is done




Thursday, July 14, 2011
Scrum role: The Team



            Takes collective responsibility for doing the work




Thursday, July 14, 2011
Scrum role: Scrum Master



            A “servant-leader” for the team




Thursday, July 14, 2011
Agile Adoption Patterns



            Top-down vs. Bottom-up
            “All in” vs. incremental




Thursday, July 14, 2011
Mike: top-down

            Upper management: supportive
            Team: uncertain
                 They recognized certain problems
                 But learning and conforming to a process
                      feels like a loss of autonomy
                      and yet another thing that has to be done



Thursday, July 14, 2011
Mike: all-in

            Team learned core scrum concepts
            I explained the new process to clients
            A small team did a pilot project first
            Then the whole group switched




Thursday, July 14, 2011
Mike: initial transition

             It did not go very well
             Team not used to working together
             I misunderstood the roles
             I overemphasized doing only one project at a time
             Too many “scrum-buts”




Thursday, July 14, 2011
Mike: a visualization




                               Cartoon by Esther Derby

                                  Used with permission




Thursday, July 14, 2011
Mike: using scrum coaches

            I brought in coaches
            They provided good training
            Led candid discussion of problems
                 Most long pre-dated my introduction of scrum




Thursday, July 14, 2011
Should you use a coach?

            A skilled, external coach is often key for driving change
            If you haven’t done it before, it’s surprisingly easy to
            introduce Agile the wrong way
            You need at least enough management support to pay
            them
            You need to make sure you’re bringing in someone
            good



Thursday, July 14, 2011
But it’s still difficult

            “In my Scrum classes I warn attendees of what I call
            the Scrum Promise: If you adopt Scrum, there will be a
            day you come into the office nearly in tears over how
            hard the change can be. This is because Scrum
            doesn’t solve problems, it uncovers them and puts
            them in our face. Then, through hard work we address
            them.”
                 – Mike Cohn, Agile Trainer



Thursday, July 14, 2011
Jorj: Bottom-up, Incremental




Thursday, July 14, 2011
Jorj: Bottom-up, Incremental

            Ad-hoc
            The “Cloak of Confusion” surrounded project
            management; most staff couldn’t see the problems,
            just the symptoms
            The staff perceived control in their current
            methodology; nobody wants to give up control




Thursday, July 14, 2011
Why Incremental?

            Convincing staff to change their culture is hard
            Resources completely overcommitted
            It’s difficult to “sell” a change without having data on
            how it will work
            It’s impossible to show results for a system without
            using it




Thursday, July 14, 2011
NES’ Transition

            Phase 1: adopt formal project workflow
            Built a formal Iterative Waterfall process within the
            existing framework
                 A lot of resistance and much more project planning
                 but improved results for existing projects
                 Increased awareness around product ownership,
                 sources of delay, and available resources

                                                         Warning: this will not
                                                         make you new friends
Thursday, July 14, 2011
Incrementally Improving

            “Iterative Waterfall” is single-
            looped: allowed the team to
            abandon the waterfall process at
            many points (causing the project
            manager lots of additional work)
            Continue working on the process
            itself




Thursday, July 14, 2011
Showing Results

            This slowed everything down
            3-4x the project management work (for me)
            Allowed us to find and address deep-seated problems
            in workflow
            Yields an inventory of projects
                 Gave me the ability to say “No” to new work



Thursday, July 14, 2011
Stepping back a moment...




Thursday, July 14, 2011
Saying “No” Is Important

            If you take on an infinite number of projects, then your
            staff are constantly task-swapping (unless you have
            infinite staff)
            Context switching between two projects eats about
            20% of a full-time worker’s schedule
            Cutting back on the number of active projects is key to
            getting back lost productivity from a bottlenecked staff



Thursday, July 14, 2011
Danger Signs of Meetings

                                       Being unavailable, or arriving
            In the meeting but doing
                                       late, for regularly scheduled
            other work while present
                                                  meetings


             Suggesting radical
         departures from the current Never speaking in a meeting
          plan, at a stage that’s too   you attend regularly
                      late



Thursday, July 14, 2011
Reduce Meeting Complexity
            Agile methodologies adopt more frequent meetings
            (generally daily). Staff specifically talk about:
                      What I did yesterday
                      What I’m doing today
                      What I’m waiting for
            This is a more effective use of tech staff time
            (But meetings may be a band-aid for other problems)


Thursday, July 14, 2011
Time/Project Management

            Brooks’ Law
                 adding manpower to a late project will make it later
            Eliyahu Goldratt’s Theory of Constraints
                 Identify the bottlenecks and use them to predict and
                 control the workflow




Thursday, July 14, 2011
Thursday, July 14, 2011
Thursday, July 14, 2011
NES’ Turning Point

            Two services: one brings in 2/3 of your department’s
            budget, and one brings in almost nothing. How do you
            prioritize the work?

                 Answer: both have to be done as soon as possible.
                 Better answer: look at the costs, benefits, and staff
                 resources for both and be able to shelve one



Thursday, July 14, 2011
No Looking Back
            From here, big gains were made fairly quickly on teams
            that adopted these Agile practices:
                 Daily stand-ups; reduced queue sizes; more direct
                 interaction with people “outside” the team
                 Better results on a shorter timeline within 4 months
                 Managers discussing and inspecting the process
                 itself and its results, and are improving upon it
            Not Done Yet!


Thursday, July 14, 2011
Mike: taking inventory




Thursday, July 14, 2011
Mike: taking inventory

            9 developers, 2 product owners, and me supporting
                 22 clients with
                 124 applications
            3 designers and 1 product owner supporting
                 about 200 static content web sites




Thursday, July 14, 2011
Mike: our maintenance curve




Thursday, July 14, 2011
Mike: project commitments
       for first 6 months... oh crap




Thursday, July 14, 2011
Mike: the first 6 months

            Working through our over-commitment
            While learning a new way to work
            The continuous 2 week delivery cycle highlighted
            process weaknesses
            Staff changes




Thursday, July 14, 2011
Planning and estimating


            How did we come up with that chart?
            Agile requirements gathering
            Agile estimating techniques




Thursday, July 14, 2011
Requirements gathering

            Breaking down a project into feature areas
                 Epics
            Breaking down feature areas into individual features
                 User stories
            How do you know when you’re done?
                 Conditions of satisfaction



Thursday, July 14, 2011
Estimating: story points and
       planning poker




                              Photo by Kelly Hirano

                              Used with permission




Thursday, July 14, 2011
Velocity enables scheduling




Thursday, July 14, 2011
Mike: one year later
            We can plan and estimate better
            Our programmers work together
            Our next challenges
                 A project prioritization and intake process
                 Improving our technical practices




Thursday, July 14, 2011
Manifesto for Half-Arsed Agile
       Software Development
                   We have heard about new ways of developing software by
                   paying consultants and reading Gartner reports. Through
                               this we have been told to value:

                Individuals and interactions over processes and tools
                          and we have mandatory processes and tools to control how those
                                 individuals (we prefer the term ‘resources’) interact
                  Working software over comprehensive documentation
                              as long as that software is comprehensively documented
                    Customer collaboration over contract negotiation
           within the boundaries of strict contracts, of course, and subject to rigorous change control
                          Responding to change over following a plan
            provided a detailed plan is in place to respond to the change, and it is followed precisely

                              That is, while the items on the left sound nice
                          in theory, we’re an enterprise company, and there’s
                            no way we’re letting go of the items on the right.
                                http://www.halfarsedagilemanifesto.org/
Thursday, July 14, 2011
Technical practices:
       ridiculously brief overview
            “Specification by Example” by Gojko Adzic
            “Clean Code” and “Agile Software Development,
            Principles, Patterns, and Practices” by Bob Martin
            “Refactoring” by Martin Fowler
            “Agile Database Techniques” by Scott Ambler
            “Growing Object Oriented Software, Guided by Tests”
            by Steve Freeman and Nat Pryce



Thursday, July 14, 2011
Agile is relevant beyond
       software development
            “Angry Dinosaurs: Accelerating Change and
            Institutional Incompetence”
                 Cory Ondrejka, Wharton Web Conference, 2010
                 http://bit.ly/bY4E15
            “Let it Roll: Why more companies are abandoning
            budgets in favor of rolling forecasts”
                 CFO Magazine, May 1, 2011 http://bit.ly/k94Sfc



Thursday, July 14, 2011
Other References
            Eliyahu M. Goldratt, “The Goal” (Theory of Constraints)
            Fred Brooks, “The Mythical Man-Month”
            Gerald Weinberg, “Quality Software Management:
            Systems Thinking”
            “Convincing Management That Context Switching Is a
            Bad Idea”, Johanna Rothman http://
            www.jrothman.com/Papers/context-switching.html
            “In Praise of Bad Programmers” http://corvusintl.com/


Thursday, July 14, 2011
Any Questions?




                          Jorj Bauer <jorj@upenn.edu> @bozoskeleton
                          Mike Toppa <toppa@upenn.edu> @mtoppa
                           Wharton Web Conference – July 14, 2011
Thursday, July 14, 2011

Weitere ähnliche Inhalte

Andere mochten auch (11)

Agile Estimating & Planning
Agile Estimating & PlanningAgile Estimating & Planning
Agile Estimating & Planning
 
Why Agile is the NEXT big Thing
Why Agile is the NEXT big ThingWhy Agile is the NEXT big Thing
Why Agile is the NEXT big Thing
 
Why agile?
Why agile?Why agile?
Why agile?
 
Why agile
Why agileWhy agile
Why agile
 
Why agile
Why agileWhy agile
Why agile
 
why agile?
why agile?why agile?
why agile?
 
Agile for Law Firms
Agile for Law FirmsAgile for Law Firms
Agile for Law Firms
 
Why agile?
Why agile?Why agile?
Why agile?
 
Agile Manifesto Nedir
Agile Manifesto NedirAgile Manifesto Nedir
Agile Manifesto Nedir
 
Agile proje yönetimi
Agile proje yönetimiAgile proje yönetimi
Agile proje yönetimi
 
Agile vs Waterfall Project management
Agile vs Waterfall  Project management Agile vs Waterfall  Project management
Agile vs Waterfall Project management
 

Ähnlich wie Why Agile? Why Now?

Towards a Push-Button Release
Towards a Push-Button ReleaseTowards a Push-Button Release
Towards a Push-Button ReleaseChris Sterling
 
Agile Career Development from the trenches - XP 2013 Vienna
Agile Career Development from the trenches  -  XP 2013 ViennaAgile Career Development from the trenches  -  XP 2013 Vienna
Agile Career Development from the trenches - XP 2013 ViennaIonel Condor
 
Lean UX presentation (UXSG meetup #9)
Lean UX presentation (UXSG meetup #9)Lean UX presentation (UXSG meetup #9)
Lean UX presentation (UXSG meetup #9)UX Consulting Pte Ltd
 
Agile brazil 2011 individuals and interactions over processes and tools
Agile brazil 2011   individuals and interactions over processes and toolsAgile brazil 2011   individuals and interactions over processes and tools
Agile brazil 2011 individuals and interactions over processes and toolsDavid Paniz
 
"Lean software development: discovering waste" by Mary Poppendieck
"Lean software development: discovering waste" by Mary Poppendieck"Lean software development: discovering waste" by Mary Poppendieck
"Lean software development: discovering waste" by Mary PoppendieckOperae Partners
 
Lyon IAE B2B EIS Workshop Session Main Presentation Part 1
Lyon IAE B2B EIS Workshop Session Main Presentation Part 1 Lyon IAE B2B EIS Workshop Session Main Presentation Part 1
Lyon IAE B2B EIS Workshop Session Main Presentation Part 1 José PIETRI
 
The agile and lean mindset. Digital transformation conference, 21 May 2015
The agile and lean mindset. Digital transformation conference, 21 May 2015The agile and lean mindset. Digital transformation conference, 21 May 2015
The agile and lean mindset. Digital transformation conference, 21 May 2015CharityComms
 
Leading in the new workplace tbc
Leading in the new workplace tbcLeading in the new workplace tbc
Leading in the new workplace tbcMari Anne Snow
 
Business Benefits of Agile
Business Benefits of AgileBusiness Benefits of Agile
Business Benefits of AgileAlan Dayley
 
A Happy Marriage between Context-Driven and Agile
A Happy Marriage between Context-Driven and AgileA Happy Marriage between Context-Driven and Agile
A Happy Marriage between Context-Driven and AgileIlari Henrik Aegerter
 
Tom Vlasic: Virtual Teams and Technology
Tom Vlasic: Virtual Teams and TechnologyTom Vlasic: Virtual Teams and Technology
Tom Vlasic: Virtual Teams and TechnologyPMI SWOC
 
SCRUM Development Process
SCRUM Development ProcessSCRUM Development Process
SCRUM Development ProcessBahaa Farouk
 
The Marketing side of Agile: 10 Secrets for Success
The Marketing side of Agile: 10 Secrets for SuccessThe Marketing side of Agile: 10 Secrets for Success
The Marketing side of Agile: 10 Secrets for SuccessSVPMA
 
Prizes Summit
Prizes SummitPrizes Summit
Prizes Summit100%Open
 
Agile Talk at CSI Chapter, Mumbai
Agile Talk at CSI Chapter, MumbaiAgile Talk at CSI Chapter, Mumbai
Agile Talk at CSI Chapter, MumbaiHiren Doshi
 
Speed Your Apps Launch to Market: Learn Six Best Practices for DevOps
Speed Your Apps Launch to Market: Learn Six Best Practices for DevOpsSpeed Your Apps Launch to Market: Learn Six Best Practices for DevOps
Speed Your Apps Launch to Market: Learn Six Best Practices for DevOpsCompuware APM
 
How to open source a project at Mega Corp (Geecon - May/2011)
How to open source a project at Mega Corp (Geecon - May/2011)How to open source a project at Mega Corp (Geecon - May/2011)
How to open source a project at Mega Corp (Geecon - May/2011)Martijn Verburg
 

Ähnlich wie Why Agile? Why Now? (20)

Towards a Push-Button Release
Towards a Push-Button ReleaseTowards a Push-Button Release
Towards a Push-Button Release
 
Agile Career Development from the trenches - XP 2013 Vienna
Agile Career Development from the trenches  -  XP 2013 ViennaAgile Career Development from the trenches  -  XP 2013 Vienna
Agile Career Development from the trenches - XP 2013 Vienna
 
Lean UX presentation (UXSG meetup #9)
Lean UX presentation (UXSG meetup #9)Lean UX presentation (UXSG meetup #9)
Lean UX presentation (UXSG meetup #9)
 
Agile brazil 2011 individuals and interactions over processes and tools
Agile brazil 2011   individuals and interactions over processes and toolsAgile brazil 2011   individuals and interactions over processes and tools
Agile brazil 2011 individuals and interactions over processes and tools
 
"Lean software development: discovering waste" by Mary Poppendieck
"Lean software development: discovering waste" by Mary Poppendieck"Lean software development: discovering waste" by Mary Poppendieck
"Lean software development: discovering waste" by Mary Poppendieck
 
Lyon IAE B2B EIS Workshop Session Main Presentation Part 1
Lyon IAE B2B EIS Workshop Session Main Presentation Part 1 Lyon IAE B2B EIS Workshop Session Main Presentation Part 1
Lyon IAE B2B EIS Workshop Session Main Presentation Part 1
 
The agile and lean mindset. Digital transformation conference, 21 May 2015
The agile and lean mindset. Digital transformation conference, 21 May 2015The agile and lean mindset. Digital transformation conference, 21 May 2015
The agile and lean mindset. Digital transformation conference, 21 May 2015
 
Leading in the new workplace tbc
Leading in the new workplace tbcLeading in the new workplace tbc
Leading in the new workplace tbc
 
Portfolio 2010 Li
Portfolio 2010 LiPortfolio 2010 Li
Portfolio 2010 Li
 
Business Benefits of Agile
Business Benefits of AgileBusiness Benefits of Agile
Business Benefits of Agile
 
A Happy Marriage between Context-Driven and Agile
A Happy Marriage between Context-Driven and AgileA Happy Marriage between Context-Driven and Agile
A Happy Marriage between Context-Driven and Agile
 
Tom Vlasic: Virtual Teams and Technology
Tom Vlasic: Virtual Teams and TechnologyTom Vlasic: Virtual Teams and Technology
Tom Vlasic: Virtual Teams and Technology
 
SCRUM Development Process
SCRUM Development ProcessSCRUM Development Process
SCRUM Development Process
 
Project management
Project managementProject management
Project management
 
The Marketing side of Agile: 10 Secrets for Success
The Marketing side of Agile: 10 Secrets for SuccessThe Marketing side of Agile: 10 Secrets for Success
The Marketing side of Agile: 10 Secrets for Success
 
Prizes Summit
Prizes SummitPrizes Summit
Prizes Summit
 
Agile Talk at CSI Chapter, Mumbai
Agile Talk at CSI Chapter, MumbaiAgile Talk at CSI Chapter, Mumbai
Agile Talk at CSI Chapter, Mumbai
 
Speed Your Apps Launch to Market: Learn Six Best Practices for DevOps
Speed Your Apps Launch to Market: Learn Six Best Practices for DevOpsSpeed Your Apps Launch to Market: Learn Six Best Practices for DevOps
Speed Your Apps Launch to Market: Learn Six Best Practices for DevOps
 
MADskills Program Overview
MADskills Program OverviewMADskills Program Overview
MADskills Program Overview
 
How to open source a project at Mega Corp (Geecon - May/2011)
How to open source a project at Mega Corp (Geecon - May/2011)How to open source a project at Mega Corp (Geecon - May/2011)
How to open source a project at Mega Corp (Geecon - May/2011)
 

Mehr von mtoppa

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 againmtoppa
 
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 Waymtoppa
 
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 workmtoppa
 
Talking to strangers causes train wrecks
Talking to strangers causes train wrecksTalking to strangers causes train wrecks
Talking to strangers causes train wrecksmtoppa
 
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...mtoppa
 
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 practicesmtoppa
 
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 developersmtoppa
 
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 practicesmtoppa
 
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 Scrummtoppa
 
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 practicesmtoppa
 
WordCamp US: Clean Code
WordCamp US: Clean CodeWordCamp US: Clean Code
WordCamp US: Clean Codemtoppa
 
Dependency Injection for PHP
Dependency Injection for PHPDependency Injection for PHP
Dependency Injection for PHPmtoppa
 
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 Consultantsmtoppa
 
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 Consultantsmtoppa
 
Rails testing: factories or fixtures?
Rails testing: factories or fixtures?Rails testing: factories or fixtures?
Rails testing: factories or fixtures?mtoppa
 
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?mtoppa
 
WordCamp Nashville: Clean Code for WordPress
WordCamp Nashville: Clean Code for WordPressWordCamp Nashville: Clean Code for WordPress
WordCamp Nashville: Clean Code for WordPressmtoppa
 
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 practicesmtoppa
 
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 Developmentmtoppa
 
Dependency Injection for Wordpress
Dependency Injection for WordpressDependency Injection for Wordpress
Dependency Injection for Wordpressmtoppa
 

Mehr von 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
 
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
 
Dependency Injection for Wordpress
Dependency Injection for WordpressDependency Injection for Wordpress
Dependency Injection for Wordpress
 

Kürzlich hochgeladen

How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsNathaniel Shimoni
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rick Flair
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demoHarshalMandlekar2
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxBkGupta21
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embeddingZilliz
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxLoriGlavin3
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 

Kürzlich hochgeladen (20)

How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directions
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demo
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptx
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embedding
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 

Why Agile? Why Now?

  • 1. Why Agile? Why Now? Jorj Bauer <jorj@upenn.edu> @bozoskeleton Mike Toppa <toppa@upenn.edu> @mtoppa Wharton Web Conference – July 14, 2011 Thursday, July 14, 2011
  • 2. Overview We’re going to talk through two perspectives on the adoption of Agile methodologies What drove us Why we approached Agile How we approached adoption Our perspective from where we are now Thursday, July 14, 2011
  • 3. First: who are we? Thursday, July 14, 2011
  • 4. Jorj Bauer Manager of Engineering, Research and Development for Penn/ISC Professional software developer since 1994 Co-owner of DejaVu Software, Inc. 2004-2008: Director of Networking, Penn/SEAS 2008-present: Manager of ERD in Penn/ISC Thursday, July 14, 2011
  • 5. Jorj: The Past Most of my software development background has been ad-hoc, with little to no supporting infrastructure Goals and requirements have been very fluid, with small teams ... until my current position Thursday, July 14, 2011
  • 6. Mike Toppa Director, Web Applications for Penn/SOMIS 15 years of experience in web programming, IT project management, and functional management Georgetown University; Stanford University; University of Pennsylvania E*Trade; Ask Jeeves 2 failed start-ups (Finexa, Kai’s Candy Co.) Thursday, July 14, 2011
  • 7. Mike: The Past None of the places I’ve worked followed any formal development methodology Thursday, July 14, 2011
  • 8. Mike: Becoming Director My team was overwhelmed, but didn’t fully realize it Like boiling frogs Thursday, July 14, 2011
  • 9. Mike: The Clients Clients come from across the School’s administrative, academic, and research organizations Hybrid funding model Clients were working directly with developers Usually no project managers Reactive planning Thursday, July 14, 2011
  • 10. Mike: The Projects A large number of projects Little to no documentation No one in a position to prioritize Thursday, July 14, 2011
  • 11. Mike: The Team Talented Independent Customer service oriented Focused on fast delivery Thursday, July 14, 2011
  • 12. Mike: The Dev Environment No specific development procedures An aging development framework No automated testing Non-critical bugs and missed requirements common Daily firefighting Difficulty planning Thursday, July 14, 2011
  • 14. Jorj: The New Department In 2008, I became manager of 5 direct reports, in a department of ~30, full of dotted-lines and large projects Part of a reorganization of the department Two large projects-in-progress with campus-wide scope were instantly “mine” Thursday, July 14, 2011
  • 15. Jorj: The Projects Rapid shifting of priorities Large, with no distinct requirements Disconnect between technical requirements for a good service, level of effort to learn new services, and management expectations of level of effort required Everything is behind schedule A lot of fire-fighting related to the reorg as well as project management culture in the department Thursday, July 14, 2011
  • 16. Jorj: The Team Very talented and conscientious Not a lot of project focus; rapid shifting of priorities A lot of unrest due to uncertainty and perceived political stupidity Thursday, July 14, 2011
  • 17. Jorj: The Dev Environment Everyone For Themselves Central RCS and CVS repositories, so some people chose to set up their own SVN repos No specific development procedures No automated testing Projects begin and take priority based on political demand Thursday, July 14, 2011
  • 18. Jorj: The Biggest Challenge “Project Management” happened between developers and their direct management – no higher, and no wider The culture of “how project management works” was dysfunctional Thursday, July 14, 2011
  • 19. Prioritizing Challenges Both of us approached our situations similarly: 1.Get a handle on existing and upcoming projects 2.Improve predictability 3.Improve quality Thursday, July 14, 2011
  • 20. Three Approaches... In software development, you’re looking at one of these three general approaches: Ad-hoc (informal) Waterfall (anticipation) Agile (adaptation) Thursday, July 14, 2011
  • 22. Waterfall: why so pervasive? “Nobody ever got fired for buying IBM” Many people understand Waterfall It seems sensible to wait for one thing to be complete before working on the next The customer gets a whole solution, all at once Thursday, July 14, 2011
  • 23. Waterfall: low success rates http://www.ambysoft.com/surveys/ Thursday, July 14, 2011
  • 24. Waterfall: why does it often fail? Customers never know what they want up front; requirements always change Customers and developers speak two different languages Progress reports are often wrong, or set up a false expectation If I’m 100% done the first task of 4... am I 25% done now? Thursday, July 14, 2011
  • 25. Ad-hoc Home grown workflows, if any Prioritization is arbitrary or politicized Often hard to do long term planning Success dependent on personalities and circumstances Thursday, July 14, 2011
  • 26. Agile We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value. Individuals and interactions over processes and tools Working software over comprehensive documentation Customer collaboration over contract negotiation Responding to change over following a plan That is, while there is value in the items on the right, we value the items on the left more. ©2001 authors of The Agile Manifesto agilemanifesto.org Thursday, July 14, 2011
  • 27. Agile is incremental and iterative Graphic by Jeff Patton Thursday, July 14, 2011
  • 28. Agile: “inspect and adapt” Thursday, July 14, 2011
  • 29. The Agile Umbrella “Agile” applies to a large swath of development methodologies, many of which overlap Scrum; Kanban; Crystal; Extreme Programming (XP); Lean... And their hybrids Scrum-Ban; ADROIT; WetAgile/Agile Waterfall... Disclaimer: not all of these may be “good” Thursday, July 14, 2011
  • 30. Scrum: overview Graphic by Skip Angel Thursday, July 14, 2011
  • 31. Slice vertically, not horizontally Thursday, July 14, 2011
  • 33. Mike: Why Agile? Why Scrum? Maintain frequent interactions with clients Provides quick feedback Existing good relationships But have them take more ownership of their business process Thursday, July 14, 2011
  • 34. Mike: Why Agile? Why Scrum? Put structure around our work Enable planning Make commitments, and meet them Reduce need for firefighting Reduce risk Have more than one person know a project Thursday, July 14, 2011
  • 35. Mike: Why Agile? Why Scrum? Improve quality Reduce misunderstandings Reduce missed requirements Have fewer bugs Increase technical knowledge sharing Thursday, July 14, 2011
  • 36. Authority vs. Responsibility Cartoon by Mike Lynch Used with permission Thursday, July 14, 2011
  • 37. What makes a job enjoyable? Autonomy Reward for effort Challenging/complex work “Work that fulfills these three criteria is meaningful.” – Malcolm Gladwell, “Outliers: The Story of Success” Thursday, July 14, 2011
  • 38. Scrum has 3 roles Product owner Authority and responsibility for “what” Programming team Authority and responsibility for “how” Scrum Master Authority over the Scrum process Responsibility for driving continuous improvement Thursday, July 14, 2011
  • 39. Scrum role: Product Owner Responsible for what the team will work on, but now how the work is done Thursday, July 14, 2011
  • 40. Scrum role: The Team Takes collective responsibility for doing the work Thursday, July 14, 2011
  • 41. Scrum role: Scrum Master A “servant-leader” for the team Thursday, July 14, 2011
  • 42. Agile Adoption Patterns Top-down vs. Bottom-up “All in” vs. incremental Thursday, July 14, 2011
  • 43. Mike: top-down Upper management: supportive Team: uncertain They recognized certain problems But learning and conforming to a process feels like a loss of autonomy and yet another thing that has to be done Thursday, July 14, 2011
  • 44. Mike: all-in Team learned core scrum concepts I explained the new process to clients A small team did a pilot project first Then the whole group switched Thursday, July 14, 2011
  • 45. Mike: initial transition It did not go very well Team not used to working together I misunderstood the roles I overemphasized doing only one project at a time Too many “scrum-buts” Thursday, July 14, 2011
  • 46. Mike: a visualization Cartoon by Esther Derby Used with permission Thursday, July 14, 2011
  • 47. Mike: using scrum coaches I brought in coaches They provided good training Led candid discussion of problems Most long pre-dated my introduction of scrum Thursday, July 14, 2011
  • 48. Should you use a coach? A skilled, external coach is often key for driving change If you haven’t done it before, it’s surprisingly easy to introduce Agile the wrong way You need at least enough management support to pay them You need to make sure you’re bringing in someone good Thursday, July 14, 2011
  • 49. But it’s still difficult “In my Scrum classes I warn attendees of what I call the Scrum Promise: If you adopt Scrum, there will be a day you come into the office nearly in tears over how hard the change can be. This is because Scrum doesn’t solve problems, it uncovers them and puts them in our face. Then, through hard work we address them.” – Mike Cohn, Agile Trainer Thursday, July 14, 2011
  • 51. Jorj: Bottom-up, Incremental Ad-hoc The “Cloak of Confusion” surrounded project management; most staff couldn’t see the problems, just the symptoms The staff perceived control in their current methodology; nobody wants to give up control Thursday, July 14, 2011
  • 52. Why Incremental? Convincing staff to change their culture is hard Resources completely overcommitted It’s difficult to “sell” a change without having data on how it will work It’s impossible to show results for a system without using it Thursday, July 14, 2011
  • 53. NES’ Transition Phase 1: adopt formal project workflow Built a formal Iterative Waterfall process within the existing framework A lot of resistance and much more project planning but improved results for existing projects Increased awareness around product ownership, sources of delay, and available resources Warning: this will not make you new friends Thursday, July 14, 2011
  • 54. Incrementally Improving “Iterative Waterfall” is single- looped: allowed the team to abandon the waterfall process at many points (causing the project manager lots of additional work) Continue working on the process itself Thursday, July 14, 2011
  • 55. Showing Results This slowed everything down 3-4x the project management work (for me) Allowed us to find and address deep-seated problems in workflow Yields an inventory of projects Gave me the ability to say “No” to new work Thursday, July 14, 2011
  • 56. Stepping back a moment... Thursday, July 14, 2011
  • 57. Saying “No” Is Important If you take on an infinite number of projects, then your staff are constantly task-swapping (unless you have infinite staff) Context switching between two projects eats about 20% of a full-time worker’s schedule Cutting back on the number of active projects is key to getting back lost productivity from a bottlenecked staff Thursday, July 14, 2011
  • 58. Danger Signs of Meetings Being unavailable, or arriving In the meeting but doing late, for regularly scheduled other work while present meetings Suggesting radical departures from the current Never speaking in a meeting plan, at a stage that’s too you attend regularly late Thursday, July 14, 2011
  • 59. Reduce Meeting Complexity Agile methodologies adopt more frequent meetings (generally daily). Staff specifically talk about: What I did yesterday What I’m doing today What I’m waiting for This is a more effective use of tech staff time (But meetings may be a band-aid for other problems) Thursday, July 14, 2011
  • 60. Time/Project Management Brooks’ Law adding manpower to a late project will make it later Eliyahu Goldratt’s Theory of Constraints Identify the bottlenecks and use them to predict and control the workflow Thursday, July 14, 2011
  • 63. NES’ Turning Point Two services: one brings in 2/3 of your department’s budget, and one brings in almost nothing. How do you prioritize the work? Answer: both have to be done as soon as possible. Better answer: look at the costs, benefits, and staff resources for both and be able to shelve one Thursday, July 14, 2011
  • 64. No Looking Back From here, big gains were made fairly quickly on teams that adopted these Agile practices: Daily stand-ups; reduced queue sizes; more direct interaction with people “outside” the team Better results on a shorter timeline within 4 months Managers discussing and inspecting the process itself and its results, and are improving upon it Not Done Yet! Thursday, July 14, 2011
  • 66. Mike: taking inventory 9 developers, 2 product owners, and me supporting 22 clients with 124 applications 3 designers and 1 product owner supporting about 200 static content web sites Thursday, July 14, 2011
  • 67. Mike: our maintenance curve Thursday, July 14, 2011
  • 68. Mike: project commitments for first 6 months... oh crap Thursday, July 14, 2011
  • 69. Mike: the first 6 months Working through our over-commitment While learning a new way to work The continuous 2 week delivery cycle highlighted process weaknesses Staff changes Thursday, July 14, 2011
  • 70. Planning and estimating How did we come up with that chart? Agile requirements gathering Agile estimating techniques Thursday, July 14, 2011
  • 71. Requirements gathering Breaking down a project into feature areas Epics Breaking down feature areas into individual features User stories How do you know when you’re done? Conditions of satisfaction Thursday, July 14, 2011
  • 72. Estimating: story points and planning poker Photo by Kelly Hirano Used with permission Thursday, July 14, 2011
  • 74. Mike: one year later We can plan and estimate better Our programmers work together Our next challenges A project prioritization and intake process Improving our technical practices Thursday, July 14, 2011
  • 75. Manifesto for Half-Arsed Agile Software Development We have heard about new ways of developing software by paying consultants and reading Gartner reports. Through this we have been told to value: Individuals and interactions over processes and tools and we have mandatory processes and tools to control how those individuals (we prefer the term ‘resources’) interact Working software over comprehensive documentation as long as that software is comprehensively documented Customer collaboration over contract negotiation within the boundaries of strict contracts, of course, and subject to rigorous change control Responding to change over following a plan provided a detailed plan is in place to respond to the change, and it is followed precisely That is, while the items on the left sound nice in theory, we’re an enterprise company, and there’s no way we’re letting go of the items on the right. http://www.halfarsedagilemanifesto.org/ Thursday, July 14, 2011
  • 76. Technical practices: ridiculously brief overview “Specification by Example” by Gojko Adzic “Clean Code” and “Agile Software Development, Principles, Patterns, and Practices” by Bob Martin “Refactoring” by Martin Fowler “Agile Database Techniques” by Scott Ambler “Growing Object Oriented Software, Guided by Tests” by Steve Freeman and Nat Pryce Thursday, July 14, 2011
  • 77. Agile is relevant beyond software development “Angry Dinosaurs: Accelerating Change and Institutional Incompetence” Cory Ondrejka, Wharton Web Conference, 2010 http://bit.ly/bY4E15 “Let it Roll: Why more companies are abandoning budgets in favor of rolling forecasts” CFO Magazine, May 1, 2011 http://bit.ly/k94Sfc Thursday, July 14, 2011
  • 78. Other References Eliyahu M. Goldratt, “The Goal” (Theory of Constraints) Fred Brooks, “The Mythical Man-Month” Gerald Weinberg, “Quality Software Management: Systems Thinking” “Convincing Management That Context Switching Is a Bad Idea”, Johanna Rothman http:// www.jrothman.com/Papers/context-switching.html “In Praise of Bad Programmers” http://corvusintl.com/ Thursday, July 14, 2011
  • 79. Any Questions? Jorj Bauer <jorj@upenn.edu> @bozoskeleton Mike Toppa <toppa@upenn.edu> @mtoppa Wharton Web Conference – July 14, 2011 Thursday, July 14, 2011