SlideShare une entreprise Scribd logo
1  sur  152
HIGH QUALITY SOFTWARE
          DEVELOPMENT
    WITH AGILE & SCRUM
                                               W I T H P RA C T I C A L
                                               TIPS AND TRICKS




                                                    LEMİ ORHAN ERGİN
                                                SENIOR SOFTWARE ENGINEER
                                                       GITTIGIDIYOR / EBAY
    High Quality Software Development with Agile & Scrum @ March 2012
About the author

Lemi Orhan Ergin
Senior Software Engineer
GittiGidiyor / eBay


Projects involved:
E-Commence Site For Mould Industry (e-Tool)                    - BYM
Legacy Product Information Management System (SPICE)           - Sony
Brand-New Product Information Management System (SPIDER) - Sony
Mebs Taburu Yönetim Sistemi (MEBSİS)                           - Turkish Air Forces
Marketing sites for all European Countries (ODW)               - Sony
Web Experience Project / Common Toolbar Project (WEP)          - Sony
Core Backend Services & Components Project (Ox, Commons) - Sony
Product Data Delivery Engine / Hub & Client (Sparrow, Octopus) - Sony
Content Delivery and Aggregation Services (Xula)               - Sony

Education:
B.Sc. Marmara University, Computer Science Engineering, 1997 – 2002
M.Sc. Marmara University, Computer Science Engineering, 2002 – 2005


                      High Quality Software Development with Agile & Scrum @ March 2012
This presentation is based on

                           The author's experience in:
   Certified Scrum Master since 2009 (trained by Jim Coplien)
   Played scrum master role for more than 1 year
   Taking lead on development teams, including Scrum teams
   Participated in Scrum teams since 2008 (for more than 50 sprints)




       Q&A session with Mitch Lacey on Oct 12th, 2010              CSM training with Jim Coplien on Jan 31st, 2009

                            High Quality Software Development with Agile & Scrum @ March 2012
Caution

                                             There is no one true method
                                              of software development

                                                    Agile is not a religion

                                              There's no scientific way to
                                             prove that Agile is any better

                                                  There is no silver bullet


         We are not resources, we are humans.
Therefore we love doing our job by following human-centric
                methodologies, like Agile

            High Quality Software Development with Agile & Scrum @ March 2012
Warning
                              Be ready to change your culture

                        Be ready for more communication with
                                   your teammates

                    Be ready to observe your environment and
                                    improve

                         Be ready to learn how big companies
                                   develop software

                     Be ready for tons of new questions to ask

The Boy Scouts have a rule: "Always leave the
   campground cleaner than you found it."

    High Quality Software Development with Agile & Scrum @ March 2012
Key Concepts We Will Cover
●   Module 1. Born to fail
    ●   Why projects are failing
    ●   Waterfall & traditional software development
●   Module 2. Agile
●   Module 3. Scrum
●   Module 4. Writing high quality software with Agile
    ●   XP
    ●   How Google Write Software
●   Module 5. Do's and dont's
    ●   How Scrum might fail
    ●   Myths and realities
●   Module 6. How to kick off Scrum
                  High Quality Software Development with Agile & Scrum @ March 2012
Module 1. Born to fail




                                       http://chan4chan.com/archive/87929/Windows_-_A_fatal_exception_0E_has_occurred


High Quality Software Development with Agile & Scrum @ March 2012
Projects are failing!
Gardner Institute                                             Tata Consultancy 2007
 ●   74% failing                                               ●    62% failed to meet their schedules
 ●   51% of it exceeds budget                                  ●    49% suffered from budget overruns

Oxford University (Saur & Cuthbertson, 2003)                   ●    47% had higher maintenance costs
 ●   16% successful                                            ●    41% failed to deliver the expected
                                                                    business value and ROI
 ●   74% challenged
                                                               ●    33% file to perform against expectations
 ●   10% abandoned

Standish Group




          If building engineers built buildings with the same care as software
          engineers build systems, the first woodpecker to come along would
          be the end of civilization as we know it.
                                “Top 10 Reasons Why Systems Projects Fail”, Dr. Paul Dorsey

                       High Quality Software Development with Agile & Scrum @ March 2012
Project cancelled



       Size of project         Early         On-Time         Delayed          Cancelled        Sum
       1 function point      14.68%            83.16%           1.92%              0.25%    100.00%
     10 function points      11.08%            81.25%           5.67%              2.00%    100.00%
    100 function points       6.06%            74.77%          11.83%              7.33%    100.00%
  1,000 function points       1.24%            60.76%          17.67%              20.33%   100.00%
 10,000 function points       0.14%            28.00%          23.83%              48.00%   100.00%
100,000 function points       0.00%            13.67%          21.33%              65.00%   100.00%
              Average         5.53%            56.94%          13.71%              23.82%   100.00%



         Table 1: Percentage of projects early, on-time, late, canceled
  (from Patterns of Software Systems Failure and Success, by Capers Jones)




               High Quality Software Development with Agile & Scrum @ March 2012
Failing costs!

Annual cost to US economy of poor quality software:                                              $60B
                                                                      US NIST Report 7007.011, May 2002.


Equals to US millitary spending in Iraq and Afghanistan wars
                                    http://www.huffingtonpost.com/2011/08/30/military-spending-waste_n_942723.html




   Typical industrial / commercial software development:
6-30 faults delivered / 1000 lines of software
         (1M lines: 6000-30,000 faults on delivery)
                                                Pfleeger& Hatton, IEEE Computer, pp33-42, February 1997.




            High Quality Software Development with Agile & Scrum @ March 2012
The Current State of the Software Industry
 Ever higher complexity, continuous change, super fast markets

             Large Scale systems are now the norm

  Low qualified labour is not the answer for creating high-value
                            products

 The software industry needs Technical Leaders, and these will
                not just pop up in an ad-hoc way

    Projects live and die because of Technology, People and
      Processes; universities typically only teach the first.

Software projects are more than developing software. It has tens
    of steps, from getting requirements to give official support.



               High Quality Software Development with Agile & Scrum @ March 2012
Why Systems Projects Fail
                                               7th November 1940. Tacoma Narrows suspension bridge, in Puget Sound, Washington 
                                                    http://www.answers.com/topic/galloping-gertie-large-image#ixzz1q2uRmnLK

●
    Lack of User Involvement

●
    Lack of Transparency

●
    Long or Unrealistic Time Scales

●
    Poor or No Requirements

●
    Bad Scope Management

●
    Poor Development Quality

●
    Poor Testing & Quality Assurance

●
    Inaduequate Development Methodology

●
    Poor Technical Knowledge and Experience


                    High Quality Software Development with Agile & Scrum @ March 2012
How We Develop Software

Why software projects are failing?




    High Quality Software Development with Agile & Scrum @ March 2012
The Horizon of Predictability




 High Quality Software Development with Agile & Scrum @ March 2012
The Ghost of Uncertainty


Uncertainty is part of every innovative and
     creative development process




      High Quality Software Development with Agile & Scrum @ March 2012
Waterfall Aproach




High Quality Software Development with Agile & Scrum @ March 2012
Features of a Waterfall Model



    A waterfall model is easy to follow.

    It can be implemented for any size project.

    Every stage has to be done separately at the
    right time so you cannot jump stages.

    Documentation is produced at every stage of a
    waterfall model allowing people to understand
    what has been done.

    Testing is done at every stage.


              High Quality Software Development with Agile & Scrum @ March 2012
Assumptions of Waterfall Model


    A waterfall model helps find problems earlier on
    which can cost a business less than if it was
    found later on.

    Requirements will be set and these wouldn't be
    changed.

    As everything is documented a new team
    member can easily understand what's to be
    done.

    Implementers have to follow the design
    accurately

             High Quality Software Development with Agile & Scrum @ March 2012
Realities of Waterfall Model

    If requirements may change, the Waterfall
    model cannot work.

    It is impossible to make one stage of the
    projects life cycle perfect.

    Difficult to estimate time and cost for each
    stage of the development process.

    Constant testing of the design is needed.

                                     DON'T
                                      DO
                                      IT
                                                                   http://www.vvork.com/?p=4872

              High Quality Software Development with Agile & Scrum @ March 2012
Original Paper of Waterfall Model
                              MANAGING THE DEVELOPMENT OF
                                LARGE SOFTWARE SYSTEMS
                                 Dr. Winston W. Royce, 1970




                                        The implementation is risky and invites failure




   High Quality Software Development with Agile & Scrum @ March 2012
Original Adviced Waterfall Model
In my experience, however, the simpler method has never worked on large software development
efforts and the costs to recover far exceeded those required to finance the five-step process listed.




                        High Quality Software Development with Agile & Scrum @ March 2012
Assumptions

Traditional                                    Agile
Traditional
●
  Cusyomer knows what he wants
●
  Customer knows what he wants                 ●
                                                 Customer discovers what he wants
●
  Engineer knows how to build it
●
  Engineer knows how to build it               ●
                                                 Engineer discovers how to build it
●
  Nothing changes along the way
●
  Nothing changes along the way                ●
                                                 Things change along the way




                                                      The Agile Paradigm emraces
                                                      change, unpredictability and
                                                         unforseen complexity as
                                                       inescapable constants in all
                                                          product development




                High Quality Software Development with Agile & Scrum @ March 2012
Response to Unpredictability




                  Change Tolerance


 High Quality Software Development with Agile & Scrum @ March 2012
Module 2. Agile




High Quality Software Development with Agile & Scrum @ March 2012
The Agile Manifesto


   Individuals and
   Individuals and                   over                  Process and tools
                                                           Process and tools
     interactions
      interactions

                                                             Comprehensive
                                                             Comprehensive
  Working software
  Working software                   over
                                                             documentation
                                                             documentation

     Customer
      Customer                       over               Contract negotiation
                                                        Contract negotiation
    collaboration
    collaboration

Responding to change
Responding to change                  over                   Following a plan
                                                             Following a plan


                     Source: www.agilemanifesto.org
            High Quality Software Development with Agile & Scrum @ March 2012
Agile Principles - I

●   Our highest priority is to satisfy the customer through early and
    continuous delivery of valuable software
●   Welcome changing requirements, even late in development. Agile
    processes harness change for the customer's competitive advantage.
●   Deliver working software frequently, from a couple of weeks to a
    couple of months, with a preference to the shorter timescale.
●   Business people and developers must work together daily
    throughout the project.
●   Build projects around motivated individuals. Give them the
    environment and support they need, and trust them to get the job done.
●   The most efficient and effective method of conveying information to and
    within a development team is face-to-face conversation.




                  High Quality Software Development with Agile & Scrum @ March 2012
Agile Principles - II

●   Working software is the primary measure of progress.
●   Agile processes promote sustainable development. The
    sponsors, developers, and users should be able to maintain a
    constant pace indefinitely.
●   Continuous attention to technical excellence and good
    design enhances agility.
●   Simplicity -the art of maximizing the amount of work not done-
    is essential.
●   The best architectures, requirements, and designs emerge from
    self-organizing teams.
●   At regular intervals, the team reflects on how to become
    more effective, then tunes and adjusts its behavior accordingly.


                High Quality Software Development with Agile & Scrum @ March 2012
People Oriented
                        Agile methods are people-oriented
                           rather then process-oriented



Declaration of interdependence
Unleash creativity and innovation
by recognizing that individuals are
the ultimate source of value, and
creating an environment where
they can make a difference.
            ©2005 David Anderson, Sanjiv Augustine, Christopher Avery,
    Alistair Cockburn, Mike Cohn, Doug DeCarlo, Donna Fitzgerald, Jim
              Highsmith, Ole Jepsen, Lowell Lindstrom, Todd Little, Kent
       McDonald, Pollyanna Pixton, Preston Smith and Robert Wysocki.
                                                       http://pmdoi.org/




                          High Quality Software Development with Agile & Scrum @ March 2012
The Agile Practices Familiy
●   Extreme Programming (XP)
●   Crystal
●   Dynamic Systems Development Method (DSDM)
●   Test Driven Development (TDD)
●   Feature Driven Development (FDD)
●   Essential Unified Process
●   Scrum
●   Kanban
●   Lean


              High Quality Software Development with Agile & Scrum @ March 2012
Time-boxed Activities


                                 Task are broken down into small
                                 increments (2-4 weeks),
                                 in which the team works through
                                 a full development lifecycle




●
  Minimizes the overall project risk
• Planning is easier with frequent releases
• Allows project to adapt to changes quickly


      High Quality Software Development with Agile & Scrum @ March 2012
Empowered Teams




      Agile Teams are small (7 ± 2),
    Cross-functional & Self-Organizing




High Quality Software Development with Agile & Scrum @ March 2012
Collaboration

          Agile Working Culture




High Quality Software Development with Agile & Scrum @ March 2012
Focus on End-User and Customer

   We tend to build the wrong things




                                                    Source: Standish Group Study Report




   High Quality Software Development with Agile & Scrum @ March 2012
Customer in The Loop




 Agile teams contain (or have direct access to) a
customer representative in order to optimized ROI



     High Quality Software Development with Agile & Scrum @ March 2012
Communication Temperature




Increasing communication temperature is
 an important goal of the Agile approach



   High Quality Software Development with Agile & Scrum @ March 2012
Why Agile?




High Quality Software Development with Agile & Scrum @ March 2012
Agile Software Development


  Agile is an iterative and adaptive approach to
              software development,
performed in a highly collaborative manner by self-
                organizing teams,
  with just enough ceremony that produces high
  quality software in a cost effective and timely
                     manner,
      which meets the changing needs of its
                 stakeholders.



           High Quality Software Development with Agile & Scrum @ March 2012
Software Craftsmanship

        Software Craftsmanship is an DISCIPLINE in software
        development that emphasizes the coding skills of the
        software developers themselves. It is a response by
        software developers to the perceived ills of the mainstream
        software industry, including the prioritization of financial
        concerns over code quality.




High Quality Software Development with Agile & Scrum @ March 2012
                http://parlezuml.com/softwarecraftsmanship/
Software Craftsmanship Manifesto




            http://manifesto.softwarecraftsmanship.org


   High Quality Software Development with Agile & Scrum @ March 2012
Module 3. Scrum




High Quality Software Development with Agile & Scrum @ March 2012
Scrum in 100 words

•Scrum is an agile process that allows us to focus on
 delivering the highest business value in the shortest
 time.
•It allows us to rapidly and repeatedly inspect actual
 working software (every two weeks to one month).
•The business sets the priorities. Teams self-organize
 to determine the best way to deliver the highest
 priority features.
•Every two weeks to a month anyone can see real
 working software and decide to release it as is or
 continue to enhance it for another sprint .


             High Quality Software Development with Agile & Scrum @ March 2012
Scrum origins

• Jeff Sutherland
 • Initial scrums at Easel Corp in 1993
 • IDX and 500+ people doing Scrum
• Ken Schwaber
 • ADM
 • Scrum presented at OOPSLA 96 with Sutherland
 • Author of three books on Scrum
• Mike Beedle
 • Scrum patterns in PLOPD4
• Ken Schwaber and Mike Cohn
 • Co-founded Scrum Alliance in 2002,
    initially within the Agile Alliance



             High Quality Software Development with Agile & Scrum @ March 2012
Scrum has been used by:

•Microsoft                            •Intuit
•Yahoo                                •Nielsen Media
•Google                               •First American Real Estate
•Electronic Arts                      •BMC Software
•Lockheed Martin                      •Ipswitch
•Philips                              •John Deere
•Siemens                              •Lexis Nexis
•Nokia                                •Sabre
•IBM                                  •Salesforce.com
•Capital One                          •Time Warner
•BBC                                  •Turner Broadcasting
                                      •Oce

          High Quality Software Development with Agile & Scrum @ March 2012
Scrum has been used for:


•   Commercial software                        •Video game development
•   In-house development                       •FDA-approved, life-critical
                                                systems
