SlideShare a Scribd company logo
 
 

TF
Half‐day Tutorial 
6/4/2013 8:30 AM

 

 
 
 
 
 
 
 

"Agile Project Failures:
Root Causes and Corrective Actions"
 
 
 

Presented by:
Jeff Payne
Coveros, Inc.
 
 
 
 
 
 
 
 

Brought to you by: 
 

 
 
340 Corporate Way, Suite 300, Orange Park, FL 32073 
888‐268‐8770 ∙ 904‐278‐0524 ∙ sqeinfo@sqe.com ∙ www.sqe.com
Jeff Payne
Coveros, Inc.

Jeff Payne is CEO and founder of Coveros, Inc., a software company that builds secure
software applications using agile methods. Since its inception in 2008, Coveros has become a
market leader in secure agile principles and has been recognized by Inc. magazine as one of
the fastest growing private US companies. Prior to founding Coveros, Jeff was chairman of the
board, CEO, and cofounder of Cigital, Inc., a market leader in software security consulting. Jeff
has published more than thirty papers on software development and testing, and testified before
Congress on issues of national importance, including intellectual property rights, cyberterrorism,
and software quality.
 
Agile Project Failure: Root Causes and
Corrective Actions
Jeffery Payne
Chief Executive Officer
Coveros, Inc.
jeff.payne@coveros.com
www.coveros.com

© Copyright 2012 Coveros, Inc.. All rights reserved.

1
Trainer

Jeffery Payne
Jeffery Payne is CEO and founder of Coveros, Inc., a software company that
helps organizations accelerate the delivery of secure, reliable software. Coveros
uses agile development methods and a proven software assurance framework to
build security and quality into software from the ground up. Prior to founding
Coveros, Jeffery was Chairman of the Board, CEO, and co-founder of Cigital, Inc.
Under his direction, Cigital became a leader in software security and software
quality solutions, helping clients mitigate the risk of software failure. Jeffery is a
recognized software expert and popular speaker at both business and technology
conferences on a variety of software quality, security, and agile development
topics. He has also testified before Congress on issues of national importance,
including intellectual property rights, cyber-terrorism, Software research funding,
and software quality.

© Copyright 2012 Coveros, Inc.. All rights reserved.

2
About Coveros

 Coveros helps organizations accelerate the delivery of
secure, reliable software
 Our consulting services:
– Agile software development
– Application security
– Software quality assurance

 Agile services
–
–
–
–
–
–

Agility assessments
Process improvement
Hands-on agile software development
Agile project management
Agile testing and automation
Agile training by role
© Copyright 2012 Coveros, Inc.. All rights reserved.

3
Pop Quiz: Agile Development Means …
 No documentation. We don’t need to write anything down!
 No process. We can do it any way we want!
 No overtime. We can go home at 5!
 No management. We decide when to deliver!
 No testers. Who needs them anyway!
© Copyright 2012 Coveros, Inc.. All rights reserved.

4
What Agile Actually Is
 An approach to software development that recognizes that
building software is much more of a design process than a
construction process
– Adaptive over Predictive
– People over Process
– Visibility into the Process

 Agile Methodologies
–
–
–
–
–

Extreme Programming
SCRUM
Lean Development
Crystal
Agile RUP
© Copyright 2012 Coveros, Inc.. All rights reserved.

5
Agile Development Process
 Just in time requirements
definition
 Integrated design,
development, test
 Automated build, test,
deployment process
 Disciplined iteration scope
control
 Intimate customer involvement
throughout entire process
 Continuous improvement

© Copyright 2012 Coveros, Inc.. All rights reserved.

6
How often do project succeed anyway?

© Copyright 2012 Coveros, Inc.. All rights reserved.

7
Root Causes of Agile
Project Failure

© Copyright 2012 Coveros, Inc.. All rights reserved.

8
Root Causes of Failure can be at Many Levels

Organizational Level
- Senior management
- Organizational
- Cultural
Product/ Project Management Level
- Traditional project management and PMOs
- Product management function
- Sales and customer support
Agile Team Level
- Development process
- Team members / roles

© Copyright 2012 Coveros, Inc.. All rights reserved.

9
Root Cause #1 – Who moved my cheese?
 Resistance to change kills a lot of agile initiatives.
 Most people don’t like change … particularly those who
didn’t think of it 
 Challenges
–
–
–
–

Politics – Agile changes corporate dynamics
Turf – Agile changes the definition of “success”
Apathy – Many people don’t want to learn on the job
Subversion – Some will actively work to sabotage Agile

© Copyright 2012 Coveros, Inc.. All rights reserved.

10
Who moved my cheese? – early warning signs
 “Agile doesn’t work for X”
 “Agile shouldn’t impact my group”
 “Agile is a fad”
 Line managers who insist on being part of projects
 Managers who will not use the dashboards and
measurements the team is using
© Copyright 2012 Coveros, Inc.. All rights reserved.

11
Who moved my cheese? – what you should do
 Educate – knowledge allays fears
 Show success on something small
 Include, don’t exclude naysayers

© Copyright 2012 Coveros, Inc.. All rights reserved.

12
Root Cause #2 – Culture of distrust
 Agile depends upon trust between the business and IT.
 Many organizations have a culture of distrust built up from
many, many years of failed initiatives and broken promises
 Challenges
– Makes planning difficult to accomplish in an Agile manner
– Makes completing of tasks in Sprints difficult
– Undercuts accountability

© Copyright 2012 Coveros, Inc.. All rights reserved.

13
Culture of distrust – early warning signs
 Management will not agree that changes can be made to a
release plan
 Management will disagree with estimates and want “more
done with less”
 Management will nitpick individual story estimates
 Management admits that they push for unrealistic deadlines
on purpose
© Copyright 2012 Coveros, Inc.. All rights reserved.

14
Culture of distrust – what you should do
 Hold firm on first Sprint estimate AND THEN DELIVER
 Hold firm on not modifying requirements mid Sprint
 Trust is rebuilt over time, not in a day or because Agile is
now involved

© Copyright 2012 Coveros, Inc.. All rights reserved.

15
Root Cause #3 – Requirements churn
 Just because Agile encourages change does not mean it
can work in the face of constant change
 If requirements are never finalized (iteratively), nothing of
value will be built for the customer
 Challenges with requirements churn
