Issues with Enterprise Adoption of Agile Technology

download Issues with Enterprise Adoption of Agile Technology

of 53

Transcript of Issues with Enterprise Adoption of Agile Technology

  • 8/6/2019 Issues with Enterprise Adoption of Agile Technology

    1/53

    Issues with EnterpriseAdoption

    Presentation 10

    Aniket Mahanti

    Managing Iterative Projects

  • 8/6/2019 Issues with Enterprise Adoption of Agile Technology

    2/53

    2

    Overview

    Benefits of agile methods

    Technology adoption cycle

    Challenges in adopting agile methods

    Introducing agile methods Agile adoption strategies

    Agile adoption case study

    Limitations of agile methods

    Measuring success

    Agile in large organizations

    Conclusions

  • 8/6/2019 Issues with Enterprise Adoption of Agile Technology

    3/53

    Benefits of AgileAdoption

  • 8/6/2019 Issues with Enterprise Adoption of Agile Technology

    4/53

    4

    Why use Agile methods?

    Improved ROI

    Early detection and cancellation of failing

    projects Higher software quality

    Improved control of a project

    Reduced dependence on individuals andincreased flexibility

  • 8/6/2019 Issues with Enterprise Adoption of Agile Technology

    5/53

    Technology AdoptionLife Cycle

    Agile methods

    The Chasm

    Fuzzy Logic Adoption

  • 8/6/2019 Issues with Enterprise Adoption of Agile Technology

    6/53

    6

    Technology Adoption Life Cycle

    T.A.L.C. originally developed at Iowa State

    College (1957)

    Track purchase of hybrid corn seeds byfarmers

    Everett Rogers broadened the use of this

    model in Diffusions of Innovation (1962)

    Continuous process model

  • 8/6/2019 Issues with Enterprise Adoption of Agile Technology

    7/53

    7

    Rogers T.A.L.C.

  • 8/6/2019 Issues with Enterprise Adoption of Agile Technology

    8/53

    8

    Geoffrey Moores T.A.L.C. (1991)

    High tech markets evolve thru a series ofphases

    Each phase requires business strategy tochange because adjacent strategiesundermine each others strategies

    When applied to high tech world, Product life

    cycle is discontinuous (Cr

    ossing theC

    hasm) Cracks in the bell curve: Between any two

    groups there is a gap

  • 8/6/2019 Issues with Enterprise Adoption of Agile Technology

    9/53

    9

    The Chasm

    Venturesome

    Confident Deliberate Skeptical Tradition-bound

  • 8/6/2019 Issues with Enterprise Adoption of Agile Technology

    10/53

    10

    Fuzzy Logic Adoption

    FL developed in the 70s at UC Berkley

    Coupling FL and expert system technologies

    allowed better modeling imprecise reasoningprocesses of skilled human experts

    FL adoption faced resistance in N. America

    because of its fuzzy name

    Japan very quickly adopted FL and by mid

    90s almost all major appliances used the

    technology

  • 8/6/2019 Issues with Enterprise Adoption of Agile Technology

    11/53

    Challenges in AdoptingAgile methods

  • 8/6/2019 Issues with Enterprise Adoption of Agile Technology

    12/53

    12

    Challenges in Agile adoption

    Serial thinkers

    Closed mindedness

    Office politics

    Black and white mindedness

    Fear of change

  • 8/6/2019 Issues with Enterprise Adoption of Agile Technology

    13/53

    13

    Challenges in Agile adoption (2)

    Specialized skills

    Out of date skills

    Documentation-heavy mindset

    Do it all at once attitude

  • 8/6/2019 Issues with Enterprise Adoption of Agile Technology

    14/53

    14

    Serial Thinkers

    Many IT professionals think in a serial

    manner

    They want to identify and analyzerequirements before tackling design, and

    design most of the system before coding

    Need to give time, training, and mentoring to

    these people

    Be vigilant

  • 8/6/2019 Issues with Enterprise Adoption of Agile Technology

    15/53

    15

    Closed Mindedness

    Many professionals have not invested time

    understanding new methodologies

    Assume that agile is code-and-fixin disguise Some people who can not be taught new

    ideas should be asked to look for new

    avenues

    Actively educate

    Challenge any misinformation being spread

  • 8/6/2019 Issues with Enterprise Adoption of Agile Technology

    16/53

    16

    Office Politics

    Some people will prevent agility to save their

    power base

    Smart politicians will support the agilecrossover, but will wait for it to fail

    Become politically adept

  • 8/6/2019 Issues with Enterprise Adoption of Agile Technology

    17/53

    17

    Black and White Mindset

    Many people believe that issues need to be

    eitherblackorwhite

    Need to understand that there is greyand aspectrum ofcolors also

    Inflexible people make agile adoption difficult

    Most organizations need to adopt a range of

    methods, some agile and some traditional.

  • 8/6/2019 Issues with Enterprise Adoption of Agile Technology

    18/53

    18

    Fear of Change

    Adoption of agile methods likely requires

    significant changes in the way the

    organization works Fear of inability to learn new agile skills

    Fear of not being able to fit into the new

    environment

    People who fear change will actively protest

    and undermine adoption efforts

  • 8/6/2019 Issues with Enterprise Adoption of Agile Technology

    19/53

    19

    Specialized Skills

    Many IT professionals have become

    specialists with a very narrow skill set

    because of serial development They have problems working with people

    outside their specialties

    Generalizingspecialists can work with a

    wider range of artifacts

    Expansion of current skill set necessary

  • 8/6/2019 Issues with Enterprise Adoption of Agile Technology

    20/53

    20

    Out of Date Skills

    People not having strong object-oriented

    programming background unprepared for

    agile approaches Organizations have cut training and

    education budgets

    Faced with steep learning curve

    Sufficient training and time should be

    provided to improve skill set

  • 8/6/2019 Issues with Enterprise Adoption of Agile Technology

    21/53

    21

    Documentation-heavy Mindset

    Wrong notion of developing comprehensiverequirement documents and detailed designmodels as an effective way to produce

    software Take the agile approach to documentation

    People need to be retrained to work with less

    documents Some people could be reassigned to other

    efforts to keep team agile

  • 8/6/2019 Issues with Enterprise Adoption of Agile Technology

    22/53

    22

    Do It All at Once Attitude

    Serious mistake to adopt all agile principles inone go

    Adopt agile techniques one at a time

    Evolve the work environment over several

    years to make the transition smoother

  • 8/6/2019 Issues with Enterprise Adoption of Agile Technology

    23/53

    Introducing AgileMethods

  • 8/6/2019 Issues with Enterprise Adoption of Agile Technology

    24/53

    24

    How to Introduce Agile

    Processes?

    Obtain management buy-in

    Education and support

    Integrate to external processes Start pilot projects

    Report and adapt

    Sustain agility

  • 8/6/2019 Issues with Enterprise Adoption of Agile Technology

    25/53

    25

    Obtain Management Buy-in

    Management needs to understand the

    benefits that agile approaches can bring

    Upper management involvement single mostimportant factor in introducing agile methods

    Direct move to agile could be difficult

    Using agile as a recovery mechanism for

    failing projects could be more fruitful

  • 8/6/2019 Issues with Enterprise Adoption of Agile Technology

    26/53

    26

    Education and Support

    Developers and management need to

    understand values, practices, and principles

    of the new methodology

    Misconceptions should be eliminated

    Responsibility associated with empowered

    teams should be taught gradually

    Support and time for transition should be

    provided

  • 8/6/2019 Issues with Enterprise Adoption of Agile Technology

    27/53

    27

    Integrate to External Processes

    Integrate agile practices into existing non-

    agile processes

    Draw information from the literature Create plans or status reports in traditional

    format to obtain approval

    Be ready to create additional lower value

    deliverables

    Important for facilitating agile introduction

  • 8/6/2019 Issues with Enterprise Adoption of Agile Technology

    28/53

    28

    Start Pilot Projects

    Start a project that will deliver high business

    value

    Project should have respected and articulatebusiness sponsors

    Helps maintain the momentum to switch to an

    agile approach

    Pilot => Pathfinder => Production

  • 8/6/2019 Issues with Enterprise Adoption of Agile Technology

    29/53

    29

    Report and Adapt

    Publicize the success of the pilot projects

    Raise awareness and listen to comments

    Use the experiences of the empoweredteams to plan future agile projects

    Ask the team involved in the pilot projects to

    become mentors in subsequent projects

  • 8/6/2019 Issues with Enterprise Adoption of Agile Technology

    30/53

    30

    Sustain Agility

    Provide constant encouragement and

    stimulation so that teams do not go back to

    the old approach

    Promote discussion thru special interest

    groups, practice groups, etc.

    Management should take up a stewarding

    role

  • 8/6/2019 Issues with Enterprise Adoption of Agile Technology

    31/53

    Agile AdoptionStrategies

    Agile Adoption Case Study

  • 8/6/2019 Issues with Enterprise Adoption of Agile Technology

    32/53

    32

    Agile Adoption Strategies

    Wholesale

    Adopting a set of practices en-masse

    Need to experience the synergy of practices andthe danger of omitting supporting practices

    Incremental

    Adopting only specific practices

    Need to temper disruptive change

  • 8/6/2019 Issues with Enterprise Adoption of Agile Technology

    33/53

    33

    Case Study: Control Systems

    Manufacturer

    Project intended to update their agingsoftware for the control of maintenance

    systems in nuclear power facilities Limited agile adoption effort; small subset of

    developers assigned to the agile team

    Team chose to forego initial training and did

    not utilize a common working area Several team members were shared with

    other, non-agile projects

  • 8/6/2019 Issues with Enterprise Adoption of Agile Technology

    34/53

    34

    C.S.M.Wholesale Adoption

    Upon beginning the 2-week iteration, team

    immediately realized the need for basic

    environmental support

    Team frequently paused to conduct

    impromptu training sessions for new

    practices

    First iteration delivered almost no businessvalue

  • 8/6/2019 Issues with Enterprise Adoption of Agile Technology

    35/53

    35

    C.S.M.Wholesale Adoption (2)

    Team thought that initial experiences were

    isolated to the first couple of iterations

    They also though that they would quicklyramp up their velocity as the initial adoption

    overhead is put behind

    They understood their learning curve was

    larger than anticipated, but maintained hopethat majority of learning was behind them

  • 8/6/2019 Issues with Enterprise Adoption of Agile Technology

    36/53

    36

    C.S.M.Wholesale Adoption (3)

    After 10 weeks, recognizing the difficulties of

    the team the technical manager intervened

    Review showed less than20% of theprojected business value was achieved

    Manager asked the team to revert back to

    their previous development process

    Decision was not well accepted

  • 8/6/2019 Issues with Enterprise Adoption of Agile Technology

    37/53

    37

    C.S.M.Retrospective

    Severely underestimated the affect of

    concurrent preparation and learning activities

    on the ability to deliver business value

    Development velocity set too large

    Iteration zero for preparation and learning

    Overhead of learning activities and

    complexities of actual development

    overwhelmed the developers

  • 8/6/2019 Issues with Enterprise Adoption of Agile Technology

    38/53

    Limitations of AgileMethods

  • 8/6/2019 Issues with Enterprise Adoption of Agile Technology

    39/53

    39

    Limitations of Agile Processes

    Limited support for distributed developmentenvironments

    Limited support for building reusable artifacts

    Limited support for development involvinglarge teams

    Limited support for developing safety-critical

    software Limited support for developing large, complex

    software

  • 8/6/2019 Issues with Enterprise Adoption of Agile Technology

    40/53

    40

    Distributed Development

    Environments

    Distributed development environments not

    able to accommodate face-to-face

    communication advocated by agile methods

    Hurdles in terms of team communication,

    development culture, and customer

    participation

    Difficult for mainstream offshore vendors toadopt agile methods

  • 8/6/2019 Issues with Enterprise Adoption of Agile Technology

    41/53

    41

    Development with Large Teams

    Large number of communication lines could

    reduce effectiveness of review meetings and

    face to face communications

    Traditional software engineering practices

    that emphasize documentation, change

    control and architecture-centric development

    more applicable Degree of agility may be less

  • 8/6/2019 Issues with Enterprise Adoption of Agile Technology

    42/53

    Measuring Adoption andSuccess

  • 8/6/2019 Issues with Enterprise Adoption of Agile Technology

    43/53

    43

    Measuring Adoption and Success

    Productivity: size/effort Size should reflect the amount of functionality

    provided to the customer

    Effort should measure the amount of work fordeveloping the new functionality

    Cost reduction

    Time-to-market compression

    Quality improvement

    Compare hard data to benchmarks

  • 8/6/2019 Issues with Enterprise Adoption of Agile Technology

    44/53

    44

    Measuring Adoption and Success (2)

  • 8/6/2019 Issues with Enterprise Adoption of Agile Technology

    45/53

    Agile Methods in LargeOrganizations

    Challenges

    Prospects

  • 8/6/2019 Issues with Enterprise Adoption of Agile Technology

    46/53

    46

    Agile in Large Organizations

    Systematic study as 15 pilot XP projects

    Projects often depend on their environment;

    work is distributed across several teams Introducing XP without extensive tailoring is

    infeasible

    Challenges lie in resolving incompatibilities

    between the agile project and the

    environment

  • 8/6/2019 Issues with Enterprise Adoption of Agile Technology

    47/53

    47

    Project Environment

  • 8/6/2019 Issues with Enterprise Adoption of Agile Technology

    48/53

    48

    Lessons Learnt

    Large organizations often follow defined

    software processes which can result in

    double work when projects apply new

    practices

    Having mature processes already in place

    ensures that efforts to become agile do not

    turn a mature organization into a chaotic one

  • 8/6/2019 Issues with Enterprise Adoption of Agile Technology

    49/53

    49

    Agile in Large Organizations:

    Prospects

    Nothing prevents large organizations fromtrying XP on a small scale

    Agile methods as another tool in software

    process improvement toolbox

    XP could be used to develop large, complex,safety-critical systems with long lifecycles

    XP works best for small, independent,collocated projects; agile methods willinfluence other processes

  • 8/6/2019 Issues with Enterprise Adoption of Agile Technology

    50/53

    50

    Success Factors of Change

    Eight determinants of organizational change (Conner, 1992)

    Active sponsorship

    of CIO

    Death leap

    stance Implementation

    practices,

    monitoring project

    metrics, change

    dynamics

    Right people, good

    team, accountable,

    clear goals

    Middle/upper

    management, non-

    management

    opinion leaders

    Existing HR practices, work

    design, organizational

    structure, policiesTraining, multi-way

    communication, new roles

    Change is amarathon, not a

    sprint.

  • 8/6/2019 Issues with Enterprise Adoption of Agile Technology

    51/53

    Conclusions

  • 8/6/2019 Issues with Enterprise Adoption of Agile Technology

    52/53

    52

    Conclusions

    Agile yet to cross the chasm!

    Most studies conducted for adopting agile

    methods did not follow a scientific process Qwest experience is a positive indication

    Hybrid (in-house evolutionary) approaches

    best suited for use in large organizations

    Refrain from wholesale adoption

  • 8/6/2019 Issues with Enterprise Adoption of Agile Technology

    53/53

    53

    Sources and References1. Cisco Systems, The Five Phases of SuccessfulService Development, 2000

    2. Dan Turk et al., Limitations of Agile Software Processes, In Proc. of XP02 Conf.,

    pg 43-46, 20023. Donald Reifer, HowGood Are Agile Methods?, IEEE Software, Vol. 19, No. 4, 20024. Gerold Keefer, Extreme ProgrammingConsidered HarmfulforReliable Software

    Development, AVOCA GmbH, 2002

    5. Jim Highsmith, Objections to Agile Development, Agile Project Management WhitePaper, Cutter Consortium, 2004

    6. John Vecchio, The Tech Adoption Life Cycle, Fools Den, 2000

    7. Mary Poppendieck, Crossing the Chasm: Moving XP into the Mainstream, 2004

    8. Michael Spayd, Evolving Agile in the Enterprise: Implementing XP on a Grand Scale,In Proc. of ADC03 Conf., pg 60-70, 2003

    9. Mikael Lindvall et al.,Agile Software Development in Large Organizations,IEEE Computer, Vol. 37, No. 12, 2004

    10. Mike Cohn et al., Introducing an Agile Process to an Organization, IEEE Computer,Vol. 36, No. 6, 2003

    11. Mike Griffiths, Crossing the Agile Chasm: DSDM as an Enterprise Friendly Wrapper forAgile Development, White Paper, Quadrus Development, 2003

    12. Paul Hodgetts, Refactoring the Development Process: Experiences with the IncrementalAdoption of Agile Practices, In Proc. of ADC04 Conf., pg 106-113, 2004

    13. Scott Ambler, Remaining Agile, AmbySoft, 2005

    14. Stephanie Moore et al., Offshore Outsourcing and Agile Development, ForresterResearch Report, 2004

    15. Steve Hayes, Why use Agile Methods?, ZDNet Australia, 2003

    16. Tuomo Kahkonen,Agile Methods forLarge Organizations- BuildingCommunities ofPractice, In Proc. of ADC04 Conf., pg 2-10, 2004