•   Contract development
•   Fixed-price projects                       •Satellite-control software
•   Financial applications                     •Websites
•   ISO 9001-certified                         •Handheld software
    applications                               •Mobile phones
•   Embedded systems                           •Network switching applications
•   24x7 systems with
    99.999% uptime
                                               •ISV applications
    requirements                               •Some of the largest
                                                applications in use
•   the Joint Strike Fighter


                High Quality Software Development with Agile & Scrum @ March 2012
Characteristics


• Self-organizing teams
• Product progresses in a series of month-long “sprints”
• Requirements are captured as items in a list of
    “product backlog”
•   No specific engineering practices prescribed
•   Uses generative rules to create an agile environment
    for delivering projects
•   One of the “agile processes”




             High Quality Software Development with Agile & Scrum @ March 2012
Project noise level




Source: Strategic Management and Organizational Dynamics by Ralph Stacey in Agile Software
Development with Scrum by Ken Schwaber and Mike Beedle.


               High Quality Software Development with Agile & Scrum @ March 2012
Scrum in a Nutshell




High Quality Software Development with Agile & Scrum @ March 2012
Team Commitment

      What the team commits to,
     and what the product owner
    agrees to during sprint planning




               should be delivered!


High Quality Software Development with Agile & Scrum @ March 2012
Sequential vs. overlapping development


Requirements                 Design                         Code                        Test




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




 Source: “The New New Product Development Game” by Takeuchi and Nonaka. Harvard Business Review,
 January 1986.

                    High Quality Software Development with Agile & Scrum @ March 2012
No changes during a sprint



    Change




• Plan sprint durations around how long you
  can commit to keeping change out of the
  sprint
             High Quality Software Development with Agile & Scrum @ March 2012
Scrum framework

Roles
•Product owner
•ScrumMaster
•Team
                  Ceremonies
                  •Sprint planning
                  •Sprint review
                  •Sprint retrospective
                  •Daily scrum meeting
                                               Artifacts
                                               •Product backlog
                                               •Sprint backlog
                                               •Burndown charts

           High Quality Software Development with Agile & Scrum @ March 2012
Scrum framework

Roles
•Product owner
•ScrumMaster
•Team
                   Ceremonies
                   •Sprint planning
                   •Sprint review
                   •Sprint retrospective
                   •Daily scrum meeting
                                              Artifacts
                                              •Product backlog
                                              •Sprint backlog
                                              •Burndown charts
           High Quality Software Development with Agile & Scrum @ March 2012
Scrum Roles




Pig Roles                                Chicken Roles
Product Owner                            Users
Team                                     Customer & Vendors
Scrum Master                             Managers



   High Quality Software Development with Agile & Scrum @ March 2012
Product owner

• Define the features of the product
• Decide on release date and content
• Be responsible for the profitability of the product (ROI)
• Prioritize features according to market value
• Adjust features and priority every iteration, as needed
• Accept or reject work results




             High Quality Software Development with Agile & Scrum @ March 2012
The Scrum Master

• Represents management to the
  project
• Responsible for enacting Scrum
  values and practices
• Removes impediments
• Ensure that the team is fully
  functional and productive
• Enable close cooperation across all
  roles and functions
• Shield the team from external
  interferences


             High Quality Software Development with Agile & Scrum @ March 2012
The Team

• Typically 5-9 people
• Cross-functional:
  •   Programmers, testers, user
      experience designers, etc.
• Members should be full-time
  •   May be exceptions (e.g.,
      database administrator)
• Teams are self-organizing
  •   Ideally, no titles but rarely a
      possibility
• Membership should change
  only between sprints

               High Quality Software Development with Agile & Scrum @ March 2012
Scrum framework

Roles
•Product owner
•ScrumMaster
•Team
                    Ceremonies
                    •Sprint planning
                    •Sprint review
                    •Sprint retrospective
                    •Daily scrum meeting
                                              Artifacts
                                              •Product backlog
                                              •Sprint backlog
                                              •Burndown charts
           High Quality Software Development with Agile & Scrum @ March 2012
Sprint Planning Meeting
Team
             Sprint planning meeting
Team
capacity
capacity
                 Sprint prioritization

Product
Product
                • Analyze and evaluate product                                   Sprint
                                                                                 Sprint
                    backlog                                                      goal
backlog
backlog
                •   Select sprint goal
                                                                                 goal

Business
Business
conditions       Sprint planning
conditions
                • Decide how to achieve sprint goal
                    (design)
Current
Current         •   Create sprint backlog (tasks) from                           Sprint
                                                                                 Sprint
product
product             product backlog items (user stories /                        backlog
                                                                                 backlog
                    features)
Techno-
                •   Estimate sprint backlog in hours
 Techno-
logy
 logy


             High Quality Software Development with Agile & Scrum @ March 2012
User Stories
What is a User Story?
• Feature description from anyone on the team or any customer
• Have "Conditions of Satisfaction" which can be tested in review
• Have no/minimal dependency on other stories


General Format:
As a [user role] I want to [goal], so I can [reason or conditions
of satisfaction]


As a Product Owner, I want to understand Agile planning and
estimation, so that I can produce an effective Product Backlog




               High Quality Software Development with Agile & Scrum @ March 2012
Sprint Planning

• Team selects items from the product backlog they can
  commit to completing
• Sprint backlog is created
  •   Tasks are identified and each is estimated (1-16 hours)
  •   Collaboratively, not done alone by the ScrumMaster
• High-level design is considered
As a vacation
As a vacation                                    Code the middle tier (8 hours)
planner, I want to
planner, I want to                               Code the user interface (4)
see photos of the
see photos of the
                                                 Write test fixtures (4)
                                                 Code the foo class (6)
hotels.
hotels.                                          Update performance tests (4)



               High Quality Software Development with Agile & Scrum @ March 2012
The Daily Scrum


• Parameters
 •   Daily
 •   15-minutes
 •   Stand-up
• Not for problem solving
 •   Whole world is invited
 •   Only team members, ScrumMaster & product owner can
     talk
• Helps avoid other unnecessary meetings

             High Quality Software Development with Agile & Scrum @ March 2012
Everyone answers 3 questions

                                                                               1
          What did you do yesterday?
          What did you do yesterday?

                                                                               2
             What will you do today?
             What will you do today?

                                                                               3
             Is anything in your way?
             Is anything in your way?

• These are not status for the ScrumMaster
 • They are commitments in front of peers
           High Quality Software Development with Agile & Scrum @ March 2012
The Sprint Review


• Team presents what it accomplished during the
  sprint
• Typically or underlying architecture of new
  features
            takes the form of a demo

• Informal
 • 2-hour prep time rule
 • No slides
• Whole team participates
• Invite the world

             High Quality Software Development with Agile & Scrum @ March 2012
Sprint Retrospective


• Periodically take a look at what is and is not
  working
• Typically 30 min-1 hour
• Done after every sprint
• Whole team participates
 • ScrumMaster
 • Product owner
 • Team
 • Possibly customers and others

           High Quality Software Development with Agile & Scrum @ March 2012
Start / Stop / Continue


• Whole team gathers and discusses what they’d
  like to:

             Start doing
             Start doing

                                Stop doing
                                Stop doing

   This is just one
   of many ways to                               Continue doing
                                                 Continue doing
   do a sprint
   retrospective.

              High Quality Software Development with Agile & Scrum @ March 2012
Scrum framework

Roles
•Product owner
•ScrumMaster
•Team
                   Ceremonies
                   •Sprint planning
                   •Sprint review
                   •Sprint retrospective
                   •Daily scrum meeting
                                              Artifacts
                                              •Product backlog
                                              •Sprint backlog
                                              •Burndown charts
           High Quality Software Development with Agile & Scrum @ March 2012
Product backlog


                                  •The requirements
                                  •the project desired work on
                                   A list of all

                                  •each item has value to the
                                   Ideally expressed such that
                                   users or customers of the
                                   product
This is the product
This is the product
                                  •owner by the product
                                   Prioritized
      backlog
      backlog
                                  •each sprint at the start of
                                   Reprioritized



      High Quality Software Development with Agile & Scrum @ March 2012
Different Types of Stories
Spike:
 •the "layers."
   It is an experimental solution that cuts through all

 •It is necessarily time-boxed.
 •It is always intended to be thrown away.
Epic:
 •Large story
 •An item that can’t be committed to by the team
 •It is a container of stories


            High Quality Software Development with Agile & Scrum @ March 2012
Story Points

         A Story Point is a relative
            measure of feature
            difficulty/complexity




 Story Points are a more accurate
  measure of project velocity and
release schedule than using hours
             and days.

High Quality Software Development with Agile & Scrum @ March 2012
Planning Poker




1. All the team members have a set of cards
2. Scrum Master reads description of the backlog Item
3. Everyone selects and simultaneously shows cards
4. If estimates vary significantly, high and low estimators briefly
explain why they have estimated so
5. Repeat steps 3-4 until estimates stop converging
6. Decide estimate for backlog item
7. Move to next backlog item


              High Quality Software Development with Agile & Scrum @ March 2012
Sample Product Backlog




High Quality Software Development with Agile & Scrum @ March 2012
Sample Product Backlog




High Quality Software Development with Agile & Scrum @ March 2012
Product Backlog Iceberg




High Quality Software Development with Agile & Scrum @ March 2012
Work Items on Prioritized Stack




  High Quality Software Development with Agile & Scrum @ March 2012
Grooming Sessions

    I hate long meetings, why do you think we
    have such long meetings? What could we
                    do better?


    Grooming meetings are a kind of small planning meetings
      that the team detail the stories and re-estimate. Most
                common schedule is weekly basis.
●
  Increases efficiency of the team by greatly reducing uncertainty.
●
  Better groomed stories are more accurately estimated, more accurately
tested, and more accurately implemented
●
  Increases efficiency of the team due to the benefit of shared knowledge
gained by the entire Scrum team being in the grooming.
●
  Allows the team to maintain a sustainable, higher pace.
●
  When done well, grooming greatly reduces the time required for a Sprint
Planning meeting.
                 High Quality Software Development with Agile & Scrum @ March 2012
Definition of Done

Definition of Done is a simple list of activities that add
    verifiable/demonstrable value to the product. 




        High Quality Software Development with Agile & Scrum @ March 2012
Definition of Done




High Quality Software Development with Agile & Scrum @ March 2012
Definition of Done




High Quality Software Development with Agile & Scrum @ March 2012
Estimation of Productive Time

• Task of 8 hours doesn't mean completion in 1 day
• Incorporate time for: meetings, phone-calls, e-mails,
bug-fixing, other responsibilities, etc.
• No contingency planning!




       The team should establish a working
        pace which can be sustained with
              normal working hours

          High Quality Software Development with Agile & Scrum @ March 2012
A sprint backlog



Tasks
Tasks                                Mon Tues Wed Thur Fri
                                     Mon Tues Wed Thur Fri
Code the user interface                      8             4             8
Code the middle tier                       16           12            10            4
Test the middle tier                         8          16            16           11   8
Write online help                          12
Write the helper class                       8             8             8          8   8
Add error logging                                                        8          4



               High Quality Software Development with Agile & Scrum @ March 2012
Sprint Burndown Chart


  Determination of Team Velocity




High Quality Software Development with Agile & Scrum @ March 2012
Sprint Burndown Chart




High Quality Software Development with Agile & Scrum @ March 2012
Scrum Task Board




High Quality Software Development with Agile & Scrum @ March 2012
Scrum Task Board




High Quality Software Development with Agile & Scrum @ March 2012
The sprint goal


• A short statement of what the work will be
  focused on during the sprint
                                           Life Sciences
                                          Support features necessary
Database Application                      for population genetics studies.

Make the application run on SQL
Server in addition to Oracle.
                                            Financial services
                                           Support more technical indicators
                                           than company ABC with real-time,
                                           streaming data.

              High Quality Software Development with Agile & Scrum @ March 2012
Scalability


• Typical individual team is 7 ± 2 people
 • Scalability comes from teams of teams
• Factors in scaling
 • Type of application
 • Team size
 • Team dispersion
 • Project duration
• Scrum has been used on multiple 500+ person
  projects

             High Quality Software Development with Agile & Scrum @ March 2012
Scaling through the Scrum of scrums




     High Quality Software Development with Agile & Scrum @ March 2012
Scrum of scrums of scrums




High Quality Software Development with Agile & Scrum @ March 2012
Scrum in Summary
Scrum is not about:
  Good engineering practices
Scrum is about:
  Acknowledging the importance of people
  Forming cross-functional teams
  Obtaining high-bandwith communication
  Constantly inspecting and improving
  Delivering value
  Changing plans to take advantage of
  opportunities and priorities
            High Quality Software Development with Agile & Scrum @ March 2012
Possible Problems with Agile


●   Cultural change
●   Organizational support
●   Stakeholder involvement
●   Team size
●   Transparency
●   “No silver bullet”




                High Quality Software Development with Agile & Scrum @ March 2012
Module 4. Writing High Quality Software With Agile
                                                                     nmap run completed -- 1 IP address (1 host up)
                                                                     scanneds
                                                                     % sshnuke 10.2.2.2 -rootpw-"Z1ON0101"
                                                                     Connecting to 10.2.2.2:ssh ... successful.
                                                                     Attempting to exploit SSHv1 CRC32 ... successful.
                                                                     Reseting root password to "Z1ON0101".
                                                                     System open: Access Level (9)
                                                                     % ssh 10.2.2.2 -l root
                                                                     root@10.2.2.2's password:

                                                                     RTF-CONTROL> disable grid nodes 21 - 48
                                                                     Warning: Disabling nodes 21-48 will disconnect
                                                                     sector 11 (27 nodes)

                                                                     ARE YOU SURE ? (y/n)

                                                                     Grid   Node   21   offline...
                                                                     Grid   Node   22   offline...
                                                                     Grid   Node   23   offline...
                                                                     Grid   Node   24   offline...
                                                                     Grid   Node   25   offline...
                                                                     Grid   Node   26   offline...
                                                                     Grid   Node   27   offline...
                                                                     Grid   Node   28   offline...
                                                                     Grid   Node   29   offline...
                                                                     Grid   Node   30   offline...
                                                                     Grid   Node   31   offline...
                                                                     Grid   Node   32   offline...
                                                                     Grid   Node   33   offline...
                                                                     Grid   Node   34   offline...
                                                                     Grid   Node   35   offline...
                                                                     Grid   Node   36   offline...
                                                                     Grid   Node   37   offline...
                                                                     Grid   Node   38   offline...




            High Quality Software Development with Agile & Scrum @ March 2012
Searching for High Quality


●   Scrum does not
    guarantee high-
    quality for your
    project


●   XP principles try to
    provide high-quality
    software with Agile
    principles

             High Quality Software Development with Agile & Scrum @ March 2012
What is Extreme Programming?



●
    An agile development methodology
●
    Created by Kent Beck in the mid 1990’s
●
    A set of 12 key practices taken to their
    “extremes”
●
    A mindset for developers and customers
●
    A religion?



             High Quality Software Development with Agile & Scrum @ March 2012
The XP Practices




High Quality Software Development with Agile & Scrum @ March 2012
1 - The Planning Game



●
    Planning for the upcoming iteration
●
    Uses stories provided by the customer
●
    Technical persons determine schedules,
    estimates, costs, etc
●
    A result of collaboration between the customer
    and the developers



             High Quality Software Development with Agile & Scrum @ March 2012
The Planning Game – Advantages



●
    Reduction in time wasted on useless features
●
    Greater customer appreciation of the cost of a
    feature
●
    Less guesswork in planning




             High Quality Software Development with Agile & Scrum @ March 2012
The Planning Game – Disadvantages



●
    Customer availability
●
    Is planning this often necessary?




             High Quality Software Development with Agile & Scrum @ March 2012