– Estimates are not accurate due to vague requirements
– Significant amounts of rework are done

© Copyright 2012 Coveros, Inc.. All rights reserved.

16
Requirements churn – early warning signs
 Product management wants to swap out Stories in the
middle of a Sprint
 You learn during the first Sprint that the Stories are not valid
/ accurate or too vague to estimate
 Priorities swing wildly from Sprint to Sprint

© Copyright 2012 Coveros, Inc.. All rights reserved.

17
Requirements churn – what you should do
 Incorporate more customers into more UATs
 Hold the line of swapping Stories out during Sprints
 Increase estimates for Stories you believe are too vague as
they will likely take more time to finalize and implement

© Copyright 2012 Coveros, Inc.. All rights reserved.

18
Root Cause #4 – Doing Agile vs. Being Agile
 Agile is not a methodology but a set of principles
 It is not the kind of process that you manage with a
clipboard. Or with “Nike Management” … Just Do It!
 Challenges
– Following the process becomes the goal instead of building great
software that satisfies customer needs
– The process is never improved because it is being “followed”
successfully

© Copyright 2012 Coveros, Inc.. All rights reserved.

19
Doing Agile vs. Being Agile – early warning signs
 ScrumMaster or associated project management is more
concerned about following the process than the content
discussions
– During daily huddles
– During kickoff meetings
– During retrospectives

 Management asks if there is a CMM for Agile 
 The right things to do are often overrules as being “outside
the process”
© Copyright 2012 Coveros, Inc.. All rights reserved.

20
Doing Agile vs. Being Agile – what you should do
 Designate a key technical member of the team to act as the
“internal ScrumMaster” and begin Being Agile
 Focus on customer feedback as it is the trump card over the
process
 Use your retrospectives to push adoption of additional Agile
principles

© Copyright 2012 Coveros, Inc.. All rights reserved.

21
Root Cause #5 – Non-continuous software builds
 Continuous builds are a keystone of any Agile process
 Because Agile is so iterative, on-going and constant
feedback on quality is necessary to complete Sprints on
time
 Challenges with non-continuous builds
– Significant increases in debugging time/costs as the time between a
defect and its discovery increase
– Implementation of features / functionality on top of a broken system
significantly increases integration time later
– No ability to incorporate regression tests into frequent feedback loop
if continuous build isn’t maintained
© Copyright 2012 Coveros, Inc.. All rights reserved.

22
Non-continuous software builds – early warning signs
 Evidence of successful builds on at least a daily basis does
not exist
 No urgency around fixing a build when it breaks (i.e. teams
are not forced to fix the build before the end of the day)
 No continuous integration software has been setup for use
by the team

© Copyright 2012 Coveros, Inc.. All rights reserved.

23
Non-continuous software builds – what you should do
 Enforce a build policy that does not allow the team to finish
their work for the day before a successful build is done.
 Setup an open source continuous integration server if you
have no budget for anything else
– Hudson, Jenkins, CruiseControl

 Step toward a more rigorous definition of “build complete”
that includes successful testing over time

© Copyright 2012 Coveros, Inc.. All rights reserved.

24
Root Cause #6 – Lack of test automation
 Most if not all testing that is performed during Sprints is
done manually by developers and/or testers.
 Often occurs when development is not fully vested in
performing adequate unit testing and/or test team does not
have the skills necessary to automate story, integration, and
system level tests
 Challenges
– Iterative development of features will increase the amount of testing
needed Sprint of Sprint
– Implementation defects will be identified too late in the process
© Copyright 2012 Coveros, Inc.. All rights reserved.

25
Lack of test automation – early warning signs
 No interest / evidence of test driven development
 Manual testers are identifying implementation level defects
while performing high level testing
 Test team is not completing their test cycles within Sprints
and suggest that testing be carried over into the next Sprint
(parallel programming / testing Sprints)

© Copyright 2012 Coveros, Inc.. All rights reserved.

26
Lack of test automation – what you should do
 Pair developers and testers to help developers learn how to
write good unit tests for their code
 Reassign a developer to be an “engineer in test” and
automate Story level tests on at least a part time basis
 Integrate these tests into continuous build process so all
code is regression tested frequently

© Copyright 2012 Coveros, Inc.. All rights reserved.

27
Root Cause Exercise #1
 Identify some other symptoms of the first six Agile Root
Causes
 Determine some other ways you can help solve these
problems
 Present findings to class

© Copyright 2012 Coveros, Inc.. All rights reserved.

28
Root Cause #7 – Inadequate Retrospectives
 Effective retrospectives at the end of each Sprint are the
key to iteratively moving toward an Agile approach that
works best for you.
 Kent Beck’s “Agile Maturity Model”
– All
– Some
– None

 Challenges with Inadequate Retrospectives
– Cookie cutter approach for Agile will often not work
– Sometimes throws the baby out with the bath water
© Copyright 2012 Coveros, Inc.. All rights reserved.

29
Inadequate retrospectives – early warning signs
 Recommended process changes appear in the notes taken
at multiple retrospectives in a row
 All suggested modifications appear to be gravitating the
process back to a legacy process that did not work before
 No one leads the retrospective and makes sure that
recommendations are implemented

© Copyright 2012 Coveros, Inc.. All rights reserved.

30
Inadequate retrospectives – what you should do
 ScrumMaster is responsible as the “servant leader” to make
sure the agreed upon Agile process is followed … this is
true of all modifications to the process as well
 Explicitly assign someone to implement each process
change and add it to the backlog if greater than a few hours
of work
 For each changed that is proposed, determine Agile
principles that are impacted and make sure new process
still adheres to these principles
© Copyright 2012 Coveros, Inc.. All rights reserved.

31
Root Cause #8 – Scrummerfall
 Scrummerfall: Waterfall development inside Scrum
Sprint #1
Design

Code

Sprint #2
Test

Design

Code

Test

 Challenges with Scrummerfall
– Increases need for unnecessary coordination and documentation
– Decreases team velocity
– Difficult to fit into short sprints
© Copyright 2012 Coveros, Inc.. All rights reserved.

32
Scrummerfall – early warning signs
 Entire development team is not working together day-to-day
on the same Stories
 Testing is often not completed by the end of a Sprint
 Testing of previous Sprint Stories is done in parallel with
design / development of new Sprint Stories
 Moving toward one 9-12 month “Sprint”

