Exigen Services Business Software Trends David Webb April 2008
Exigen ServicesBusiness
Software Trends
David WebbApril 2008
State of Application Development
• Pace of business change is extremely high • IT often unable to support the rapidly changing business with
proper systems in time• Application projects plagued by high failure rates
• Unreliable estimates and/or changes to requirements produce schedule slips and cost overruns
• “72% of application projects are failed or challenged” – Standish Group
• “Most development organizations experience severe overruns, and many (nearly half) have cancelled or abandoned some of their projects” – Cutter Consortium
• Even when projects do not fail outright, systems often do not meet business needs (user satisfaction is low)• 64% of features in systems/products are rarely or never used –
Standish Group• Business problem can evolved while the project is in-flight
There is ample room for improvement
Agree Strongly agreeSomewhat agreeSomewhat disagreeStrongly disagree Disagree
“Please indicate how much you agree or disagree with these statements aboutapplication software you use that is custom-developed by your IT organization.”
“New apps or changes toexisting apps are deliveredat expected quality levels”
2% 7% 20% 29% 35% 7%
Base: 418 technology influencers at US companies with more than 500 employees who personally used custom applications developed by their IT organizations
(percentages may not total 100 due to rounding)
“New apps or changes toexisting apps are deliveredin the time frame needed”
3% 9% 20% 31% 30% 7%
Base: 417 technology influencers at US companies with more than 500 employees who personally used custom applications developed by their IT organizations
(percentages may not total 100 due to rounding)
Source: Forrester’s Business Technographics® March 2005 United States Technology User Benchmark Study
• “Waterfall”: Single-pass, sequential process with separate phases for requirements specification, design, coding, integration, testing, and deployment
Conventional development methodology
Methodology part of the problem?
• Waterfall contributes to high project failure rate• Attempts comprehensive, predictive planning • Fails to account for high-change nature of projects• Results in unreliable estimates, schedules and budgets• No visibility into real status of projects until too late• “Four out of the five key factors contributing to project failure are
associated with and aggravated by the waterfall model, including inability to deal with changing requirements, and problems with late integration”
• Waterfall contributes to the outsourcing difficulties• Makes change control process slow, stressful and expensive• Causes customers to broaden the scope excessively at requirements
definition phase (“Change too expensive”)• Causes providers to underestimate to come in with lowest bid (“We will
make it up on change requests”)• As a result, customers may end up locked into features that don’t
reflect their true needs, not getting the functionality they do need, and being hit with huge change request bills
* Craig Larman, “Agile & Iterative Development: A Manager’s Guide”, 2004
The project variables
Enter Agile development
• Iterative, incremental development methodology• Highly disciplined approach focusing on delivering
value (fit-for-purpose, functioning systems and products, on time) over strict process adherence
• Predicated upon the inherent complexity and high-change, inventive nature of application development projects
• Adaptive, multi-level planning vs. predictive planning (recognizing the Cone of Uncertainty)
• Fosters strong collaboration and alignment between multiple groups of stakeholders (business and IT)
Agile vs. Waterfall
Opportunity forrequirements
change
Opportunity forrequirements
change
Opportunity forrequirements
change
Opportunity forrequirements
change
Project A: Waterfall development process
Project B: Agile (iterative) development process
J F M A M J J A S O N D
J F M A M J J A S O N D
Requirements definition Formal approval process for requirements change
Release
Release 1Iteration 0
Release 2 Release 3 Release 5Release 4
Enterprise IT continues to adopt Agile
Standard Contract Types
• Fixed Price Waterfall• Tries to offload risk
• Time and materials• Client takes risk
• Time and materials not to exceed• Fixed Price Agile
Manifesto for Agile Software Development
• We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value:
• Individuals and interactions over processes and tools • Working software over comprehensive documentation • Customer collaboration over contract negotiation • Responding to change over following a plan • That is, while there is value in the items on
the right, we value the items on the left more.
“Traditional” Roles (Scrum / XP)
• Product Owner / Customer• Defines and prioritises the requirements• Gives feedback on what is delivered• Signs off completed work
• Scrum Master / Technical Project Manager• Manages the “self managing development team”• Facilitates processes / Drives meetings• Protects the release • Removes impediments
• Development Team• Includes QA
Roles and Locations - Traditional
Customer Exigen
Scrum Master
Developers / QA
• Customer wants moon on a stick and no one keeps him in check• Integration hell – how do we get live code into production?• How do we get access to corp systems and standards?• How does the scrum master remove impediments in the client?
Product Owner
Roles and Locations – Ideal world
Customer Exigen
Scrum Master
Developers / QA
Product Owner
PM / Oversight
Enabler
• Customer wants moon on a stick and no one keeps him in check (PM)• Integration hell – how do we get live code into production? (Enabler)• How do we get access to corp systems and standards? (Enabler)• How does the scrum master remove impediments in the client? (PM)
Lifecycle
Agile Contracts
• Now • T & M not to exceed (Fixed Budget)
• Future – Fixed Price• Shared Risk• Guaranteed Velocity• Guaranteed estimates• Certainty of well planned fix price but with flexibility
and business value prioritisation
Questions