2- Small Releases



●
    Small in terms of functionality
●
    Less functionality means releases happen
    more frequently
●
    Support the planning game




            High Quality Software Development with Agile & Scrum @ March 2012
Small Releases – Advantages



●
    Frequent feedback
●
    Tracking
●
    Reduce chance of overall project slippage




            High Quality Software Development with Agile & Scrum @ March 2012
Small Releases – Disadvantages



●
    Not easy for all projects
●
    Not needed for all projects
●
    Versioning issues




             High Quality Software Development with Agile & Scrum @ March 2012
3 – Metaphor



●
    The oral architecture of the system
●
    A common set of terminology




             High Quality Software Development with Agile & Scrum @ March 2012
Metaphor – Advantages



●
    Encourages a common set of terms for the
    system
●
    Reduction of buzz words and jargon
●
    A quick and easy way to explain the system




            High Quality Software Development with Agile & Scrum @ March 2012
Metaphor – Disadvantages



●
    Often the metaphor is the system
●
    Another opportunity for miscommunication
●
    The system is often not well understood as a
    metaphor




             High Quality Software Development with Agile & Scrum @ March 2012
4 – Simple Design



●
    K.I.S.S.
●
    Do as little as needed, nothing more




             High Quality Software Development with Agile & Scrum @ March 2012
Simple Design – Advantages



●
    Time is not wasted adding superfluous
    functionality
●
    Easier to understand what is going on
●
    Refactoring and collective ownership is made
    possible
●
    Helps keeps programmers on track



            High Quality Software Development with Agile & Scrum @ March 2012
Simple Design – Disadvantages



●
    What is “simple?”
●
    Simple isn’t always best




             High Quality Software Development with Agile & Scrum @ March 2012
6 – Testing



●
    Unit testing
●
    Test-first design (TDD)
●
    All automated




             High Quality Software Development with Agile & Scrum @ March 2012
Testing – Advantages



●
    Unit testing promote testing completeness
●
    Test-first gives developers a goal
●
    Automation gives a suite of regression test




             High Quality Software Development with Agile & Scrum @ March 2012
Testing – Disadvantages



●
    Automated unit testing isn’t for everything
●
    Reliance on unit testing isn’t a good idea
●
    A test result is only as good as the test itself




              High Quality Software Development with Agile & Scrum @ March 2012
6 – Refactoring



●
    Changing how the system does something but
    not what is done
●
    Improves the quality of the system in some
    way




            High Quality Software Development with Agile & Scrum @ March 2012
Refactoring – Advantages



●
    Prompts developers to proactively improve the
    product as a whole
●
    Increases developer knowledge of the system




            High Quality Software Development with Agile & Scrum @ March 2012
Refactoring – Disadvantages



●
    Not everyone is capable of refactoring
●
    Refactoring may not always be appropriate
●
    Would upfront design eliminate refactoring?




             High Quality Software Development with Agile & Scrum @ March 2012
7 – Pair Programming



●
    Two Developers, One monitor, One Keyboard
●
    One “drives” and the other thinks
●
    Switch roles as needed




            High Quality Software Development with Agile & Scrum @ March 2012
Pair Programming – Advantages



●
    Two heads are better than one
●
    Focus
●
    Two people are more likely to answer the
    following questions:
    ●
        Is this whole approach going to work?
    ●
        What are some test cases that may not work yet?
    ●
        Is there a way to simplify this?




               High Quality Software Development with Agile & Scrum @ March 2012
Pair Programming – Disadvantages

●
    Many tasks really don’t require two
    programmers
●
    A hard sell to the customers
●
    Not for everyone
                                                    http://www.cenqua.com/pairon/




             High Quality Software Development with Agile & Scrum @ March 2012
8 – Collective Ownership



●
    The idea that all developers own all of the
    code
●
    Enables refactoring




             High Quality Software Development with Agile & Scrum @ March 2012
Collective Ownership – Advantages



●
    Helps mitigate the loss of a team member
    leaving
●
    Promotes developers to take responsibility for
    the system as a whole rather then parts of the
    system




             High Quality Software Development with Agile & Scrum @ March 2012
Collective Ownership - Disadvantages



●
    Loss of accountability
●
    Limitation to how much of a large system that
    an individual can practically “own”




             High Quality Software Development with Agile & Scrum @ March 2012
9 – Continuous Integration



●
    New features and changes are worked into the
    system immediately
●
    Code is not worked on without being
    integrated for more than a day




            High Quality Software Development with Agile & Scrum @ March 2012
Continuous Integration - Advantages



●
    Reduces to lengthy process
●
    Enables the Small Releases practice




            High Quality Software Development with Agile & Scrum @ March 2012
Continuous Integration – Disadvantages



●
    The one day limit is not always practical
●
    Reduces the importance of a well-thought-out
    architecture




            High Quality Software Development with Agile & Scrum @ March 2012
10 – 40-Hour Week



●
    The work week should be limited to 40 hours
●
    Regular overtime is a symptom of a problem
    and not a long term solution




            High Quality Software Development with Agile & Scrum @ March 2012
40-Hour Week – Advantage



●
    Most developers lose effectiveness past 40-
    Hours
●
    Value is placed on the developers well-being
●
    Management is forced to find real solutions




             High Quality Software Development with Agile & Scrum @ March 2012
40-Hour Week - Disadvantages



●
    The underlying principle is flawed
●
    40-Hours is a magic number
●
    Some may like to work more than 40-Hours




            High Quality Software Development with Agile & Scrum @ March 2012
11 – On-Site Customer



●
    Just like the title says!
●
    Acts to “steer” the project
●
    Gives quick and continuous feedback to the
    development team




            High Quality Software Development with Agile & Scrum @ March 2012
On-Site Customer – Advantages



●
    Can give quick and knowledgeable answers to
    real development questions
●
    Makes sure that what is developed is what is
    needed
●
    Functionality is prioritized correctly




            High Quality Software Development with Agile & Scrum @ March 2012
On-Site Customer – Disadvantages



●
    Difficult to get an On-Site Customer
●
    The On-Site customer that is given may not be
    fully knowledgeable about what the company
●
    May not have authority to make many
    decisions
●
    Loss of work to the customer’s company



            High Quality Software Development with Agile & Scrum @ March 2012
12 – Coding Standards



●
    All code should look the same
●
    It should not possible to determine who coded
    what based on the code itself




            High Quality Software Development with Agile & Scrum @ March 2012
Coding Standards – Advantages



●
    Reduces the amount of time developers spend
    reformatting other peoples’ code
●
    Reduces the need for internal commenting
●
    Call for clear, unambiguous code




            High Quality Software Development with Agile & Scrum @ March 2012
Coding Standards – Disadvantages



●
    Degrading the quality of inline documentation




             High Quality Software Development with Agile & Scrum @ March 2012
How Google Develops Software
●   Single Code Base for Everything
●   Distributed Version Control System
●   Central Documentation Repository
●   Bug Tracking System
●   Maven/Gem Repository
●   Coding Standarts and Guidelines
●   Code Coverage Tools
●   Pair Programing and Code Review Tools
●   Release Notes & Release Management
●   OS-IDE-Tool Free Coding
●   Test Driven Development / Behavior Driven Development
●   Testing in Multi-level (Unit, Integration, Functional, Acceptance, Manual)
●   Continuous Integration Server
●   Enterprise Architecture (Dev, Test & QA, Staging, Production)
                    High Quality Software Development with Agile & Scrum @ March 2012
How Google Develops Software
●   Sprint Collaboration Tool as White Board
●   Sprint Tracking Tool as Spreadsheet
●   Product Backlog in Spreadsheet or a tool like Atlassian Jira-GreenHooper
●   Meetings with Larry Page Rules
         1) Every meeting must have one clear decision maker. If there's no decision
         maker -- or no decision to be made -- the meeting shouldn't happen.
         2) No more than 10 people should attend.
         3) Every person should give input, otherwise they shouldn't be there.
         4) No decision should ever wait for a meeting. If a meeting absolutely has to
         happen before a decision should be made, then the meeting should be scheduled
         immediately.

●   Scrum of Scrums
●   Brown Bag Sessions, tech taks, round-table sessions
●   20% Time
●   New ideas, then brainstorming session



                     High Quality Software Development with Agile & Scrum @ March 2012
Module 5. Do's and Dont's




High Quality Software Development with Agile & Scrum @ March 2012
Can Scrum fail ? No !


Scrum is not a silver bullet ... and it surfaces existing problems

  Scrum never fails !!! It is a simple framework but hard to
                          implement

It’s a completely new way of thinking and mind-set shifting it is
                    not just list of practice.

      If you “stand-up” it doesn’t mean you do Scrum ...




              High Quality Software Development with Agile & Scrum @ March 2012
Why Scrum Implementation Might Fail ?

●   Culture
    ●   Providing answers instead of asking questions
●   Management
    ●   Force commitments
    ●   Ask for not needed or invaluable status and
        measures
    ●   No tolerance for failures
●   Will go back to the old norms
●   Loss of Ceremony Rhythm
●   Scrum Ceremonies are taking too long

                High Quality Software Development with Agile & Scrum @ March 2012
Why Scrum Implementation Might Fail ?

●   Bad Scrum Master
    ●   Driving the time and the tasks allocation, get
        decisions.
    ●   Fails to make a prioritized impediment list
    ●   Becomes the team administrator
    ●   Do not keep the team in the “zone”
●   No or bad retrospectives
●   Wrong definition of done
●   No velocity tracking


                High Quality Software Development with Agile & Scrum @ March 2012
Why Scrum Implementation Might Fail ?

●   Bad Product Owner
    ●   Consistently unavailable
    ●   Fail to get consensus
    ●   Doesn’t have a vision, business plan and release
        roadmap
    ●   Poorly defined stories (INVEST), not all work in the
        backlog
    ●   On-going Changes in Sprint backlog
●   Too much interruptions / PO bypassed
●   No analysis or documentation

               High Quality Software Development with Agile & Scrum @ March 2012
Why Scrum Implementation Might Fail ?
●   Waterfall within sprint
    ●   Better to have 70% of stories 100% done then the
        opposite.
    ●   Entire team own the story
    ●   Testers are not part of the Team
    ●   Developers assume QA will test
    ●   Integration postponed to the end
●   Technical Debt
    ●   More defects appear at the end
    ●   Last iterations produce less new functionality
    ●   Re-factor and re-design cost too much and take
        too long
               High Quality Software Development with Agile & Scrum @ March 2012
Why Scrum Implementation Might Fail ?
●   Not Acting Like a self managed team
    ●   Fixed Roles, No knowledge leveraging
    ●   Prima donna /Dictator within the team
    ●   Depend on external expertise
    ●   Visibility for the managers not for the team
    ●   Personal goals rather than team goal
    ●   Talking Chickens
    ●   Tasks are assigned
    ●   Not helping and listening each other