© Copyright 2012 Coveros, Inc.. All rights reserved.

33
Scrummerfall – What you should do
 Pair a developer and a tester to work together on specific
Stories
– Tester helps developer think through unit and integration tests for
Story
– Developer builds functionality and automates unit and integration
tests
– Tester reviews / validates unit and integration tests
– Tester adds to system level test plan and creates additional tests
– Developer reviews additions to test plan

 Stories are not marked as complete until all testing has
been performed and defects are fixed
© Copyright 2012 Coveros, Inc.. All rights reserved.

34
Root Cause #9 – Waterscrum done wrong
 Co-dependent Waterfall and Scrum projects
Governance or non-agile project deliverables

Sprint
#1

Sprint
#2

Sprint
#3

Sprint
#4

 Challenges with Waterscrum
– Temptation is to lapse into a Waterfall process to align with the rest
of the organization
– Team shirks it’s responsibility to the rest of the organization and
agile is disbanded
– Waterfall schedule slips and agile team does not adjust
© Copyright 2012 Coveros, Inc.. All rights reserved.

35
Waterscrum – early warning signs
 Development team pushes back on providing necessary
documentation
 Agile team misses deliverable date(s) associated with
Waterfall schedule
 No visibility into progress on Waterfall process
 Team does not factor external delivery dates into Story
priorities and schedule
© Copyright 2012 Coveros, Inc.. All rights reserved.

36
Waterscrum – What you should do
 Designate a team representative to communicate /
coordinate with the rest of the organization on at least a
weekly basis
– Should be the responsibility of the project manager or product
manager

 Assign a “customer” to the project from the Waterfall
initiative to assure agile deliverables meet organizational
needs
 Define documentation or functionality constrained by
Waterfall process in terms of Stories and place them in the
appropriate Sprints to meet Waterfall schedule
© Copyright 2012 Coveros, Inc.. All rights reserved.

37
Root Cause #10 – Ad-hoc development
 Team characterizes its development process as Agile to
justify poor programming practices
 Poor development practices
–
–
–
–

Little or no structured unit testing
Little or no test automation or continuous integration
Little or no necessary product documentation
Handoffs between development and testing

 Challenges with Ad-hoc development
– Ad-hoc development has never worked within any software
development process except perhaps when prototyping something
– Significant quality and maintainability issues will exist
© Copyright 2012 Coveros, Inc.. All rights reserved.
– Not a rigorous process

38
Ad-hoc development troubles – early warning signs
 Lack of evidence that adequate unit testing has been done
– No automation infrastructure to support unit testing
– Limited code coverage

 Lack of evidence that architecture / design has been thought through at
a high level
 Individual developers working on multiple Stories at the same time
 Lack of testers on the team
 Builds break and are not fixed within a day
© Copyright 2012 Coveros, Inc.. All rights reserved.

39
Ad-hoc development – What you should do
 Incorporate unit testing infrastructure (ex. jUnit, nUnit) and
code coverage (ex. Cobertura, Quilt) into continuous
integration
 Incorporate design activity into Sprint kickoff meeting
 Incorporate test planning activity into Sprint planning and
Sprint kickoff meeting
 Pair developers and testers during Sprints
© Copyright 2012 Coveros, Inc.. All rights reserved.

40
Root Cause #11 – Non-existent customers
 Customer’s are not involved throughout entire development
process
– Requirement definition / priority
– Functional clarifications
– User acceptance testing

 Challenges with Non-existent customers
– Significantly reduces the business value of Agile as requirements
are not validated
– Increases in rework due to changing requirements
– Reductions in Sprint velocity and productivity

© Copyright 2012 Coveros, Inc.. All rights reserved.

41
Non-existent customers – early warning signs
 Customer is not intimately involved in initial planning phase
before Sprints
 Customer is not available to answer questions regarding
Stories / requirements during Sprints
 Customer is not part of User Acceptance Testing or UAT is
pre-scripted by development team

© Copyright 2012 Coveros, Inc.. All rights reserved.

42
Non-existent customers – What you should do
 Proactively seek out at least one customer to be involved in
project
– Talk to customer support to identify the most “vocal” client you have
– Don’t assume you already know what customers want

 If customer simply cannot be involved day-to-day or even
week-to-week, work with customer to identify appropriate
“proxy” to act on their behalf
 Do initial User Acceptance Testing at the client’s site to
ease them into the process

© Copyright 2012 Coveros, Inc.. All rights reserved.

43
Root Cause #12 – Frozen requirements
 Complete requirements list created up front that feeds into
Agile Sprints
 Often occurs when development group has moved toward
Agile but business side has not
 Challenges with Frozen requirements:
– 80% of requirements will typically not be useful to customers when
implemented
– Does not allow Agile team to adapt to changes in business
circumstances
– Prioritization of requirements across Sprints will not be accurate

© Copyright 2012 Coveros, Inc.. All rights reserved.

44
Frozen requirements – early warning signs
 SRS requirements document has been produced for the
project
 Contract exists that specifies fixed requirements to be
delivered within a particular timeframe
 Customer is not available / willing to discuss Story priorities
during iterative planning process
 Business resists changes to upcoming Sprints based upon
customer feedback
© Copyright 2012 Coveros, Inc.. All rights reserved.

45
Frozen requirements – What you should do
 Prioritize existing requirements so highest priority
requirements are satisfied first
 Discuss priorities with customer during UAT and highlight
differences between upfront plan and their needs
– May result in modifications to priorities that can help drive a more
effective process
– May result in agreement to change requirements once they better
understand the impact

 If business resists requirements change, pull customer into
discussion with business and get agreement
© Copyright 2012 Coveros, Inc.. All rights reserved.

46
Root Cause #13 – Fixed scope … with a deadline
 Traditional project management fixes scope and estimates
schedule and resources necessary to complete project
– Sometimes all three are fixed in size!

 Agile project management fixes schedule (Sprints) and
resources (Staff available) and estimates scope
 Challenges with Fixed scope
– We don’t know what features have the most business value up front
– Customers don’t know what features have the most business value
up front
– The market changes constantly, necessitating change
– Scope is the most difficult thing to predict up front

© Copyright 2012 Coveros, Inc.. All rights reserved.

47
Fixed scope – early warning signs
 There is resistance to any type of changes in priority, initial