●   NO FUN :(

                High Quality Software Development with Agile & Scrum @ March 2012
Why Scrum Implementation Might Fail ?
●   Team exhausted, there are no calm periods,
    no place for innovation
    ●   " ... the team shadows the individual. Good senior
        employees, feels that they can less contribute and
        lead, ...[due to] the “team thing” and the low
        granularity of the tasks, leaving small flexibility to
        personal innovation and creativity“




                High Quality Software Development with Agile & Scrum @ March 2012
Does Scrum fit BIG organization ?
The following statements are sometimes heard:
●   "Oh yes, Scrum is good for small teams but I don't see it working
    for bigger organizations”
●   "Only experts and above average developers can do it."
●   "It should evolve bottom-up" (i.e., one "crazy" team implements
    Scrum and generates a "buzz" that pushes the rest of the
    organization to follow).
●   "There is no visibility above the team's level as there are no project
    plans".
●   "Teams are self-managed so team leaders and managers lose their
    role."
●   "Agile is not good for complex systems with integrations and
    dependencies."
●   "Our customers will never go along with fluid estimations"
●   And so on....
                    High Quality Software Development with Agile & Scrum @ March 2012
Yes, it fits!
●   Scrum surfaces the inherent problems and
    wastes
●   Scrum reduces the bureaucracy and org.
    complexity
    ●   Break the organizational silos
    ●   Reduce politics – move the power to the teams
●   Scrum allows better leveling of knowledge
    ●   Reduces dependencies on specific expertise,
    ●   Raises employees satisfaction



               High Quality Software Development with Agile & Scrum @ March 2012
Yes, it fits!
●   Scrum provides much better visibility
●   Managers have more time to
    ●   Look ahead and think
    ●   Understand customer needs and ROI
    ●   Handle impediments
    ●   Raises employees satisfaction



            The bigger the organization, the higher ROI



               High Quality Software Development with Agile & Scrum @ March 2012
Module 6. Kickstart




High Quality Software Development with Agile & Scrum @ March 2012
The Shock Therapy
●   "A set of Good Practices, but no choice"
    ●   Team Recipe
    ●   Management Recipe
    ●   Organization Recipe




               High Quality Software Development with Agile & Scrum @ March 2012
Team Recipe
●
    Scrum training session for
    everyone                                             ●
                                                             Story Points
●
    Sprint 1 week long
                                                         ●
                                                             Physical Task Board
                                                         ●
                                                             All-in-one Sprint planning
●
    Definition of Done:                                      meeting.
    ●
        Feature Complete
                                                         ●
                                                             No Multi-tasking, work in
                                                             priority order.
    ●
        Code Complete                                    ●
                                                             Three successful Sprints
    ●
        No known defects                                     consecutively
    ●
        Approved by the Product                          ●
                                                             Good business reason to
        Owner                                                change the rule
    ●
        Production Ready
    ●
        Continuous Integration



                 High Quality Software Development with Agile & Scrum @ March 2012
Management Recipe
●
    Hands off during 3 iterations
●
    Attend:
    ●
        Some Daily Scrums - be quiet
    ●
        All Sprint Reviews
●
    Start to work on waste - now!
●
    Management by walking, asking and listening
●
    Make the first step easy for the team
●
    One successful team
●
    Removed impediments and studied results
●
    Change in perception at "ground level"
●
    A good agile reason to change the rule

                High Quality Software Development with Agile & Scrum @ March 2012
Organization Recipe
●
    Difficult - How to speak to a "culture"?
●
    Some steps:
    ●
        Transparency
    ●
        Pull
    ●
        A micro-revolution per day
    ●
        Some new roles




                High Quality Software Development with Agile & Scrum @ March 2012
The Scrum Sensei
●
    Experienced ScrumMaster
●
    Enforces rules/recipes
●
    Bad ScrumMaster as in "good cop - bad cop"
●
    Compassion!
●
    Leaves when self-organization works




                High Quality Software Development with Agile & Scrum @ March 2012
Special Thanks!


                      Presentation by: Mike Cohn
                      Presentation by: Mike Cohn
                      mike@mountaingoatsoftware.com
                      mike@mountaingoatsoftware.com
                      www.mountaingoatsoftware.com
                      www.mountaingoatsoftware.com
                      (720) 890-6110
                      (720) 890-6110




High Quality Software Development with Agile & Scrum @ March 2012
Special Thanks!

              Scrum Shock Therapy
            Björn Granvik, CTO, Jayway

       Why Scrum Projects Might Fail?
          Ronen Bar-Nahor (Ph.D)

Top 10 Reasons Why Systems Projects Fail
       Dr. Paul Dorsey, Dulcian, Inc.




    High Quality Software Development with Agile & Scrum @ March 2012
Any Questions




High Quality Software Development with Agile & Scrum @ March 2012

Contenu connexe

Tendances

Agile 101
Agile 101Agile 101
Agile 101beLithe
 
Agile vs Waterfall Project management
Agile vs Waterfall  Project management Agile vs Waterfall  Project management
Agile vs Waterfall Project management Kostiantyn Trefiak
 
Automate Your Software Development Life Cycle Using the Right Tools
Automate Your Software Development Life Cycle Using the Right ToolsAutomate Your Software Development Life Cycle Using the Right Tools
Automate Your Software Development Life Cycle Using the Right ToolsInfo-Tech Research Group
 
S.D.L.C (Software Development Life Cycle.)
S.D.L.C (Software Development Life Cycle.)S.D.L.C (Software Development Life Cycle.)
S.D.L.C (Software Development Life Cycle.)Jayesh Buwa
 
What are the Tools & Techniques in Agile Project Management?
What are the Tools & Techniques in Agile Project Management?What are the Tools & Techniques in Agile Project Management?
What are the Tools & Techniques in Agile Project Management?Tuan Yang
 
Project Governance Framework PowerPoint Presentation Slides
Project Governance Framework PowerPoint Presentation SlidesProject Governance Framework PowerPoint Presentation Slides
Project Governance Framework PowerPoint Presentation SlidesSlideTeam
 
Software Product Engineering Services | Digital Transformation
Software Product Engineering  Services | Digital TransformationSoftware Product Engineering  Services | Digital Transformation
Software Product Engineering Services | Digital TransformationSkizzle Technolabs
 
Client management.ppt
Client management.pptClient management.ppt
Client management.pptAlex de Jong
 
DevOps Overview in my own words
DevOps Overview in my own wordsDevOps Overview in my own words
DevOps Overview in my own wordsSUBHENDU KARMAKAR
 
Cloud Migration Checklist | Microsoft Azure Migration
Cloud Migration Checklist | Microsoft Azure MigrationCloud Migration Checklist | Microsoft Azure Migration
Cloud Migration Checklist | Microsoft Azure MigrationIntellika
 
Agile Software Development
Agile Software DevelopmentAgile Software Development
Agile Software DevelopmentSachith Perera
 
Data Migration Plan PowerPoint Presentation Slides
Data Migration Plan PowerPoint Presentation SlidesData Migration Plan PowerPoint Presentation Slides
Data Migration Plan PowerPoint Presentation SlidesSlideTeam
 
Agile methodologiesvswaterfall
Agile methodologiesvswaterfallAgile methodologiesvswaterfall
Agile methodologiesvswaterfallMuthu Natarajan
 
40 Agile Methods in 40 Minutes
40 Agile Methods in 40 Minutes40 Agile Methods in 40 Minutes
40 Agile Methods in 40 MinutesCraig Smith
 
SAP and Salesforce Integration
SAP and Salesforce IntegrationSAP and Salesforce Integration
SAP and Salesforce IntegrationGlenn Johnson
 
Introduction To Agile
Introduction To AgileIntroduction To Agile
Introduction To AgileKnoldus Inc.
 

Tendances (20)

Agile 101
Agile 101Agile 101
Agile 101
 
Agile vs Waterfall Project management
Agile vs Waterfall  Project management Agile vs Waterfall  Project management
Agile vs Waterfall Project management
 
Automate Your Software Development Life Cycle Using the Right Tools
Automate Your Software Development Life Cycle Using the Right ToolsAutomate Your Software Development Life Cycle Using the Right Tools
Automate Your Software Development Life Cycle Using the Right Tools
 
S.D.L.C (Software Development Life Cycle.)
S.D.L.C (Software Development Life Cycle.)S.D.L.C (Software Development Life Cycle.)
S.D.L.C (Software Development Life Cycle.)
 
Agile vs Waterfall
Agile vs WaterfallAgile vs Waterfall
Agile vs Waterfall
 
What are the Tools & Techniques in Agile Project Management?
What are the Tools & Techniques in Agile Project Management?What are the Tools & Techniques in Agile Project Management?
What are the Tools & Techniques in Agile Project Management?
 
Project Governance Framework PowerPoint Presentation Slides
Project Governance Framework PowerPoint Presentation SlidesProject Governance Framework PowerPoint Presentation Slides
Project Governance Framework PowerPoint Presentation Slides
 
Introduction to Scrum for Project Managers
Introduction to Scrum for Project ManagersIntroduction to Scrum for Project Managers
Introduction to Scrum for Project Managers
 
Software Product Engineering Services | Digital Transformation
Software Product Engineering  Services | Digital TransformationSoftware Product Engineering  Services | Digital Transformation
Software Product Engineering Services | Digital Transformation
 
Client management.ppt
Client management.pptClient management.ppt
Client management.ppt
 
DevOps Overview in my own words
DevOps Overview in my own wordsDevOps Overview in my own words
DevOps Overview in my own words
 
Cloud Migration Checklist | Microsoft Azure Migration
Cloud Migration Checklist | Microsoft Azure MigrationCloud Migration Checklist | Microsoft Azure Migration
Cloud Migration Checklist | Microsoft Azure Migration
 
Agile
AgileAgile
Agile
 
Agile Software Development
Agile Software DevelopmentAgile Software Development
Agile Software Development
 
Data Migration Plan PowerPoint Presentation Slides
Data Migration Plan PowerPoint Presentation SlidesData Migration Plan PowerPoint Presentation Slides
Data Migration Plan PowerPoint Presentation Slides
 
Agile methodologiesvswaterfall
Agile methodologiesvswaterfallAgile methodologiesvswaterfall
Agile methodologiesvswaterfall
 
40 Agile Methods in 40 Minutes
40 Agile Methods in 40 Minutes40 Agile Methods in 40 Minutes
40 Agile Methods in 40 Minutes
 
SAP and Salesforce Integration
SAP and Salesforce IntegrationSAP and Salesforce Integration
SAP and Salesforce Integration
 
Introduction To Agile
Introduction To AgileIntroduction To Agile
Introduction To Agile
 
Agile mindset
Agile mindsetAgile mindset
Agile mindset
 

En vedette

Learn Agile Development Through Tetris
Learn Agile Development Through TetrisLearn Agile Development Through Tetris
Learn Agile Development Through TetrisMark Daggett
 
Flowcon - Mixing Lean UX & Agile Development
Flowcon - Mixing Lean UX & Agile DevelopmentFlowcon - Mixing Lean UX & Agile Development
Flowcon - Mixing Lean UX & Agile DevelopmentCourtney Hemphill
 
Agile for-dummies
Agile for-dummiesAgile for-dummies
Agile for-dummiesRajiv Kane
 
UX Camp 2017 – How UX survives in agile development
UX Camp 2017 – How UX survives in agile developmentUX Camp 2017 – How UX survives in agile development
UX Camp 2017 – How UX survives in agile developmentJanne_Bjorsted
 
Making Agile development and UX work at Citizens Advice
Making Agile development and UX work at Citizens AdviceMaking Agile development and UX work at Citizens Advice
Making Agile development and UX work at Citizens AdviceNexer Digital
 
9 steps to agile adoption – a proposal
9 steps to agile adoption – a proposal9 steps to agile adoption – a proposal
9 steps to agile adoption – a proposalNaveen Indusekhar
 
UX Neat, Agile Chaser – Your Step-By-Step Guide For Blending UX and Agile in ...
UX Neat, Agile Chaser – Your Step-By-Step Guide For Blending UX and Agile in ...UX Neat, Agile Chaser – Your Step-By-Step Guide For Blending UX and Agile in ...
UX Neat, Agile Chaser – Your Step-By-Step Guide For Blending UX and Agile in ...UXPA Boston
 
12 principles for Agile Development
12 principles for Agile Development 12 principles for Agile Development
12 principles for Agile Development Julien Henzelin
 
Cross-functional team collaboration between Agile development and UX design
Cross-functional team collaboration between Agile development and UX designCross-functional team collaboration between Agile development and UX design
Cross-functional team collaboration between Agile development and UX designDug Falby
 

En vedette (10)

Learn Agile Development Through Tetris
Learn Agile Development Through TetrisLearn Agile Development Through Tetris
Learn Agile Development Through Tetris
 
Flowcon - Mixing Lean UX & Agile Development
Flowcon - Mixing Lean UX & Agile DevelopmentFlowcon - Mixing Lean UX & Agile Development
Flowcon - Mixing Lean UX & Agile Development
 
Agile for-dummies
Agile for-dummiesAgile for-dummies
Agile for-dummies
 
UX Camp 2017 – How UX survives in agile development
UX Camp 2017 – How UX survives in agile developmentUX Camp 2017 – How UX survives in agile development
UX Camp 2017 – How UX survives in agile development
 
Making Agile development and UX work at Citizens Advice
Making Agile development and UX work at Citizens AdviceMaking Agile development and UX work at Citizens Advice
Making Agile development and UX work at Citizens Advice
 
9 steps to agile adoption – a proposal
9 steps to agile adoption – a proposal9 steps to agile adoption – a proposal
9 steps to agile adoption – a proposal
 
UX in an agile environment, 6 December 2016, Copenhagen
UX in an agile environment, 6 December 2016, CopenhagenUX in an agile environment, 6 December 2016, Copenhagen
UX in an agile environment, 6 December 2016, Copenhagen
 
UX Neat, Agile Chaser – Your Step-By-Step Guide For Blending UX and Agile in ...
UX Neat, Agile Chaser – Your Step-By-Step Guide For Blending UX and Agile in ...UX Neat, Agile Chaser – Your Step-By-Step Guide For Blending UX and Agile in ...
UX Neat, Agile Chaser – Your Step-By-Step Guide For Blending UX and Agile in ...
 
12 principles for Agile Development
12 principles for Agile Development 12 principles for Agile Development
12 principles for Agile Development
 
Cross-functional team collaboration between Agile development and UX design
Cross-functional team collaboration between Agile development and UX designCross-functional team collaboration between Agile development and UX design
Cross-functional team collaboration between Agile development and UX design
 

Similaire à High Quality Software Development with Agile and Scrum

GMO'less Software Development Practices
GMO'less Software Development PracticesGMO'less Software Development Practices
GMO'less Software Development PracticesLemi Orhan Ergin
 
Agile Methodology
Agile MethodologyAgile Methodology
Agile MethodologySapna Sood
 
SCA in an Agile World | June 2010
SCA in an Agile World | June 2010SCA in an Agile World | June 2010
SCA in an Agile World | June 2010Klocwork
 
How Do You Build Software? Software Engineering Practices of an Agile Developer
How Do You Build Software? Software Engineering Practices of an Agile DeveloperHow Do You Build Software? Software Engineering Practices of an Agile Developer
How Do You Build Software? Software Engineering Practices of an Agile DeveloperLemi Orhan Ergin
 
DevOpsDays Jakarta Igites
DevOpsDays Jakarta IgitesDevOpsDays Jakarta Igites
DevOpsDays Jakarta IgitesDevOpsDaysJKT
 
Agile software development
Agile software development Agile software development
Agile software development saurabh goel
 
Emerging Trends of Software Engineering
Emerging Trends of Software Engineering Emerging Trends of Software Engineering
Emerging Trends of Software Engineering DR. Ram Kumar Pathak
 
Why Agile? Why Now? IPMA Forum 2009
Why Agile? Why Now?   IPMA Forum 2009Why Agile? Why Now?   IPMA Forum 2009
Why Agile? Why Now? IPMA Forum 2009skipangel
 
AMIS 25: DevOps Best Practice for Oracle SOA and BPM
AMIS 25: DevOps Best Practice for Oracle SOA and BPMAMIS 25: DevOps Best Practice for Oracle SOA and BPM
AMIS 25: DevOps Best Practice for Oracle SOA and BPMMatt Wright
 
Adopting scaled agile framework webinar v1.0
Adopting scaled agile framework   webinar v1.0Adopting scaled agile framework   webinar v1.0
Adopting scaled agile framework webinar v1.0Reedy Feggins Jr
 
IBM DevOps - Adopting Scaled Agile Framework (SAFe) Webinar
IBM DevOps - Adopting Scaled Agile Framework (SAFe) WebinarIBM DevOps - Adopting Scaled Agile Framework (SAFe) Webinar
IBM DevOps - Adopting Scaled Agile Framework (SAFe) WebinarReedy Feggins Jr
 
Agile and its impact to Project Management 022218.pptx
Agile and its impact to Project Management 022218.pptxAgile and its impact to Project Management 022218.pptx
Agile and its impact to Project Management 022218.pptxPerumalPitchandi
 
Introduction to Agile Methodologies
Introduction to Agile MethodologiesIntroduction to Agile Methodologies
Introduction to Agile MethodologiesSiddhi
 
Software Engineering Methodologies
Software Engineering MethodologiesSoftware Engineering Methodologies
Software Engineering MethodologiesNesrine Shokry
 
Managing Agile Software Development Projects
Managing Agile Software Development ProjectsManaging Agile Software Development Projects
Managing Agile Software Development ProjectsMartina Šimičić
 
Agile: Developing Software at the Pace of Information
Agile: Developing Software at the Pace of InformationAgile: Developing Software at the Pace of Information
Agile: Developing Software at the Pace of InformationInnoTech
 

Similaire à High Quality Software Development with Agile and Scrum (20)

GMO'less Software Development Practices
GMO'less Software Development PracticesGMO'less Software Development Practices
GMO'less Software Development Practices
 
Agile Methodology
Agile MethodologyAgile Methodology
Agile Methodology
 
SCA in an Agile World | June 2010
SCA in an Agile World | June 2010SCA in an Agile World | June 2010
SCA in an Agile World | June 2010
 
How Do You Build Software? Software Engineering Practices of an Agile Developer
How Do You Build Software? Software Engineering Practices of an Agile DeveloperHow Do You Build Software? Software Engineering Practices of an Agile Developer
How Do You Build Software? Software Engineering Practices of an Agile Developer
 
Agile Engineering Practices
Agile Engineering PracticesAgile Engineering Practices
Agile Engineering Practices
 
DevOpsDays Jakarta Igites
DevOpsDays Jakarta IgitesDevOpsDays Jakarta Igites
DevOpsDays Jakarta Igites
 
Agile software development
Agile software development Agile software development
Agile software development
 
Emerging Trends of Software Engineering
Emerging Trends of Software Engineering Emerging Trends of Software Engineering
Emerging Trends of Software Engineering
 
Why Agile? Why Now? IPMA Forum 2009
Why Agile? Why Now?   IPMA Forum 2009Why Agile? Why Now?   IPMA Forum 2009
Why Agile? Why Now? IPMA Forum 2009
 
AMIS 25: DevOps Best Practice for Oracle SOA and BPM
AMIS 25: DevOps Best Practice for Oracle SOA and BPMAMIS 25: DevOps Best Practice for Oracle SOA and BPM
AMIS 25: DevOps Best Practice for Oracle SOA and BPM
 
Agile Science
Agile ScienceAgile Science
Agile Science
 
Outsourcing With Agile
Outsourcing With AgileOutsourcing With Agile
Outsourcing With Agile
 
Adopting scaled agile framework webinar v1.0
Adopting scaled agile framework   webinar v1.0Adopting scaled agile framework   webinar v1.0
Adopting scaled agile framework webinar v1.0
 
IBM DevOps - Adopting Scaled Agile Framework (SAFe) Webinar
IBM DevOps - Adopting Scaled Agile Framework (SAFe) WebinarIBM DevOps - Adopting Scaled Agile Framework (SAFe) Webinar
IBM DevOps - Adopting Scaled Agile Framework (SAFe) Webinar
 
Getting Started with Scrum
Getting Started with ScrumGetting Started with Scrum
Getting Started with Scrum
 
Agile and its impact to Project Management 022218.pptx
Agile and its impact to Project Management 022218.pptxAgile and its impact to Project Management 022218.pptx
Agile and its impact to Project Management 022218.pptx
 
Introduction to Agile Methodologies
Introduction to Agile MethodologiesIntroduction to Agile Methodologies
Introduction to Agile Methodologies
 
Software Engineering Methodologies
Software Engineering MethodologiesSoftware Engineering Methodologies
Software Engineering Methodologies
 
Managing Agile Software Development Projects
Managing Agile Software Development ProjectsManaging Agile Software Development Projects
Managing Agile Software Development Projects
 
Agile: Developing Software at the Pace of Information
Agile: Developing Software at the Pace of InformationAgile: Developing Software at the Pace of Information
Agile: Developing Software at the Pace of Information
 

Plus de Lemi Orhan Ergin

Clean Software Design: The Practices to Make The Design Simple
Clean Software Design: The Practices to Make The Design SimpleClean Software Design: The Practices to Make The Design Simple
Clean Software Design: The Practices to Make The Design SimpleLemi Orhan Ergin
 
Unwritten Manual for Pair Programming
Unwritten Manual for Pair ProgrammingUnwritten Manual for Pair Programming
Unwritten Manual for Pair ProgrammingLemi Orhan Ergin
 
10 Faulty Behaviors of Code Review - Developer Summit Istanbul 2018
10 Faulty Behaviors of Code Review - Developer Summit Istanbul 201810 Faulty Behaviors of Code Review - Developer Summit Istanbul 2018
10 Faulty Behaviors of Code Review - Developer Summit Istanbul 2018Lemi Orhan Ergin
 
Yeni Nesil Yazılım Kültürü: Daha İyi Profesyoneller, Daha Kaliteli Yazılım, D...
Yeni Nesil Yazılım Kültürü: Daha İyi Profesyoneller, Daha Kaliteli Yazılım, D...Yeni Nesil Yazılım Kültürü: Daha İyi Profesyoneller, Daha Kaliteli Yazılım, D...
Yeni Nesil Yazılım Kültürü: Daha İyi Profesyoneller, Daha Kaliteli Yazılım, D...Lemi Orhan Ergin
 
Irresponsible Disclosure: Short Handbook of an Ethical Developer
Irresponsible Disclosure: Short Handbook of an Ethical DeveloperIrresponsible Disclosure: Short Handbook of an Ethical Developer
Irresponsible Disclosure: Short Handbook of an Ethical DeveloperLemi Orhan Ergin
 
Scrum Events and Artifacts in Action
Scrum Events and Artifacts in ActionScrum Events and Artifacts in Action
Scrum Events and Artifacts in ActionLemi Orhan Ergin
 
DevOps & Technical Agility: From Theory to Practice
DevOps & Technical Agility: From Theory to PracticeDevOps & Technical Agility: From Theory to Practice
DevOps & Technical Agility: From Theory to PracticeLemi Orhan Ergin
 
Fighting with Waste Driven Development - XP Days Ukraine 2017
Fighting with Waste Driven Development - XP Days Ukraine 2017Fighting with Waste Driven Development - XP Days Ukraine 2017
Fighting with Waste Driven Development - XP Days Ukraine 2017Lemi Orhan Ergin
 
Git Anti Patterns - XP Days Ukraine 2017
Git Anti Patterns - XP Days Ukraine 2017Git Anti Patterns - XP Days Ukraine 2017
Git Anti Patterns - XP Days Ukraine 2017Lemi Orhan Ergin
 
Waste Driven Development - Agile Coaching Serbia Meetup
Waste Driven Development - Agile Coaching Serbia MeetupWaste Driven Development - Agile Coaching Serbia Meetup
Waste Driven Development - Agile Coaching Serbia MeetupLemi Orhan Ergin
 
Git Anti-Patterns - Extended Version With 28 Common Anti-Patterns) - SCTurkey...
Git Anti-Patterns - Extended Version With 28 Common Anti-Patterns) - SCTurkey...Git Anti-Patterns - Extended Version With 28 Common Anti-Patterns) - SCTurkey...
Git Anti-Patterns - Extended Version With 28 Common Anti-Patterns) - SCTurkey...Lemi Orhan Ergin
 