scoping of a Sprint, or initial scoping of a release
 The word “time-box” gets introduced along with the
assumption that a particular scope will be completed within
the time-box
 Efforts to incorporate appropriate refactoring and rework
into Sprints are resisted

© Copyright 2012 Coveros, Inc.. All rights reserved.

48
Fixed scope – What you should do
 Push back as hard as you can on this trend
– Explain how and why Agile works
– Emphasize that this is not Agile
– Emphasize the importance of building maintainable code and cost
of rework

 Vote with your feet!

© Copyright 2012 Coveros, Inc.. All rights reserved.

49
Root Cause Exercise #2
 Identify some other symptoms of the last six Agile Root
Causes
 Determine some other ways you can help solve these
problems
 Present findings to class

© Copyright 2012 Coveros, Inc.. All rights reserved.

50
Questions?
Thank You

© Copyright 2012 Coveros, Inc.. All rights reserved.

51

More Related Content

PDF
Agile Project Failures: Root Causes and Corrective Actions
PPTX
Introduction to Agile and Lean Software Development
PDF
Business Case for Agile Project Management
ODP
Intro to Agile and Lean Software Development
PDF
Scrum Patterns: The New Defacto Scrum Standard
PDF
7 Myths of Agile Development
PDF
What is Agile Development?
PDF
The DevOps Revolution And Beyond...
Agile Project Failures: Root Causes and Corrective Actions
Introduction to Agile and Lean Software Development
Business Case for Agile Project Management
Intro to Agile and Lean Software Development
Scrum Patterns: The New Defacto Scrum Standard
7 Myths of Agile Development
What is Agile Development?
The DevOps Revolution And Beyond...

What's hot (20)

PPTX
Lean Software Development: Values and Principles
PDF
Mary Poppendieck: The Aware Organization - Lean IT Summit 2014
PDF
Scrum Framework Explained
PPTX
What do the "Cool Kids" know about DevOps?
PDF
"The Lean Mindset": Mary & Tom Poppendieck's Keynote at AgileDayChile 2013
PPTX
Poor Man's Kanban
PDF
[IBM Pulse 2014] #1579 DevOps Technical Strategy and Roadmap
DOC
Extending Agile to Suite Big Projects
PDF
Agile Embedded Software
PPTX
Benefits of Agile Software Development for Senior Management
PPTX
Balancing the tension between Lean and Agile
PPTX
Lean Principles for Agile Teams
PPTX
Agile Adoption - Opportunities and Challenges
PPTX
Managing Technical Debt - A Practical Approach Using Continuous Integration a...
PDF
Business Value of Agile Methods: Using ROI & Real Options
PPTX
Scrum & Waterfall: Friend or Foe?
PDF
Challenges of Agile Software Development
PDF
Technical Debt: Do Not Underestimate The Danger
PDF
Agile Relevance in the age of Continuous Everything ....
PDF
Why Is Managing Software So Hard?
Lean Software Development: Values and Principles
Mary Poppendieck: The Aware Organization - Lean IT Summit 2014
Scrum Framework Explained
What do the "Cool Kids" know about DevOps?
"The Lean Mindset": Mary & Tom Poppendieck's Keynote at AgileDayChile 2013
Poor Man's Kanban
[IBM Pulse 2014] #1579 DevOps Technical Strategy and Roadmap
Extending Agile to Suite Big Projects
Agile Embedded Software
Benefits of Agile Software Development for Senior Management
Balancing the tension between Lean and Agile
Lean Principles for Agile Teams
Agile Adoption - Opportunities and Challenges
Managing Technical Debt - A Practical Approach Using Continuous Integration a...
Business Value of Agile Methods: Using ROI & Real Options
Scrum & Waterfall: Friend or Foe?
Challenges of Agile Software Development
Technical Debt: Do Not Underestimate The Danger
Agile Relevance in the age of Continuous Everything ....
Why Is Managing Software So Hard?
Ad

Viewers also liked (16)

PDF
Decoupled System Interface Testing at FedEx
PDF
Sprinkle on Just Enough Process
PDF
Don’t Go over the Waterfall: Keep Agile Testing Agile
PDF
Twelve Risks to Enterprise Software Projects-And What to Do About Them
PDF
Agile Test Management and Reporting—Even in a Non-Agile Project
PDF
Back to the Basics: Principles for Constructing Quality Software
PDF
Are Your Test Reports a Death Sentence?
PDF
Program Management: Collaborating across the Organization
PDF
Test Design Techniques in Exploratory Testing
PDF
Oh, WASP! Security Essentials for Web Apps
PDF
Creating a Better Testing Future: The World Is Changing and We Must Change Wi...
PDF
Essential Test-Driven Development
PDF
Mobile Testing Trends and Innovations
PDF
Continuous Testing through Service Virtualization
PDF
Configuration Management Best Practices
PDF
Ensuring Security through Continuous Testing
Decoupled System Interface Testing at FedEx
Sprinkle on Just Enough Process
Don’t Go over the Waterfall: Keep Agile Testing Agile
Twelve Risks to Enterprise Software Projects-And What to Do About Them
Agile Test Management and Reporting—Even in a Non-Agile Project
Back to the Basics: Principles for Constructing Quality Software
Are Your Test Reports a Death Sentence?
Program Management: Collaborating across the Organization
Test Design Techniques in Exploratory Testing
Oh, WASP! Security Essentials for Web Apps
Creating a Better Testing Future: The World Is Changing and We Must Change Wi...
Essential Test-Driven Development
Mobile Testing Trends and Innovations
Continuous Testing through Service Virtualization
Configuration Management Best Practices
Ensuring Security through Continuous Testing
Ad

Similar to Agile Project Failures: Root Causes and Corrective Actions (20)