Git Anti-Patterns: How To Mess Up With Git and Love it Again - DevoxxPL 2017
Git Anti-Patterns: How To Mess Up With Git and Love it Again - DevoxxPL 2017Git Anti-Patterns: How To Mess Up With Git and Love it Again - DevoxxPL 2017
Git Anti-Patterns: How To Mess Up With Git and Love it Again - DevoxxPL 2017Lemi Orhan Ergin
 
Yazılım Geliştirme Kültürünün Kodları: Motivasyon, Teknik Mükemmellik ve İnov...
Yazılım Geliştirme Kültürünün Kodları: Motivasyon, Teknik Mükemmellik ve İnov...Yazılım Geliştirme Kültürünün Kodları: Motivasyon, Teknik Mükemmellik ve İnov...
Yazılım Geliştirme Kültürünün Kodları: Motivasyon, Teknik Mükemmellik ve İnov...Lemi Orhan Ergin
 
Git Anti-Patterns: How To Mess Up With Git and Love it Again
Git Anti-Patterns: How To Mess Up With Git and Love it AgainGit Anti-Patterns: How To Mess Up With Git and Love it Again
Git Anti-Patterns: How To Mess Up With Git and Love it AgainLemi Orhan Ergin
 
Clean Software Design - DevNot Summit Istanbul 2017
Clean Software Design - DevNot Summit Istanbul 2017Clean Software Design - DevNot Summit Istanbul 2017
Clean Software Design - DevNot Summit Istanbul 2017Lemi Orhan Ergin
 
Test Driven Design - GDG DevFest Istanbul 2016
Test Driven Design - GDG DevFest Istanbul 2016Test Driven Design - GDG DevFest Istanbul 2016
Test Driven Design - GDG DevFest Istanbul 2016Lemi Orhan Ergin
 
Let The Elephants Leave The Room - Remove Waste in Software Development - Bos...
Let The Elephants Leave The Room - Remove Waste in Software Development - Bos...Let The Elephants Leave The Room - Remove Waste in Software Development - Bos...
Let The Elephants Leave The Room - Remove Waste in Software Development - Bos...Lemi Orhan Ergin
 
Happy Developer's Guide to the Galaxy: Thinking About Motivation of Developers
Happy Developer's Guide to the Galaxy: Thinking About Motivation of DevelopersHappy Developer's Guide to the Galaxy: Thinking About Motivation of Developers
Happy Developer's Guide to the Galaxy: Thinking About Motivation of DevelopersLemi Orhan Ergin
 
Git - Bildiğiniz Gibi Değil
Git - Bildiğiniz Gibi DeğilGit - Bildiğiniz Gibi Değil
Git - Bildiğiniz Gibi DeğilLemi Orhan Ergin
 
Code Your Agility - Tips for Boosting Technical Agility in Your Organization
Code Your Agility - Tips for Boosting Technical Agility in Your OrganizationCode Your Agility - Tips for Boosting Technical Agility in Your Organization
Code Your Agility - Tips for Boosting Technical Agility in Your OrganizationLemi Orhan Ergin
 

Plus de Lemi Orhan Ergin (20)

Clean Software Design: The Practices to Make The Design Simple
Clean Software Design: The Practices to Make The Design SimpleClean Software Design: The Practices to Make The Design Simple
Clean Software Design: The Practices to Make The Design Simple
 
Unwritten Manual for Pair Programming
Unwritten Manual for Pair ProgrammingUnwritten Manual for Pair Programming
Unwritten Manual for Pair Programming
 
10 Faulty Behaviors of Code Review - Developer Summit Istanbul 2018
10 Faulty Behaviors of Code Review - Developer Summit Istanbul 201810 Faulty Behaviors of Code Review - Developer Summit Istanbul 2018
10 Faulty Behaviors of Code Review - Developer Summit Istanbul 2018
 
Yeni Nesil Yazılım Kültürü: Daha İyi Profesyoneller, Daha Kaliteli Yazılım, D...
Yeni Nesil Yazılım Kültürü: Daha İyi Profesyoneller, Daha Kaliteli Yazılım, D...Yeni Nesil Yazılım Kültürü: Daha İyi Profesyoneller, Daha Kaliteli Yazılım, D...
Yeni Nesil Yazılım Kültürü: Daha İyi Profesyoneller, Daha Kaliteli Yazılım, D...
 
Irresponsible Disclosure: Short Handbook of an Ethical Developer
Irresponsible Disclosure: Short Handbook of an Ethical DeveloperIrresponsible Disclosure: Short Handbook of an Ethical Developer
Irresponsible Disclosure: Short Handbook of an Ethical Developer
 
Scrum Events and Artifacts in Action
Scrum Events and Artifacts in ActionScrum Events and Artifacts in Action
Scrum Events and Artifacts in Action
 
DevOps & Technical Agility: From Theory to Practice
DevOps & Technical Agility: From Theory to PracticeDevOps & Technical Agility: From Theory to Practice
DevOps & Technical Agility: From Theory to Practice
 
Fighting with Waste Driven Development - XP Days Ukraine 2017
Fighting with Waste Driven Development - XP Days Ukraine 2017Fighting with Waste Driven Development - XP Days Ukraine 2017
Fighting with Waste Driven Development - XP Days Ukraine 2017
 
Git Anti Patterns - XP Days Ukraine 2017
Git Anti Patterns - XP Days Ukraine 2017Git Anti Patterns - XP Days Ukraine 2017
Git Anti Patterns - XP Days Ukraine 2017
 
Waste Driven Development - Agile Coaching Serbia Meetup
Waste Driven Development - Agile Coaching Serbia MeetupWaste Driven Development - Agile Coaching Serbia Meetup
Waste Driven Development - Agile Coaching Serbia Meetup
 
Git Anti-Patterns - Extended Version With 28 Common Anti-Patterns) - SCTurkey...
Git Anti-Patterns - Extended Version With 28 Common Anti-Patterns) - SCTurkey...Git Anti-Patterns - Extended Version With 28 Common Anti-Patterns) - SCTurkey...
Git Anti-Patterns - Extended Version With 28 Common Anti-Patterns) - SCTurkey...
 
Git Anti-Patterns: How To Mess Up With Git and Love it Again - DevoxxPL 2017
Git Anti-Patterns: How To Mess Up With Git and Love it Again - DevoxxPL 2017Git Anti-Patterns: How To Mess Up With Git and Love it Again - DevoxxPL 2017
Git Anti-Patterns: How To Mess Up With Git and Love it Again - DevoxxPL 2017
 
Yazılım Geliştirme Kültürünün Kodları: Motivasyon, Teknik Mükemmellik ve İnov...
Yazılım Geliştirme Kültürünün Kodları: Motivasyon, Teknik Mükemmellik ve İnov...Yazılım Geliştirme Kültürünün Kodları: Motivasyon, Teknik Mükemmellik ve İnov...
Yazılım Geliştirme Kültürünün Kodları: Motivasyon, Teknik Mükemmellik ve İnov...
 
Git Anti-Patterns: How To Mess Up With Git and Love it Again
Git Anti-Patterns: How To Mess Up With Git and Love it AgainGit Anti-Patterns: How To Mess Up With Git and Love it Again
Git Anti-Patterns: How To Mess Up With Git and Love it Again
 
Clean Software Design - DevNot Summit Istanbul 2017
Clean Software Design - DevNot Summit Istanbul 2017Clean Software Design - DevNot Summit Istanbul 2017
Clean Software Design - DevNot Summit Istanbul 2017
 
Test Driven Design - GDG DevFest Istanbul 2016
Test Driven Design - GDG DevFest Istanbul 2016Test Driven Design - GDG DevFest Istanbul 2016
Test Driven Design - GDG DevFest Istanbul 2016
 
Let The Elephants Leave The Room - Remove Waste in Software Development - Bos...
Let The Elephants Leave The Room - Remove Waste in Software Development - Bos...Let The Elephants Leave The Room - Remove Waste in Software Development - Bos...
Let The Elephants Leave The Room - Remove Waste in Software Development - Bos...
 
Happy Developer's Guide to the Galaxy: Thinking About Motivation of Developers
Happy Developer's Guide to the Galaxy: Thinking About Motivation of DevelopersHappy Developer's Guide to the Galaxy: Thinking About Motivation of Developers
Happy Developer's Guide to the Galaxy: Thinking About Motivation of Developers
 
Git - Bildiğiniz Gibi Değil
Git - Bildiğiniz Gibi DeğilGit - Bildiğiniz Gibi Değil
Git - Bildiğiniz Gibi Değil
 
Code Your Agility - Tips for Boosting Technical Agility in Your Organization
Code Your Agility - Tips for Boosting Technical Agility in Your OrganizationCode Your Agility - Tips for Boosting Technical Agility in Your Organization
Code Your Agility - Tips for Boosting Technical Agility in Your Organization
 

Dernier

Earth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice greatEarth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice greatYousafMalik24
 
Active Learning Strategies (in short ALS).pdf
Active Learning Strategies (in short ALS).pdfActive Learning Strategies (in short ALS).pdf
Active Learning Strategies (in short ALS).pdfPatidar M
 
Q4-PPT-Music9_Lesson-1-Romantic-Opera.pptx
Q4-PPT-Music9_Lesson-1-Romantic-Opera.pptxQ4-PPT-Music9_Lesson-1-Romantic-Opera.pptx
Q4-PPT-Music9_Lesson-1-Romantic-Opera.pptxlancelewisportillo
 
Field Attribute Index Feature in Odoo 17
Field Attribute Index Feature in Odoo 17Field Attribute Index Feature in Odoo 17
Field Attribute Index Feature in Odoo 17Celine George
 
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptx
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptxMULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptx
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptxAnupkumar Sharma
 
Integumentary System SMP B. Pharm Sem I.ppt
Integumentary System SMP B. Pharm Sem I.pptIntegumentary System SMP B. Pharm Sem I.ppt
Integumentary System SMP B. Pharm Sem I.pptshraddhaparab530
 
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...Nguyen Thanh Tu Collection
 
Global Lehigh Strategic Initiatives (without descriptions)
Global Lehigh Strategic Initiatives (without descriptions)Global Lehigh Strategic Initiatives (without descriptions)
Global Lehigh Strategic Initiatives (without descriptions)cama23
 
AUDIENCE THEORY -CULTIVATION THEORY - GERBNER.pptx
AUDIENCE THEORY -CULTIVATION THEORY -  GERBNER.pptxAUDIENCE THEORY -CULTIVATION THEORY -  GERBNER.pptx
AUDIENCE THEORY -CULTIVATION THEORY - GERBNER.pptxiammrhaywood
 
4.16.24 21st Century Movements for Black Lives.pptx
4.16.24 21st Century Movements for Black Lives.pptx4.16.24 21st Century Movements for Black Lives.pptx
4.16.24 21st Century Movements for Black Lives.pptxmary850239
 
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdf
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdfGrade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdf
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdfJemuel Francisco
 
Virtual-Orientation-on-the-Administration-of-NATG12-NATG6-and-ELLNA.pdf
Virtual-Orientation-on-the-Administration-of-NATG12-NATG6-and-ELLNA.pdfVirtual-Orientation-on-the-Administration-of-NATG12-NATG6-and-ELLNA.pdf
Virtual-Orientation-on-the-Administration-of-NATG12-NATG6-and-ELLNA.pdfErwinPantujan2
 
Choosing the Right CBSE School A Comprehensive Guide for Parents
Choosing the Right CBSE School A Comprehensive Guide for ParentsChoosing the Right CBSE School A Comprehensive Guide for Parents
Choosing the Right CBSE School A Comprehensive Guide for Parentsnavabharathschool99
 
Influencing policy (training slides from Fast Track Impact)
Influencing policy (training slides from Fast Track Impact)Influencing policy (training slides from Fast Track Impact)
Influencing policy (training slides from Fast Track Impact)Mark Reed
 
Student Profile Sample - We help schools to connect the data they have, with ...
Student Profile Sample - We help schools to connect the data they have, with ...Student Profile Sample - We help schools to connect the data they have, with ...
Student Profile Sample - We help schools to connect the data they have, with ...Seán Kennedy
 
Daily Lesson Plan in Mathematics Quarter 4
Daily Lesson Plan in Mathematics Quarter 4Daily Lesson Plan in Mathematics Quarter 4
Daily Lesson Plan in Mathematics Quarter 4JOYLYNSAMANIEGO
 
Karra SKD Conference Presentation Revised.pptx
Karra SKD Conference Presentation Revised.pptxKarra SKD Conference Presentation Revised.pptx
Karra SKD Conference Presentation Revised.pptxAshokKarra1
 

Dernier (20)

Earth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice greatEarth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice great
 
Active Learning Strategies (in short ALS).pdf
Active Learning Strategies (in short ALS).pdfActive Learning Strategies (in short ALS).pdf
Active Learning Strategies (in short ALS).pdf
 
Q4-PPT-Music9_Lesson-1-Romantic-Opera.pptx
Q4-PPT-Music9_Lesson-1-Romantic-Opera.pptxQ4-PPT-Music9_Lesson-1-Romantic-Opera.pptx
Q4-PPT-Music9_Lesson-1-Romantic-Opera.pptx
 
Field Attribute Index Feature in Odoo 17
Field Attribute Index Feature in Odoo 17Field Attribute Index Feature in Odoo 17
Field Attribute Index Feature in Odoo 17
 
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptx
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptxMULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptx
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptx
 
Integumentary System SMP B. Pharm Sem I.ppt
Integumentary System SMP B. Pharm Sem I.pptIntegumentary System SMP B. Pharm Sem I.ppt
Integumentary System SMP B. Pharm Sem I.ppt
 
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
 
Global Lehigh Strategic Initiatives (without descriptions)
Global Lehigh Strategic Initiatives (without descriptions)Global Lehigh Strategic Initiatives (without descriptions)
Global Lehigh Strategic Initiatives (without descriptions)
 
AUDIENCE THEORY -CULTIVATION THEORY - GERBNER.pptx
AUDIENCE THEORY -CULTIVATION THEORY -  GERBNER.pptxAUDIENCE THEORY -CULTIVATION THEORY -  GERBNER.pptx
AUDIENCE THEORY -CULTIVATION THEORY - GERBNER.pptx
 
YOUVE_GOT_EMAIL_PRELIMS_EL_DORADO_2024.pptx
YOUVE_GOT_EMAIL_PRELIMS_EL_DORADO_2024.pptxYOUVE_GOT_EMAIL_PRELIMS_EL_DORADO_2024.pptx
YOUVE_GOT_EMAIL_PRELIMS_EL_DORADO_2024.pptx
 
4.16.24 21st Century Movements for Black Lives.pptx
4.16.24 21st Century Movements for Black Lives.pptx4.16.24 21st Century Movements for Black Lives.pptx
4.16.24 21st Century Movements for Black Lives.pptx
 
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdf
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdfGrade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdf
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdf
 
YOUVE GOT EMAIL_FINALS_EL_DORADO_2024.pptx
YOUVE GOT EMAIL_FINALS_EL_DORADO_2024.pptxYOUVE GOT EMAIL_FINALS_EL_DORADO_2024.pptx
YOUVE GOT EMAIL_FINALS_EL_DORADO_2024.pptx
 
Virtual-Orientation-on-the-Administration-of-NATG12-NATG6-and-ELLNA.pdf
Virtual-Orientation-on-the-Administration-of-NATG12-NATG6-and-ELLNA.pdfVirtual-Orientation-on-the-Administration-of-NATG12-NATG6-and-ELLNA.pdf
Virtual-Orientation-on-the-Administration-of-NATG12-NATG6-and-ELLNA.pdf
 
Choosing the Right CBSE School A Comprehensive Guide for Parents
Choosing the Right CBSE School A Comprehensive Guide for ParentsChoosing the Right CBSE School A Comprehensive Guide for Parents
Choosing the Right CBSE School A Comprehensive Guide for Parents
 
Influencing policy (training slides from Fast Track Impact)
Influencing policy (training slides from Fast Track Impact)Influencing policy (training slides from Fast Track Impact)
Influencing policy (training slides from Fast Track Impact)
 
FINALS_OF_LEFT_ON_C'N_EL_DORADO_2024.pptx
FINALS_OF_LEFT_ON_C'N_EL_DORADO_2024.pptxFINALS_OF_LEFT_ON_C'N_EL_DORADO_2024.pptx
FINALS_OF_LEFT_ON_C'N_EL_DORADO_2024.pptx
 
Student Profile Sample - We help schools to connect the data they have, with ...
Student Profile Sample - We help schools to connect the data they have, with ...Student Profile Sample - We help schools to connect the data they have, with ...
Student Profile Sample - We help schools to connect the data they have, with ...
 
Daily Lesson Plan in Mathematics Quarter 4
Daily Lesson Plan in Mathematics Quarter 4Daily Lesson Plan in Mathematics Quarter 4
Daily Lesson Plan in Mathematics Quarter 4
 
Karra SKD Conference Presentation Revised.pptx
Karra SKD Conference Presentation Revised.pptxKarra SKD Conference Presentation Revised.pptx
Karra SKD Conference Presentation Revised.pptx
 