PDF
Foundations of the Scaled Agile Framework: Be Agile. Scale Up. Stay Lean. And...
PDF
Agile in a nutshell
PDF
Agile in a nutshell
PDF
Keynote dean-leffingwell-keynote-be-agile-scale-up-stay-lean
PDF
Eight Steps to Kanban
PDF
TDWI STL 20140613 Agile - Paul Holway
PPTX
Professional Project Manager Should Be Proficient in Agile
PDF
Agile Requirements Agile Philly Handouts
PDF
Agile Requirements Management
PDF
Agile Methodologies & Key Principles
PDF
Scaling Agile with the Lessons of Lean Product Development Flow
PDF
SDM: The Fundamentals of Software Delivery Management
PPTX
Emerging Trends of Software Engineering
PDF
AgileLIVE – Accelerate Enterprise Agile with the Scaled Agile Framework®: Part I
PDF
AgileCamp 2014 Track 1: Accelerating Agile Enterprise Adoption with Scaled Ag...
PDF
Doniel Wilson Presents: Surviving the Shift. Agile and its Impact to your Fut...
PPTX
jerry.metcalf.102516.pptx
PDF
Michigan Agile Presentation
PDF
Tales of {Good Teams'} Failures - Case Studies, Root Causes & Recommendations
PDF
IBM Innovate - Uderstanding DevOps
Foundations of the Scaled Agile Framework: Be Agile. Scale Up. Stay Lean. And...
Agile in a nutshell
Agile in a nutshell
Keynote dean-leffingwell-keynote-be-agile-scale-up-stay-lean
Eight Steps to Kanban
TDWI STL 20140613 Agile - Paul Holway
Professional Project Manager Should Be Proficient in Agile
Agile Requirements Agile Philly Handouts
Agile Requirements Management
Agile Methodologies & Key Principles
Scaling Agile with the Lessons of Lean Product Development Flow
SDM: The Fundamentals of Software Delivery Management
Emerging Trends of Software Engineering
AgileLIVE – Accelerate Enterprise Agile with the Scaled Agile Framework®: Part I
AgileCamp 2014 Track 1: Accelerating Agile Enterprise Adoption with Scaled Ag...
Doniel Wilson Presents: Surviving the Shift. Agile and its Impact to your Fut...
jerry.metcalf.102516.pptx
Michigan Agile Presentation
Tales of {Good Teams'} Failures - Case Studies, Root Causes & Recommendations
IBM Innovate - Uderstanding DevOps

More from TechWell (20)

PDF
Failing and Recovering
PDF
Instill a DevOps Testing Culture in Your Team and Organization
PDF
Test Design for Fully Automated Build Architecture
PDF
System-Level Test Automation: Ensuring a Good Start
PDF
Build Your Mobile App Quality and Test Strategy
PDF
Testing Transformation: The Art and Science for Success
PDF
Implement BDD with Cucumber and SpecFlow
PDF
Develop WebDriver Automated Tests—and Keep Your Sanity
PDF
Ma 15
PDF
Eliminate Cloud Waste with a Holistic DevOps Strategy
PDF
Transform Test Organizations for the New World of DevOps
PDF
The Fourth Constraint in Project Delivery—Leadership
PDF
Resolve the Contradiction of Specialists within Agile Teams
PDF
Pin the Tail on the Metric: A Field-Tested Agile Game
PDF
Agile Performance Holarchy (APH)—A Model for Scaling Agile Teams
PDF
A Business-First Approach to DevOps Implementation
PDF
Databases in a Continuous Integration/Delivery Process
PDF
Mobile Testing: What—and What Not—to Automate
PDF
Cultural Intelligence: A Key Skill for Success
PDF
Turn the Lights On: A Power Utility Company's Agile Transformation
Failing and Recovering
Instill a DevOps Testing Culture in Your Team and Organization
Test Design for Fully Automated Build Architecture
System-Level Test Automation: Ensuring a Good Start
Build Your Mobile App Quality and Test Strategy
Testing Transformation: The Art and Science for Success
Implement BDD with Cucumber and SpecFlow
Develop WebDriver Automated Tests—and Keep Your Sanity
Ma 15
Eliminate Cloud Waste with a Holistic DevOps Strategy
Transform Test Organizations for the New World of DevOps
The Fourth Constraint in Project Delivery—Leadership
Resolve the Contradiction of Specialists within Agile Teams
Pin the Tail on the Metric: A Field-Tested Agile Game
Agile Performance Holarchy (APH)—A Model for Scaling Agile Teams
A Business-First Approach to DevOps Implementation
Databases in a Continuous Integration/Delivery Process
Mobile Testing: What—and What Not—to Automate
Cultural Intelligence: A Key Skill for Success
Turn the Lights On: A Power Utility Company's Agile Transformation

Recently uploaded (20)

PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PDF
Empathic Computing: Creating Shared Understanding
PDF
NewMind AI Weekly Chronicles - August'25 Week I
PDF
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
PDF
Unlocking AI with Model Context Protocol (MCP)
PPTX
breach-and-attack-simulation-cybersecurity-india-chennai-defenderrabbit-2025....
PDF
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
PDF
Machine learning based COVID-19 study performance prediction
PDF
GDG Cloud Iasi [PUBLIC] Florian Blaga - Unveiling the Evolution of Cybersecur...
PDF
cuic standard and advanced reporting.pdf
PDF
Spectral efficient network and resource selection model in 5G networks
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PDF
KodekX | Application Modernization Development
PDF
Modernizing your data center with Dell and AMD
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
DOCX
The AUB Centre for AI in Media Proposal.docx
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PDF
GamePlan Trading System Review: Professional Trader's Honest Take
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
PDF
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
20250228 LYD VKU AI Blended-Learning.pptx
Empathic Computing: Creating Shared Understanding
NewMind AI Weekly Chronicles - August'25 Week I
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
Unlocking AI with Model Context Protocol (MCP)
breach-and-attack-simulation-cybersecurity-india-chennai-defenderrabbit-2025....
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
Machine learning based COVID-19 study performance prediction
GDG Cloud Iasi [PUBLIC] Florian Blaga - Unveiling the Evolution of Cybersecur...
cuic standard and advanced reporting.pdf
Spectral efficient network and resource selection model in 5G networks
Mobile App Security Testing_ A Comprehensive Guide.pdf
KodekX | Application Modernization Development
Modernizing your data center with Dell and AMD
Diabetes mellitus diagnosis method based random forest with bat algorithm
The AUB Centre for AI in Media Proposal.docx
Dropbox Q2 2025 Financial Results & Investor Presentation
GamePlan Trading System Review: Professional Trader's Honest Take
“AI and Expert System Decision Support & Business Intelligence Systems”
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton

Agile Project Failures: Root Causes and Corrective Actions

  • 1.     TF Half‐day Tutorial  6/4/2013 8:30 AM                 "Agile Project Failures: Root Causes and Corrective Actions"       Presented by: Jeff Payne Coveros, Inc.                 Brought to you by:        340 Corporate Way, Suite 300, Orange Park, FL 32073  888‐268‐8770 ∙ 904‐278‐0524 ∙ sqeinfo@sqe.com ∙ www.sqe.com
  • 2. Jeff Payne Coveros, Inc. Jeff Payne is CEO and founder of Coveros, Inc., a software company that builds secure software applications using agile methods. Since its inception in 2008, Coveros has become a market leader in secure agile principles and has been recognized by Inc. magazine as one of the fastest growing private US companies. Prior to founding Coveros, Jeff was chairman of the board, CEO, and cofounder of Cigital, Inc., a market leader in software security consulting. Jeff has published more than thirty papers on software development and testing, and testified before Congress on issues of national importance, including intellectual property rights, cyberterrorism, and software quality.  
  • 3. Agile Project Failure: Root Causes and Corrective Actions Jeffery Payne Chief Executive Officer Coveros, Inc. jeff.payne@coveros.com www.coveros.com © Copyright 2012 Coveros, Inc.. All rights reserved. 1
  • 4. Trainer Jeffery Payne Jeffery Payne is CEO and founder of Coveros, Inc., a software company that helps organizations accelerate the delivery of secure, reliable software. Coveros uses agile development methods and a proven software assurance framework to build security and quality into software from the ground up. Prior to founding Coveros, Jeffery was Chairman of the Board, CEO, and co-founder of Cigital, Inc. Under his direction, Cigital became a leader in software security and software quality solutions, helping clients mitigate the risk of software failure. Jeffery is a recognized software expert and popular speaker at both business and technology conferences on a variety of software quality, security, and agile development topics. He has also testified before Congress on issues of national importance, including intellectual property rights, cyber-terrorism, Software research funding, and software quality. © Copyright 2012 Coveros, Inc.. All rights reserved. 2
  • 5. About Coveros  Coveros helps organizations accelerate the delivery of secure, reliable software  Our consulting services: – Agile software development – Application security – Software quality assurance  Agile services – – – – – – Agility assessments Process improvement Hands-on agile software development Agile project management Agile testing and automation Agile training by role © Copyright 2012 Coveros, Inc.. All rights reserved. 3
  • 6. Pop Quiz: Agile Development Means …  No documentation. We don’t need to write anything down!  No process. We can do it any way we want!  No overtime. We can go home at 5!  No management. We decide when to deliver!  No testers. Who needs them anyway! © Copyright 2012 Coveros, Inc.. All rights reserved. 4
  • 7. What Agile Actually Is  An approach to software development that recognizes that building software is much more of a design process than a construction process – Adaptive over Predictive – People over Process – Visibility into the Process  Agile Methodologies – – – – – Extreme Programming SCRUM Lean Development Crystal Agile RUP © Copyright 2012 Coveros, Inc.. All rights reserved. 5
  • 8. Agile Development Process  Just in time requirements definition  Integrated design, development, test  Automated build, test, deployment process  Disciplined iteration scope control  Intimate customer involvement throughout entire process  Continuous improvement © Copyright 2012 Coveros, Inc.. All rights reserved. 6
  • 9. How often do project succeed anyway? © Copyright 2012 Coveros, Inc.. All rights reserved. 7
  • 10. Root Causes of Agile Project Failure © Copyright 2012 Coveros, Inc.. All rights reserved. 8
  • 11. Root Causes of Failure can be at Many Levels Organizational Level - Senior management - Organizational - Cultural Product/ Project Management Level - Traditional project management and PMOs - Product management function - Sales and customer support Agile Team Level - Development process - Team members / roles © Copyright 2012 Coveros, Inc.. All rights reserved. 9
  • 12. Root Cause #1 – Who moved my cheese?  Resistance to change kills a lot of agile initiatives.  Most people don’t like change … particularly those who didn’t think of it   Challenges – – – – Politics – Agile changes corporate dynamics Turf – Agile changes the definition of “success” Apathy – Many people don’t want to learn on the job Subversion – Some will actively work to sabotage Agile © Copyright 2012 Coveros, Inc.. All rights reserved. 10
  • 13. Who moved my cheese? – early warning signs  “Agile doesn’t work for X”  “Agile shouldn’t impact my group”  “Agile is a fad”  Line managers who insist on being part of projects  Managers who will not use the dashboards and measurements the team is using © Copyright 2012 Coveros, Inc.. All rights reserved. 11
  • 14. Who moved my cheese? – what you should do  Educate – knowledge allays fears  Show success on something small  Include, don’t exclude naysayers © Copyright 2012 Coveros, Inc.. All rights reserved. 12
  • 15. Root Cause #2 – Culture of distrust  Agile depends upon trust between the business and IT.  Many organizations have a culture of distrust built up from many, many years of failed initiatives and broken promises  Challenges – Makes planning difficult to accomplish in an Agile manner – Makes completing of tasks in Sprints difficult – Undercuts accountability © Copyright 2012 Coveros, Inc.. All rights reserved. 13
  • 16. Culture of distrust – early warning signs  Management will not agree that changes can be made to a release plan  Management will disagree with estimates and want “more done with less”  Management will nitpick individual story estimates  Management admits that they push for unrealistic deadlines on purpose © Copyright 2012 Coveros, Inc.. All rights reserved. 14
  • 17. Culture of distrust – what you should do  Hold firm on first Sprint estimate AND THEN DELIVER  Hold firm on not modifying requirements mid Sprint  Trust is rebuilt over time, not in a day or because Agile is now involved © Copyright 2012 Coveros, Inc.. All rights reserved. 15
  • 18. Root Cause #3 – Requirements churn  Just because Agile encourages change does not mean it can work in the face of constant change  If requirements are never finalized (iteratively), nothing of value will be built for the customer  Challenges with requirements churn – Estimates are not accurate due to vague requirements – Significant amounts of rework are done © Copyright 2012 Coveros, Inc.. All rights reserved. 16
  • 19. Requirements churn – early warning signs  Product management wants to swap out Stories in the middle of a Sprint  You learn during the first Sprint that the Stories are not valid / accurate or too vague to estimate  Priorities swing wildly from Sprint to Sprint © Copyright 2012 Coveros, Inc.. All rights reserved. 17
  • 20. Requirements churn – what you should do  Incorporate more customers into more UATs  Hold the line of swapping Stories out during Sprints  Increase estimates for Stories you believe are too vague as they will likely take more time to finalize and implement © Copyright 2012 Coveros, Inc.. All rights reserved. 18
  • 21. Root Cause #4 – Doing Agile vs. Being Agile  Agile is not a methodology but a set of principles  It is not the kind of process that you manage with a clipboard. Or with “Nike Management” … Just Do It!  Challenges – Following the process becomes the goal instead of building great software that satisfies customer needs – The process is never improved because it is being “followed” successfully © Copyright 2012 Coveros, Inc.. All rights reserved. 19
  • 22. Doing Agile vs. Being Agile – early warning signs  ScrumMaster or associated project management is more concerned about following the process than the content discussions – During daily huddles – During kickoff meetings – During retrospectives  Management asks if there is a CMM for Agile   The right things to do are often overrules as being “outside the process” © Copyright 2012 Coveros, Inc.. All rights reserved. 20
  • 23. Doing Agile vs. Being Agile – what you should do  Designate a key technical member of the team to act as the “internal ScrumMaster” and begin Being Agile  Focus on customer feedback as it is the trump card over the process  Use your retrospectives to push adoption of additional Agile principles © Copyright 2012 Coveros, Inc.. All rights reserved. 21
  • 24. Root Cause #5 – Non-continuous software builds  Continuous builds are a keystone of any Agile process  Because Agile is so iterative, on-going and constant feedback on quality is necessary to complete Sprints on time  Challenges with non-continuous builds – Significant increases in debugging time/costs as the time between a defect and its discovery increase – Implementation of features / functionality on top of a broken system significantly increases integration time later – No ability to incorporate regression tests into frequent feedback loop if continuous build isn’t maintained © Copyright 2012 Coveros, Inc.. All rights reserved. 22
  • 25. Non-continuous software builds – early warning signs  Evidence of successful builds on at least a daily basis does not exist  No urgency around fixing a build when it breaks (i.e. teams are not forced to fix the build before the end of the day)  No continuous integration software has been setup for use by the team © Copyright 2012 Coveros, Inc.. All rights reserved. 23
  • 26. Non-continuous software builds – what you should do  Enforce a build policy that does not allow the team to finish their work for the day before a successful build is done.  Setup an open source continuous integration server if you have no budget for anything else – Hudson, Jenkins, CruiseControl  Step toward a more rigorous definition of “build complete” that includes successful testing over time © Copyright 2012 Coveros, Inc.. All rights reserved. 24
  • 27. Root Cause #6 – Lack of test automation  Most if not all testing that is performed during Sprints is done manually by developers and/or testers.  Often occurs when development is not fully vested in performing adequate unit testing and/or test team does not have the skills necessary to automate story, integration, and system level tests  Challenges – Iterative development of features will increase the amount of testing needed Sprint of Sprint – Implementation defects will be identified too late in the process © Copyright 2012 Coveros, Inc.. All rights reserved. 25
  • 28. Lack of test automation – early warning signs  No interest / evidence of test driven development  Manual testers are identifying implementation level defects while performing high level testing  Test team is not completing their test cycles within Sprints and suggest that testing be carried over into the next Sprint (parallel programming / testing Sprints) © Copyright 2012 Coveros, Inc.. All rights reserved. 26
  • 29. Lack of test automation – what you should do  Pair developers and testers to help developers learn how to write good unit tests for their code  Reassign a developer to be an “engineer in test” and automate Story level tests on at least a part time basis  Integrate these tests into continuous build process so all code is regression tested frequently © Copyright 2012 Coveros, Inc.. All rights reserved. 27
  • 30. Root Cause Exercise #1  Identify some other symptoms of the first six Agile Root Causes  Determine some other ways you can help solve these problems  Present findings to class © Copyright 2012 Coveros, Inc.. All rights reserved. 28
  • 31. Root Cause #7 – Inadequate Retrospectives  Effective retrospectives at the end of each Sprint are the key to iteratively moving toward an Agile approach that works best for you.  Kent Beck’s “Agile Maturity Model” – All – Some – None  Challenges with Inadequate Retrospectives – Cookie cutter approach for Agile will often not work – Sometimes throws the baby out with the bath water © Copyright 2012 Coveros, Inc.. All rights reserved. 29
  • 32. Inadequate retrospectives – early warning signs  Recommended process changes appear in the notes taken at multiple retrospectives in a row  All suggested modifications appear to be gravitating the process back to a legacy process that did not work before  No one leads the retrospective and makes sure that recommendations are implemented © Copyright 2012 Coveros, Inc.. All rights reserved. 30
  • 33. Inadequate retrospectives – what you should do  ScrumMaster is responsible as the “servant leader” to make sure the agreed upon Agile process is followed … this is true of all modifications to the process as well  Explicitly assign someone to implement each process change and add it to the backlog if greater than a few hours of work  For each changed that is proposed, determine Agile principles that are impacted and make sure new process still adheres to these principles © Copyright 2012 Coveros, Inc.. All rights reserved. 31
  • 34. Root Cause #8 – Scrummerfall  Scrummerfall: Waterfall development inside Scrum Sprint #1 Design Code Sprint #2 Test Design Code Test  Challenges with Scrummerfall – Increases need for unnecessary coordination and documentation – Decreases team velocity – Difficult to fit into short sprints © Copyright 2012 Coveros, Inc.. All rights reserved. 32
  • 35. Scrummerfall – early warning signs  Entire development team is not working together day-to-day on the same Stories  Testing is often not completed by the end of a Sprint  Testing of previous Sprint Stories is done in parallel with design / development of new Sprint Stories  Moving toward one 9-12 month “Sprint” © Copyright 2012 Coveros, Inc.. All rights reserved. 33
  • 36. Scrummerfall – What you should do  Pair a developer and a tester to work together on specific Stories – Tester helps developer think through unit and integration tests for Story – Developer builds functionality and automates unit and integration tests – Tester reviews / validates unit and integration tests – Tester adds to system level test plan and creates additional tests – Developer reviews additions to test plan  Stories are not marked as complete until all testing has been performed and defects are fixed © Copyright 2012 Coveros, Inc.. All rights reserved. 34
  • 37. Root Cause #9 – Waterscrum done wrong  Co-dependent Waterfall and Scrum projects Governance or non-agile project deliverables Sprint #1 Sprint #2 Sprint #3 Sprint #4  Challenges with Waterscrum – Temptation is to lapse into a Waterfall process to align with the rest of the organization – Team shirks it’s responsibility to the rest of the organization and agile is disbanded – Waterfall schedule slips and agile team does not adjust © Copyright 2012 Coveros, Inc.. All rights reserved. 35
  • 38. Waterscrum – early warning signs  Development team pushes back on providing necessary documentation  Agile team misses deliverable date(s) associated with Waterfall schedule  No visibility into progress on Waterfall process  Team does not factor external delivery dates into Story priorities and schedule © Copyright 2012 Coveros, Inc.. All rights reserved. 36
  • 39. Waterscrum – What you should do  Designate a team representative to communicate / coordinate with the rest of the organization on at least a weekly basis – Should be the responsibility of the project manager or product manager  Assign a “customer” to the project from the Waterfall initiative to assure agile deliverables meet organizational needs  Define documentation or functionality constrained by Waterfall process in terms of Stories and place them in the appropriate Sprints to meet Waterfall schedule © Copyright 2012 Coveros, Inc.. All rights reserved. 37
  • 40. Root Cause #10 – Ad-hoc development  Team characterizes its development process as Agile to justify poor programming practices  Poor development practices – – – – Little or no structured unit testing Little or no test automation or continuous integration Little or no necessary product documentation Handoffs between development and testing  Challenges with Ad-hoc development – Ad-hoc development has never worked within any software development process except perhaps when prototyping something – Significant quality and maintainability issues will exist © Copyright 2012 Coveros, Inc.. All rights reserved. – Not a rigorous process 38
  • 41. Ad-hoc development troubles – early warning signs  Lack of evidence that adequate unit testing has been done – No automation infrastructure to support unit testing – Limited code coverage  Lack of evidence that architecture / design has been thought through at a high level  Individual developers working on multiple Stories at the same time  Lack of testers on the team  Builds break and are not fixed within a day © Copyright 2012 Coveros, Inc.. All rights reserved. 39
  • 42. Ad-hoc development – What you should do  Incorporate unit testing infrastructure (ex. jUnit, nUnit) and code coverage (ex. Cobertura, Quilt) into continuous integration  Incorporate design activity into Sprint kickoff meeting  Incorporate test planning activity into Sprint planning and Sprint kickoff meeting  Pair developers and testers during Sprints © Copyright 2012 Coveros, Inc.. All rights reserved. 40
  • 43. Root Cause #11 – Non-existent customers  Customer’s are not involved throughout entire development process – Requirement definition / priority – Functional clarifications – User acceptance testing  Challenges with Non-existent customers – Significantly reduces the business value of Agile as requirements are not validated – Increases in rework due to changing requirements – Reductions in Sprint velocity and productivity © Copyright 2012 Coveros, Inc.. All rights reserved. 41
  • 44. Non-existent customers – early warning signs  Customer is not intimately involved in initial planning phase before Sprints  Customer is not available to answer questions regarding Stories / requirements during Sprints  Customer is not part of User Acceptance Testing or UAT is pre-scripted by development team © Copyright 2012 Coveros, Inc.. All rights reserved. 42
  • 45. Non-existent customers – What you should do  Proactively seek out at least one customer to be involved in project – Talk to customer support to identify the most “vocal” client you have – Don’t assume you already know what customers want  If customer simply cannot be involved day-to-day or even week-to-week, work with customer to identify appropriate “proxy” to act on their behalf  Do initial User Acceptance Testing at the client’s site to ease them into the process © Copyright 2012 Coveros, Inc.. All rights reserved. 43
  • 46. Root Cause #12 – Frozen requirements  Complete requirements list created up front that feeds into Agile Sprints  Often occurs when development group has moved toward Agile but business side has not  Challenges with Frozen requirements: – 80% of requirements will typically not be useful to customers when implemented – Does not allow Agile team to adapt to changes in business circumstances – Prioritization of requirements across Sprints will not be accurate © Copyright 2012 Coveros, Inc.. All rights reserved. 44
  • 47. Frozen requirements – early warning signs  SRS requirements document has been produced for the project  Contract exists that specifies fixed requirements to be delivered within a particular timeframe  Customer is not available / willing to discuss Story priorities during iterative planning process  Business resists changes to upcoming Sprints based upon customer feedback © Copyright 2012 Coveros, Inc.. All rights reserved. 45
  • 48. Frozen requirements – What you should do  Prioritize existing requirements so highest priority requirements are satisfied first  Discuss priorities with customer during UAT and highlight differences between upfront plan and their needs – May result in modifications to priorities that can help drive a more effective process – May result in agreement to change requirements once they better understand the impact  If business resists requirements change, pull customer into discussion with business and get agreement © Copyright 2012 Coveros, Inc.. All rights reserved. 46
  • 49. Root Cause #13 – Fixed scope … with a deadline  Traditional project management fixes scope and estimates schedule and resources necessary to complete project – Sometimes all three are fixed in size!  Agile project management fixes schedule (Sprints) and resources (Staff available) and estimates scope  Challenges with Fixed scope – We don’t know what features have the most business value up front – Customers don’t know what features have the most business value up front – The market changes constantly, necessitating change – Scope is the most difficult thing to predict up front © Copyright 2012 Coveros, Inc.. All rights reserved. 47
  • 50. Fixed scope – early warning signs  There is resistance to any type of changes in priority, initial scoping of a Sprint, or initial scoping of a release  The word “time-box” gets introduced along with the assumption that a particular scope will be completed within the time-box  Efforts to incorporate appropriate refactoring and rework into Sprints are resisted © Copyright 2012 Coveros, Inc.. All rights reserved. 48
  • 51. Fixed scope – What you should do  Push back as hard as you can on this trend – Explain how and why Agile works – Emphasize that this is not Agile – Emphasize the importance of building maintainable code and cost of rework  Vote with your feet! © Copyright 2012 Coveros, Inc.. All rights reserved. 49
  • 52. Root Cause Exercise #2  Identify some other symptoms of the last six Agile Root Causes  Determine some other ways you can help solve these problems  Present findings to class © Copyright 2012 Coveros, Inc.. All rights reserved. 50
  • 53. Questions? Thank You © Copyright 2012 Coveros, Inc.. All rights reserved. 51