High Quality Software Development with Agile and Scrum

  • 1. HIGH QUALITY SOFTWARE DEVELOPMENT WITH AGILE & SCRUM W I T H P RA C T I C A L TIPS AND TRICKS LEMİ ORHAN ERGİN SENIOR SOFTWARE ENGINEER GITTIGIDIYOR / EBAY High Quality Software Development with Agile & Scrum @ March 2012
  • 2. About the author Lemi Orhan Ergin Senior Software Engineer GittiGidiyor / eBay Projects involved: E-Commence Site For Mould Industry (e-Tool) - BYM Legacy Product Information Management System (SPICE) - Sony Brand-New Product Information Management System (SPIDER) - Sony Mebs Taburu Yönetim Sistemi (MEBSİS) - Turkish Air Forces Marketing sites for all European Countries (ODW) - Sony Web Experience Project / Common Toolbar Project (WEP) - Sony Core Backend Services & Components Project (Ox, Commons) - Sony Product Data Delivery Engine / Hub & Client (Sparrow, Octopus) - Sony Content Delivery and Aggregation Services (Xula) - Sony Education: B.Sc. Marmara University, Computer Science Engineering, 1997 – 2002 M.Sc. Marmara University, Computer Science Engineering, 2002 – 2005 High Quality Software Development with Agile & Scrum @ March 2012
  • 3. This presentation is based on The author's experience in:  Certified Scrum Master since 2009 (trained by Jim Coplien)  Played scrum master role for more than 1 year  Taking lead on development teams, including Scrum teams  Participated in Scrum teams since 2008 (for more than 50 sprints) Q&A session with Mitch Lacey on Oct 12th, 2010 CSM training with Jim Coplien on Jan 31st, 2009 High Quality Software Development with Agile & Scrum @ March 2012
  • 4. Caution There is no one true method of software development Agile is not a religion There's no scientific way to prove that Agile is any better There is no silver bullet We are not resources, we are humans. Therefore we love doing our job by following human-centric methodologies, like Agile High Quality Software Development with Agile & Scrum @ March 2012
  • 5. Warning Be ready to change your culture Be ready for more communication with your teammates Be ready to observe your environment and improve Be ready to learn how big companies develop software Be ready for tons of new questions to ask The Boy Scouts have a rule: "Always leave the campground cleaner than you found it." High Quality Software Development with Agile & Scrum @ March 2012
  • 6. Key Concepts We Will Cover ● Module 1. Born to fail ● Why projects are failing ● Waterfall & traditional software development ● Module 2. Agile ● Module 3. Scrum ● Module 4. Writing high quality software with Agile ● XP ● How Google Write Software ● Module 5. Do's and dont's ● How Scrum might fail ● Myths and realities ● Module 6. How to kick off Scrum High Quality Software Development with Agile & Scrum @ March 2012
  • 7. Module 1. Born to fail http://chan4chan.com/archive/87929/Windows_-_A_fatal_exception_0E_has_occurred High Quality Software Development with Agile & Scrum @ March 2012
  • 8. Projects are failing! Gardner Institute Tata Consultancy 2007 ● 74% failing ● 62% failed to meet their schedules ● 51% of it exceeds budget ● 49% suffered from budget overruns Oxford University (Saur & Cuthbertson, 2003) ● 47% had higher maintenance costs ● 16% successful ● 41% failed to deliver the expected business value and ROI ● 74% challenged ● 33% file to perform against expectations ● 10% abandoned Standish Group If building engineers built buildings with the same care as software engineers build systems, the first woodpecker to come along would be the end of civilization as we know it. “Top 10 Reasons Why Systems Projects Fail”, Dr. Paul Dorsey High Quality Software Development with Agile & Scrum @ March 2012
  • 9. Project cancelled Size of project Early On-Time Delayed Cancelled Sum 1 function point 14.68% 83.16% 1.92% 0.25% 100.00% 10 function points 11.08% 81.25% 5.67% 2.00% 100.00% 100 function points 6.06% 74.77% 11.83% 7.33% 100.00% 1,000 function points 1.24% 60.76% 17.67% 20.33% 100.00% 10,000 function points 0.14% 28.00% 23.83% 48.00% 100.00% 100,000 function points 0.00% 13.67% 21.33% 65.00% 100.00% Average 5.53% 56.94% 13.71% 23.82% 100.00% Table 1: Percentage of projects early, on-time, late, canceled (from Patterns of Software Systems Failure and Success, by Capers Jones) High Quality Software Development with Agile & Scrum @ March 2012
  • 10. Failing costs! Annual cost to US economy of poor quality software: $60B US NIST Report 7007.011, May 2002. Equals to US millitary spending in Iraq and Afghanistan wars http://www.huffingtonpost.com/2011/08/30/military-spending-waste_n_942723.html Typical industrial / commercial software development: 6-30 faults delivered / 1000 lines of software (1M lines: 6000-30,000 faults on delivery) Pfleeger& Hatton, IEEE Computer, pp33-42, February 1997. High Quality Software Development with Agile & Scrum @ March 2012
  • 11. The Current State of the Software Industry Ever higher complexity, continuous change, super fast markets Large Scale systems are now the norm Low qualified labour is not the answer for creating high-value products The software industry needs Technical Leaders, and these will not just pop up in an ad-hoc way Projects live and die because of Technology, People and Processes; universities typically only teach the first. Software projects are more than developing software. It has tens of steps, from getting requirements to give official support. High Quality Software Development with Agile & Scrum @ March 2012
  • 12. Why Systems Projects Fail 7th November 1940. Tacoma Narrows suspension bridge, in Puget Sound, Washington  http://www.answers.com/topic/galloping-gertie-large-image#ixzz1q2uRmnLK ● Lack of User Involvement ● Lack of Transparency ● Long or Unrealistic Time Scales ● Poor or No Requirements ● Bad Scope Management ● Poor Development Quality ● Poor Testing & Quality Assurance ● Inaduequate Development Methodology ● Poor Technical Knowledge and Experience High Quality Software Development with Agile & Scrum @ March 2012
  • 13. How We Develop Software Why software projects are failing? High Quality Software Development with Agile & Scrum @ March 2012
  • 14. The Horizon of Predictability High Quality Software Development with Agile & Scrum @ March 2012
  • 15. The Ghost of Uncertainty Uncertainty is part of every innovative and creative development process High Quality Software Development with Agile & Scrum @ March 2012
  • 16. Waterfall Aproach High Quality Software Development with Agile & Scrum @ March 2012
  • 17. Features of a Waterfall Model  A waterfall model is easy to follow.  It can be implemented for any size project.  Every stage has to be done separately at the right time so you cannot jump stages.  Documentation is produced at every stage of a waterfall model allowing people to understand what has been done.  Testing is done at every stage. High Quality Software Development with Agile & Scrum @ March 2012
  • 18. Assumptions of Waterfall Model  A waterfall model helps find problems earlier on which can cost a business less than if it was found later on.  Requirements will be set and these wouldn't be changed.  As everything is documented a new team member can easily understand what's to be done.  Implementers have to follow the design accurately High Quality Software Development with Agile & Scrum @ March 2012
  • 19. Realities of Waterfall Model  If requirements may change, the Waterfall model cannot work.  It is impossible to make one stage of the projects life cycle perfect.  Difficult to estimate time and cost for each stage of the development process.  Constant testing of the design is needed. DON'T DO IT http://www.vvork.com/?p=4872 High Quality Software Development with Agile & Scrum @ March 2012
  • 20. Original Paper of Waterfall Model MANAGING THE DEVELOPMENT OF LARGE SOFTWARE SYSTEMS Dr. Winston W. Royce, 1970 The implementation is risky and invites failure High Quality Software Development with Agile & Scrum @ March 2012
  • 21. Original Adviced Waterfall Model In my experience, however, the simpler method has never worked on large software development efforts and the costs to recover far exceeded those required to finance the five-step process listed. High Quality Software Development with Agile & Scrum @ March 2012
  • 22. Assumptions Traditional Agile Traditional ● Cusyomer knows what he wants ● Customer knows what he wants ● Customer discovers what he wants ● Engineer knows how to build it ● Engineer knows how to build it ● Engineer discovers how to build it ● Nothing changes along the way ● Nothing changes along the way ● Things change along the way The Agile Paradigm emraces change, unpredictability and unforseen complexity as inescapable constants in all product development High Quality Software Development with Agile & Scrum @ March 2012
  • 23. Response to Unpredictability Change Tolerance High Quality Software Development with Agile & Scrum @ March 2012
  • 24. Module 2. Agile High Quality Software Development with Agile & Scrum @ March 2012
  • 25. The Agile Manifesto Individuals and Individuals and over Process and tools Process and tools interactions interactions Comprehensive Comprehensive Working software Working software over documentation documentation Customer Customer over Contract negotiation Contract negotiation collaboration collaboration Responding to change Responding to change over Following a plan Following a plan Source: www.agilemanifesto.org High Quality Software Development with Agile & Scrum @ March 2012
  • 26. Agile Principles - I ● Our highest priority is to satisfy the customer through early and continuous delivery of valuable software ● Welcome changing requirements, even late in development. Agile processes harness change for the customer's competitive advantage. ● Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale. ● Business people and developers must work together daily throughout the project. ● Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done. ● The most efficient and effective method of conveying information to and within a development team is face-to-face conversation. High Quality Software Development with Agile & Scrum @ March 2012
  • 27. Agile Principles - II ● Working software is the primary measure of progress. ● Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely. ● Continuous attention to technical excellence and good design enhances agility. ● Simplicity -the art of maximizing the amount of work not done- is essential. ● The best architectures, requirements, and designs emerge from self-organizing teams. ● At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly. High Quality Software Development with Agile & Scrum @ March 2012
  • 28. People Oriented Agile methods are people-oriented rather then process-oriented Declaration of interdependence Unleash creativity and innovation by recognizing that individuals are the ultimate source of value, and creating an environment where they can make a difference. ©2005 David Anderson, Sanjiv Augustine, Christopher Avery, Alistair Cockburn, Mike Cohn, Doug DeCarlo, Donna Fitzgerald, Jim Highsmith, Ole Jepsen, Lowell Lindstrom, Todd Little, Kent McDonald, Pollyanna Pixton, Preston Smith and Robert Wysocki. http://pmdoi.org/ High Quality Software Development with Agile & Scrum @ March 2012
  • 29. The Agile Practices Familiy ● Extreme Programming (XP) ● Crystal ● Dynamic Systems Development Method (DSDM) ● Test Driven Development (TDD) ● Feature Driven Development (FDD) ● Essential Unified Process ● Scrum ● Kanban ● Lean High Quality Software Development with Agile & Scrum @ March 2012
  • 30. Time-boxed Activities Task are broken down into small increments (2-4 weeks), in which the team works through a full development lifecycle ● Minimizes the overall project risk • Planning is easier with frequent releases • Allows project to adapt to changes quickly High Quality Software Development with Agile & Scrum @ March 2012
  • 31. Empowered Teams Agile Teams are small (7 ± 2), Cross-functional & Self-Organizing High Quality Software Development with Agile & Scrum @ March 2012
  • 32. Collaboration Agile Working Culture High Quality Software Development with Agile & Scrum @ March 2012
  • 33. Focus on End-User and Customer We tend to build the wrong things Source: Standish Group Study Report High Quality Software Development with Agile & Scrum @ March 2012
  • 34. Customer in The Loop Agile teams contain (or have direct access to) a customer representative in order to optimized ROI High Quality Software Development with Agile & Scrum @ March 2012
  • 35. Communication Temperature Increasing communication temperature is an important goal of the Agile approach High Quality Software Development with Agile & Scrum @ March 2012
  • 36. Why Agile? High Quality Software Development with Agile & Scrum @ March 2012
  • 37. Agile Software Development Agile is an iterative and adaptive approach to software development, performed in a highly collaborative manner by self- organizing teams, with just enough ceremony that produces high quality software in a cost effective and timely manner, which meets the changing needs of its stakeholders. High Quality Software Development with Agile & Scrum @ March 2012
  • 38. Software Craftsmanship Software Craftsmanship is an DISCIPLINE in software development that emphasizes the coding skills of the software developers themselves. It is a response by software developers to the perceived ills of the mainstream software industry, including the prioritization of financial concerns over code quality. High Quality Software Development with Agile & Scrum @ March 2012 http://parlezuml.com/softwarecraftsmanship/
  • 39. Software Craftsmanship Manifesto http://manifesto.softwarecraftsmanship.org High Quality Software Development with Agile & Scrum @ March 2012
  • 40. Module 3. Scrum High Quality Software Development with Agile & Scrum @ March 2012
  • 41. Scrum in 100 words •Scrum is an agile process that allows us to focus on delivering the highest business value in the shortest time. •It allows us to rapidly and repeatedly inspect actual working software (every two weeks to one month). •The business sets the priorities. Teams self-organize to determine the best way to deliver the highest priority features. •Every two weeks to a month anyone can see real working software and decide to release it as is or continue to enhance it for another sprint . High Quality Software Development with Agile & Scrum @ March 2012
  • 42. Scrum origins • Jeff Sutherland • Initial scrums at Easel Corp in 1993 • IDX and 500+ people doing Scrum • Ken Schwaber • ADM • Scrum presented at OOPSLA 96 with Sutherland • Author of three books on Scrum • Mike Beedle • Scrum patterns in PLOPD4 • Ken Schwaber and Mike Cohn • Co-founded Scrum Alliance in 2002, initially within the Agile Alliance High Quality Software Development with Agile & Scrum @ March 2012
  • 43. Scrum has been used by: •Microsoft •Intuit •Yahoo •Nielsen Media •Google •First American Real Estate •Electronic Arts •BMC Software •Lockheed Martin •Ipswitch •Philips •John Deere •Siemens •Lexis Nexis •Nokia •Sabre •IBM •Salesforce.com •Capital One •Time Warner •BBC •Turner Broadcasting •Oce High Quality Software Development with Agile & Scrum @ March 2012
  • 44. Scrum has been used for: • Commercial software •Video game development • In-house development •FDA-approved, life-critical systems • Contract development • Fixed-price projects •Satellite-control software • Financial applications •Websites • ISO 9001-certified •Handheld software applications •Mobile phones • Embedded systems •Network switching applications • 24x7 systems with 99.999% uptime •ISV applications requirements •Some of the largest applications in use • the Joint Strike Fighter High Quality Software Development with Agile & Scrum @ March 2012
  • 45. Characteristics • Self-organizing teams • Product progresses in a series of month-long “sprints” • Requirements are captured as items in a list of “product backlog” • No specific engineering practices prescribed • Uses generative rules to create an agile environment for delivering projects • One of the “agile processes” High Quality Software Development with Agile & Scrum @ March 2012
  • 46. Project noise level Source: Strategic Management and Organizational Dynamics by Ralph Stacey in Agile Software Development with Scrum by Ken Schwaber and Mike Beedle. High Quality Software Development with Agile & Scrum @ March 2012
  • 47. Scrum in a Nutshell High Quality Software Development with Agile & Scrum @ March 2012
  • 48. Team Commitment What the team commits to, and what the product owner agrees to during sprint planning should be delivered! High Quality Software Development with Agile & Scrum @ March 2012
  • 49. Sequential vs. overlapping development Requirements Design Code Test Rather than doing all of one thing at a time... ...Scrum teams do a little of everything all the time Source: “The New New Product Development Game” by Takeuchi and Nonaka. Harvard Business Review, January 1986. High Quality Software Development with Agile & Scrum @ March 2012
  • 50. No changes during a sprint Change • Plan sprint durations around how long you can commit to keeping change out of the sprint High Quality Software Development with Agile & Scrum @ March 2012
  • 51. Scrum framework Roles •Product owner •ScrumMaster •Team Ceremonies •Sprint planning •Sprint review •Sprint retrospective •Daily scrum meeting Artifacts •Product backlog •Sprint backlog •Burndown charts High Quality Software Development with Agile & Scrum @ March 2012
  • 52. Scrum framework Roles •Product owner •ScrumMaster •Team Ceremonies •Sprint planning •Sprint review •Sprint retrospective •Daily scrum meeting Artifacts •Product backlog •Sprint backlog •Burndown charts High Quality Software Development with Agile & Scrum @ March 2012
  • 53. Scrum Roles Pig Roles Chicken Roles Product Owner Users Team Customer & Vendors Scrum Master Managers High Quality Software Development with Agile & Scrum @ March 2012
  • 54. Product owner • Define the features of the product • Decide on release date and content • Be responsible for the profitability of the product (ROI) • Prioritize features according to market value • Adjust features and priority every iteration, as needed • Accept or reject work results High Quality Software Development with Agile & Scrum @ March 2012
  • 55. The Scrum Master • Represents management to the project • Responsible for enacting Scrum values and practices • Removes impediments • Ensure that the team is fully functional and productive • Enable close cooperation across all roles and functions • Shield the team from external interferences High Quality Software Development with Agile & Scrum @ March 2012
  • 56. The Team • Typically 5-9 people • Cross-functional: • Programmers, testers, user experience designers, etc. • Members should be full-time • May be exceptions (e.g., database administrator) • Teams are self-organizing • Ideally, no titles but rarely a possibility • Membership should change only between sprints High Quality Software Development with Agile & Scrum @ March 2012
  • 57. Scrum framework Roles •Product owner •ScrumMaster •Team Ceremonies •Sprint planning •Sprint review •Sprint retrospective •Daily scrum meeting Artifacts •Product backlog •Sprint backlog •Burndown charts High Quality Software Development with Agile & Scrum @ March 2012
  • 58. Sprint Planning Meeting Team Sprint planning meeting Team capacity capacity Sprint prioritization Product Product • Analyze and evaluate product Sprint Sprint backlog goal backlog backlog • Select sprint goal goal Business Business conditions Sprint planning conditions • Decide how to achieve sprint goal (design) Current Current • Create sprint backlog (tasks) from Sprint Sprint product product product backlog items (user stories / backlog backlog features) Techno- • Estimate sprint backlog in hours Techno- logy logy High Quality Software Development with Agile & Scrum @ March 2012
  • 59. User Stories What is a User Story? • Feature description from anyone on the team or any customer • Have "Conditions of Satisfaction" which can be tested in review • Have no/minimal dependency on other stories General Format: As a [user role] I want to [goal], so I can [reason or conditions of satisfaction] As a Product Owner, I want to understand Agile planning and estimation, so that I can produce an effective Product Backlog High Quality Software Development with Agile & Scrum @ March 2012
  • 60. Sprint Planning • Team selects items from the product backlog they can commit to completing • Sprint backlog is created • Tasks are identified and each is estimated (1-16 hours) • Collaboratively, not done alone by the ScrumMaster • High-level design is considered As a vacation As a vacation Code the middle tier (8 hours) planner, I want to planner, I want to Code the user interface (4) see photos of the see photos of the Write test fixtures (4) Code the foo class (6) hotels. hotels. Update performance tests (4) High Quality Software Development with Agile & Scrum @ March 2012
  • 61. The Daily Scrum • Parameters • Daily • 15-minutes • Stand-up • Not for problem solving • Whole world is invited • Only team members, ScrumMaster & product owner can talk • Helps avoid other unnecessary meetings High Quality Software Development with Agile & Scrum @ March 2012
  • 62. Everyone answers 3 questions 1 What did you do yesterday? What did you do yesterday? 2 What will you do today? What will you do today? 3 Is anything in your way? Is anything in your way? • These are not status for the ScrumMaster • They are commitments in front of peers High Quality Software Development with Agile & Scrum @ March 2012
  • 63. The Sprint Review • Team presents what it accomplished during the sprint • Typically or underlying architecture of new features takes the form of a demo • Informal • 2-hour prep time rule • No slides • Whole team participates • Invite the world High Quality Software Development with Agile & Scrum @ March 2012
  • 64. Sprint Retrospective • Periodically take a look at what is and is not working • Typically 30 min-1 hour • Done after every sprint • Whole team participates • ScrumMaster • Product owner • Team • Possibly customers and others High Quality Software Development with Agile & Scrum @ March 2012
  • 65. Start / Stop / Continue • Whole team gathers and discusses what they’d like to: Start doing Start doing Stop doing Stop doing This is just one of many ways to Continue doing Continue doing do a sprint retrospective. High Quality Software Development with Agile & Scrum @ March 2012
  • 66. Scrum framework Roles •Product owner •ScrumMaster •Team Ceremonies •Sprint planning •Sprint review •Sprint retrospective •Daily scrum meeting Artifacts •Product backlog •Sprint backlog •Burndown charts High Quality Software Development with Agile & Scrum @ March 2012
  • 67. Product backlog •The requirements •the project desired work on A list of all •each item has value to the Ideally expressed such that users or customers of the product This is the product This is the product •owner by the product Prioritized backlog backlog •each sprint at the start of Reprioritized High Quality Software Development with Agile & Scrum @ March 2012
  • 68. Different Types of Stories Spike: •the "layers." It is an experimental solution that cuts through all •It is necessarily time-boxed. •It is always intended to be thrown away. Epic: •Large story •An item that can’t be committed to by the team •It is a container of stories High Quality Software Development with Agile & Scrum @ March 2012
  • 69. Story Points A Story Point is a relative measure of feature difficulty/complexity Story Points are a more accurate measure of project velocity and release schedule than using hours and days. High Quality Software Development with Agile & Scrum @ March 2012
  • 70. Planning Poker 1. All the team members have a set of cards 2. Scrum Master reads description of the backlog Item 3. Everyone selects and simultaneously shows cards 4. If estimates vary significantly, high and low estimators briefly explain why they have estimated so 5. Repeat steps 3-4 until estimates stop converging 6. Decide estimate for backlog item 7. Move to next backlog item High Quality Software Development with Agile & Scrum @ March 2012
  • 71. Sample Product Backlog High Quality Software Development with Agile & Scrum @ March 2012
  • 72. Sample Product Backlog High Quality Software Development with Agile & Scrum @ March 2012
  • 73. Product Backlog Iceberg High Quality Software Development with Agile & Scrum @ March 2012
  • 74. Work Items on Prioritized Stack High Quality Software Development with Agile & Scrum @ March 2012
  • 75. Grooming Sessions I hate long meetings, why do you think we have such long meetings? What could we do better? Grooming meetings are a kind of small planning meetings that the team detail the stories and re-estimate. Most common schedule is weekly basis. ● Increases efficiency of the team by greatly reducing uncertainty. ● Better groomed stories are more accurately estimated, more accurately tested, and more accurately implemented ● Increases efficiency of the team due to the benefit of shared knowledge gained by the entire Scrum team being in the grooming. ● Allows the team to maintain a sustainable, higher pace. ● When done well, grooming greatly reduces the time required for a Sprint Planning meeting. High Quality Software Development with Agile & Scrum @ March 2012
  • 76. Definition of Done Definition of Done is a simple list of activities that add verifiable/demonstrable value to the product.  High Quality Software Development with Agile & Scrum @ March 2012
  • 77. Definition of Done High Quality Software Development with Agile & Scrum @ March 2012
  • 78. Definition of Done High Quality Software Development with Agile & Scrum @ March 2012
  • 79. Estimation of Productive Time • Task of 8 hours doesn't mean completion in 1 day • Incorporate time for: meetings, phone-calls, e-mails, bug-fixing, other responsibilities, etc. • No contingency planning! The team should establish a working pace which can be sustained with normal working hours High Quality Software Development with Agile & Scrum @ March 2012
  • 80. A sprint backlog Tasks Tasks Mon Tues Wed Thur Fri Mon Tues Wed Thur Fri Code the user interface 8 4 8 Code the middle tier 16 12 10 4 Test the middle tier 8 16 16 11 8 Write online help 12 Write the helper class 8 8 8 8 8 Add error logging 8 4 High Quality Software Development with Agile & Scrum @ March 2012
  • 81. Sprint Burndown Chart Determination of Team Velocity High Quality Software Development with Agile & Scrum @ March 2012
  • 82. Sprint Burndown Chart High Quality Software Development with Agile & Scrum @ March 2012
  • 83. Scrum Task Board High Quality Software Development with Agile & Scrum @ March 2012
  • 84. Scrum Task Board High Quality Software Development with Agile & Scrum @ March 2012
  • 85. The sprint goal • A short statement of what the work will be focused on during the sprint Life Sciences Support features necessary Database Application for population genetics studies. Make the application run on SQL Server in addition to Oracle. Financial services Support more technical indicators than company ABC with real-time, streaming data. High Quality Software Development with Agile & Scrum @ March 2012
  • 86. Scalability • Typical individual team is 7 ± 2 people • Scalability comes from teams of teams • Factors in scaling • Type of application • Team size • Team dispersion • Project duration • Scrum has been used on multiple 500+ person projects High Quality Software Development with Agile & Scrum @ March 2012
  • 87. Scaling through the Scrum of scrums High Quality Software Development with Agile & Scrum @ March 2012
  • 88. Scrum of scrums of scrums High Quality Software Development with Agile & Scrum @ March 2012
  • 89. Scrum in Summary Scrum is not about: Good engineering practices Scrum is about: Acknowledging the importance of people Forming cross-functional teams Obtaining high-bandwith communication Constantly inspecting and improving Delivering value Changing plans to take advantage of opportunities and priorities High Quality Software Development with Agile & Scrum @ March 2012
  • 90. Possible Problems with Agile ● Cultural change ● Organizational support ● Stakeholder involvement ● Team size ● Transparency ● “No silver bullet” High Quality Software Development with Agile & Scrum @ March 2012
  • 91. Module 4. Writing High Quality Software With Agile nmap run completed -- 1 IP address (1 host up) scanneds % sshnuke 10.2.2.2 -rootpw-"Z1ON0101" Connecting to 10.2.2.2:ssh ... successful. Attempting to exploit SSHv1 CRC32 ... successful. Reseting root password to "Z1ON0101". System open: Access Level (9) % ssh 10.2.2.2 -l root root@10.2.2.2's password: RTF-CONTROL> disable grid nodes 21 - 48 Warning: Disabling nodes 21-48 will disconnect sector 11 (27 nodes) ARE YOU SURE ? (y/n) Grid Node 21 offline... Grid Node 22 offline... Grid Node 23 offline... Grid Node 24 offline... Grid Node 25 offline... Grid Node 26 offline... Grid Node 27 offline... Grid Node 28 offline... Grid Node 29 offline... Grid Node 30 offline... Grid Node 31 offline... Grid Node 32 offline... Grid Node 33 offline... Grid Node 34 offline... Grid Node 35 offline... Grid Node 36 offline... Grid Node 37 offline... Grid Node 38 offline... High Quality Software Development with Agile & Scrum @ March 2012
  • 92. Searching for High Quality ● Scrum does not guarantee high- quality for your project ● XP principles try to provide high-quality software with Agile principles High Quality Software Development with Agile & Scrum @ March 2012
  • 93. What is Extreme Programming? ● An agile development methodology ● Created by Kent Beck in the mid 1990’s ● A set of 12 key practices taken to their “extremes” ● A mindset for developers and customers ● A religion? High Quality Software Development with Agile & Scrum @ March 2012
  • 94. The XP Practices High Quality Software Development with Agile & Scrum @ March 2012
  • 95. 1 - The Planning Game ● Planning for the upcoming iteration ● Uses stories provided by the customer ● Technical persons determine schedules, estimates, costs, etc ● A result of collaboration between the customer and the developers High Quality Software Development with Agile & Scrum @ March 2012
  • 96. The Planning Game – Advantages ● Reduction in time wasted on useless features ● Greater customer appreciation of the cost of a feature ● Less guesswork in planning High Quality Software Development with Agile & Scrum @ March 2012
  • 97. The Planning Game – Disadvantages ● Customer availability ● Is planning this often necessary? High Quality Software Development with Agile & Scrum @ March 2012
  • 98. 2- Small Releases ● Small in terms of functionality ● Less functionality means releases happen more frequently ● Support the planning game High Quality Software Development with Agile & Scrum @ March 2012
  • 99. Small Releases – Advantages ● Frequent feedback ● Tracking ● Reduce chance of overall project slippage High Quality Software Development with Agile & Scrum @ March 2012
  • 100. Small Releases – Disadvantages ● Not easy for all projects ● Not needed for all projects ● Versioning issues High Quality Software Development with Agile & Scrum @ March 2012
  • 101. 3 – Metaphor ● The oral architecture of the system ● A common set of terminology High Quality Software Development with Agile & Scrum @ March 2012
  • 102. Metaphor – Advantages ● Encourages a common set of terms for the system ● Reduction of buzz words and jargon ● A quick and easy way to explain the system High Quality Software Development with Agile & Scrum @ March 2012
  • 103. Metaphor – Disadvantages ● Often the metaphor is the system ● Another opportunity for miscommunication ● The system is often not well understood as a metaphor High Quality Software Development with Agile & Scrum @ March 2012
  • 104. 4 – Simple Design ● K.I.S.S. ● Do as little as needed, nothing more High Quality Software Development with Agile & Scrum @ March 2012
  • 105. Simple Design – Advantages ● Time is not wasted adding superfluous functionality ● Easier to understand what is going on ● Refactoring and collective ownership is made possible ● Helps keeps programmers on track High Quality Software Development with Agile & Scrum @ March 2012
  • 106. Simple Design – Disadvantages ● What is “simple?” ● Simple isn’t always best High Quality Software Development with Agile & Scrum @ March 2012
  • 107. 6 – Testing ● Unit testing ● Test-first design (TDD) ● All automated High Quality Software Development with Agile & Scrum @ March 2012
  • 108. Testing – Advantages ● Unit testing promote testing completeness ● Test-first gives developers a goal ● Automation gives a suite of regression test High Quality Software Development with Agile & Scrum @ March 2012
  • 109. Testing – Disadvantages ● Automated unit testing isn’t for everything ● Reliance on unit testing isn’t a good idea ● A test result is only as good as the test itself High Quality Software Development with Agile & Scrum @ March 2012
  • 110. 6 – Refactoring ● Changing how the system does something but not what is done ● Improves the quality of the system in some way High Quality Software Development with Agile & Scrum @ March 2012
  • 111. Refactoring – Advantages ● Prompts developers to proactively improve the product as a whole ● Increases developer knowledge of the system High Quality Software Development with Agile & Scrum @ March 2012
  • 112. Refactoring – Disadvantages ● Not everyone is capable of refactoring ● Refactoring may not always be appropriate ● Would upfront design eliminate refactoring? High Quality Software Development with Agile & Scrum @ March 2012
  • 113. 7 – Pair Programming ● Two Developers, One monitor, One Keyboard ● One “drives” and the other thinks ● Switch roles as needed High Quality Software Development with Agile & Scrum @ March 2012
  • 114. Pair Programming – Advantages ● Two heads are better than one ● Focus ● Two people are more likely to answer the following questions: ● Is this whole approach going to work? ● What are some test cases that may not work yet? ● Is there a way to simplify this? High Quality Software Development with Agile & Scrum @ March 2012
  • 115. Pair Programming – Disadvantages ● Many tasks really don’t require two programmers ● A hard sell to the customers ● Not for everyone http://www.cenqua.com/pairon/ High Quality Software Development with Agile & Scrum @ March 2012
  • 116. 8 – Collective Ownership ● The idea that all developers own all of the code ● Enables refactoring High Quality Software Development with Agile & Scrum @ March 2012
  • 117. Collective Ownership – Advantages ● Helps mitigate the loss of a team member leaving ● Promotes developers to take responsibility for the system as a whole rather then parts of the system High Quality Software Development with Agile & Scrum @ March 2012
  • 118. Collective Ownership - Disadvantages ● Loss of accountability ● Limitation to how much of a large system that an individual can practically “own” High Quality Software Development with Agile & Scrum @ March 2012
  • 119. 9 – Continuous Integration ● New features and changes are worked into the system immediately ● Code is not worked on without being integrated for more than a day High Quality Software Development with Agile & Scrum @ March 2012
  • 120. Continuous Integration - Advantages ● Reduces to lengthy process ● Enables the Small Releases practice High Quality Software Development with Agile & Scrum @ March 2012
  • 121. Continuous Integration – Disadvantages ● The one day limit is not always practical ● Reduces the importance of a well-thought-out architecture High Quality Software Development with Agile & Scrum @ March 2012
  • 122. 10 – 40-Hour Week ● The work week should be limited to 40 hours ● Regular overtime is a symptom of a problem and not a long term solution High Quality Software Development with Agile & Scrum @ March 2012
  • 123. 40-Hour Week – Advantage ● Most developers lose effectiveness past 40- Hours ● Value is placed on the developers well-being ● Management is forced to find real solutions High Quality Software Development with Agile & Scrum @ March 2012
  • 124. 40-Hour Week - Disadvantages ● The underlying principle is flawed ● 40-Hours is a magic number ● Some may like to work more than 40-Hours High Quality Software Development with Agile & Scrum @ March 2012
  • 125. 11 – On-Site Customer ● Just like the title says! ● Acts to “steer” the project ● Gives quick and continuous feedback to the development team High Quality Software Development with Agile & Scrum @ March 2012
  • 126. On-Site Customer – Advantages ● Can give quick and knowledgeable answers to real development questions ● Makes sure that what is developed is what is needed ● Functionality is prioritized correctly High Quality Software Development with Agile & Scrum @ March 2012
  • 127. On-Site Customer – Disadvantages ● Difficult to get an On-Site Customer ● The On-Site customer that is given may not be fully knowledgeable about what the company ● May not have authority to make many decisions ● Loss of work to the customer’s company High Quality Software Development with Agile & Scrum @ March 2012
  • 128. 12 – Coding Standards ● All code should look the same ● It should not possible to determine who coded what based on the code itself High Quality Software Development with Agile & Scrum @ March 2012
  • 129. Coding Standards – Advantages ● Reduces the amount of time developers spend reformatting other peoples’ code ● Reduces the need for internal commenting ● Call for clear, unambiguous code High Quality Software Development with Agile & Scrum @ March 2012
  • 130. Coding Standards – Disadvantages ● Degrading the quality of inline documentation High Quality Software Development with Agile & Scrum @ March 2012
  • 131. How Google Develops Software ● Single Code Base for Everything ● Distributed Version Control System ● Central Documentation Repository ● Bug Tracking System ● Maven/Gem Repository ● Coding Standarts and Guidelines ● Code Coverage Tools ● Pair Programing and Code Review Tools ● Release Notes & Release Management ● OS-IDE-Tool Free Coding ● Test Driven Development / Behavior Driven Development ● Testing in Multi-level (Unit, Integration, Functional, Acceptance, Manual) ● Continuous Integration Server ● Enterprise Architecture (Dev, Test & QA, Staging, Production) High Quality Software Development with Agile & Scrum @ March 2012
  • 132. How Google Develops Software ● Sprint Collaboration Tool as White Board ● Sprint Tracking Tool as Spreadsheet ● Product Backlog in Spreadsheet or a tool like Atlassian Jira-GreenHooper ● Meetings with Larry Page Rules 1) Every meeting must have one clear decision maker. If there's no decision maker -- or no decision to be made -- the meeting shouldn't happen. 2) No more than 10 people should attend. 3) Every person should give input, otherwise they shouldn't be there. 4) No decision should ever wait for a meeting. If a meeting absolutely has to happen before a decision should be made, then the meeting should be scheduled immediately. ● Scrum of Scrums ● Brown Bag Sessions, tech taks, round-table sessions ● 20% Time ● New ideas, then brainstorming session High Quality Software Development with Agile & Scrum @ March 2012
  • 133. Module 5. Do's and Dont's High Quality Software Development with Agile & Scrum @ March 2012
  • 134. Can Scrum fail ? No ! Scrum is not a silver bullet ... and it surfaces existing problems Scrum never fails !!! It is a simple framework but hard to implement It’s a completely new way of thinking and mind-set shifting it is not just list of practice. If you “stand-up” it doesn’t mean you do Scrum ... High Quality Software Development with Agile & Scrum @ March 2012
  • 135. Why Scrum Implementation Might Fail ? ● Culture ● Providing answers instead of asking questions ● Management ● Force commitments ● Ask for not needed or invaluable status and measures ● No tolerance for failures ● Will go back to the old norms ● Loss of Ceremony Rhythm ● Scrum Ceremonies are taking too long High Quality Software Development with Agile & Scrum @ March 2012
  • 136. Why Scrum Implementation Might Fail ? ● Bad Scrum Master ● Driving the time and the tasks allocation, get decisions. ● Fails to make a prioritized impediment list ● Becomes the team administrator ● Do not keep the team in the “zone” ● No or bad retrospectives ● Wrong definition of done ● No velocity tracking High Quality Software Development with Agile & Scrum @ March 2012
  • 137. Why Scrum Implementation Might Fail ? ● Bad Product Owner ● Consistently unavailable ● Fail to get consensus ● Doesn’t have a vision, business plan and release roadmap ● Poorly defined stories (INVEST), not all work in the backlog ● On-going Changes in Sprint backlog ● Too much interruptions / PO bypassed ● No analysis or documentation High Quality Software Development with Agile & Scrum @ March 2012
  • 138. Why Scrum Implementation Might Fail ? ● Waterfall within sprint ● Better to have 70% of stories 100% done then the opposite. ● Entire team own the story ● Testers are not part of the Team ● Developers assume QA will test ● Integration postponed to the end ● Technical Debt ● More defects appear at the end ● Last iterations produce less new functionality ● Re-factor and re-design cost too much and take too long High Quality Software Development with Agile & Scrum @ March 2012
  • 139. Why Scrum Implementation Might Fail ? ● Not Acting Like a self managed team ● Fixed Roles, No knowledge leveraging ● Prima donna /Dictator within the team ● Depend on external expertise ● Visibility for the managers not for the team ● Personal goals rather than team goal ● Talking Chickens ● Tasks are assigned ● Not helping and listening each other ● NO FUN :( High Quality Software Development with Agile & Scrum @ March 2012
  • 140. Why Scrum Implementation Might Fail ? ● Team exhausted, there are no calm periods, no place for innovation ● " ... the team shadows the individual. Good senior employees, feels that they can less contribute and lead, ...[due to] the “team thing” and the low granularity of the tasks, leaving small flexibility to personal innovation and creativity“ High Quality Software Development with Agile & Scrum @ March 2012
  • 141. Does Scrum fit BIG organization ? The following statements are sometimes heard: ● "Oh yes, Scrum is good for small teams but I don't see it working for bigger organizations” ● "Only experts and above average developers can do it." ● "It should evolve bottom-up" (i.e., one "crazy" team implements Scrum and generates a "buzz" that pushes the rest of the organization to follow). ● "There is no visibility above the team's level as there are no project plans". ● "Teams are self-managed so team leaders and managers lose their role." ● "Agile is not good for complex systems with integrations and dependencies." ● "Our customers will never go along with fluid estimations" ● And so on.... High Quality Software Development with Agile & Scrum @ March 2012
  • 142. Yes, it fits! ● Scrum surfaces the inherent problems and wastes ● Scrum reduces the bureaucracy and org. complexity ● Break the organizational silos ● Reduce politics – move the power to the teams ● Scrum allows better leveling of knowledge ● Reduces dependencies on specific expertise, ● Raises employees satisfaction High Quality Software Development with Agile & Scrum @ March 2012
  • 143. Yes, it fits! ● Scrum provides much better visibility ● Managers have more time to ● Look ahead and think ● Understand customer needs and ROI ● Handle impediments ● Raises employees satisfaction The bigger the organization, the higher ROI High Quality Software Development with Agile & Scrum @ March 2012
  • 144. Module 6. Kickstart High Quality Software Development with Agile & Scrum @ March 2012
  • 145. The Shock Therapy ● "A set of Good Practices, but no choice" ● Team Recipe ● Management Recipe ● Organization Recipe High Quality Software Development with Agile & Scrum @ March 2012
  • 146. Team Recipe ● Scrum training session for everyone ● Story Points ● Sprint 1 week long ● Physical Task Board ● All-in-one Sprint planning ● Definition of Done: meeting. ● Feature Complete ● No Multi-tasking, work in priority order. ● Code Complete ● Three successful Sprints ● No known defects consecutively ● Approved by the Product ● Good business reason to Owner change the rule ● Production Ready ● Continuous Integration High Quality Software Development with Agile & Scrum @ March 2012
  • 147. Management Recipe ● Hands off during 3 iterations ● Attend: ● Some Daily Scrums - be quiet ● All Sprint Reviews ● Start to work on waste - now! ● Management by walking, asking and listening ● Make the first step easy for the team ● One successful team ● Removed impediments and studied results ● Change in perception at "ground level" ● A good agile reason to change the rule High Quality Software Development with Agile & Scrum @ March 2012
  • 148. Organization Recipe ● Difficult - How to speak to a "culture"? ● Some steps: ● Transparency ● Pull ● A micro-revolution per day ● Some new roles High Quality Software Development with Agile & Scrum @ March 2012
  • 149. The Scrum Sensei ● Experienced ScrumMaster ● Enforces rules/recipes ● Bad ScrumMaster as in "good cop - bad cop" ● Compassion! ● Leaves when self-organization works High Quality Software Development with Agile & Scrum @ March 2012
  • 150. Special Thanks! Presentation by: Mike Cohn Presentation by: Mike Cohn mike@mountaingoatsoftware.com mike@mountaingoatsoftware.com www.mountaingoatsoftware.com www.mountaingoatsoftware.com (720) 890-6110 (720) 890-6110 High Quality Software Development with Agile & Scrum @ March 2012
  • 151. Special Thanks! Scrum Shock Therapy Björn Granvik, CTO, Jayway Why Scrum Projects Might Fail? Ronen Bar-Nahor (Ph.D) Top 10 Reasons Why Systems Projects Fail Dr. Paul Dorsey, Dulcian, Inc. High Quality Software Development with Agile & Scrum @ March 2012
  • 152. Any Questions High Quality Software Development with Agile & Scrum @ March 2012