Agile Myths and Misconceptions

45
Agile Myths and Misconceptions

description

12 Agile Myths and Misconceptions corrected. Presented at SofTech, the first software engineering conference of the PSIA.

Transcript of Agile Myths and Misconceptions

Page 1: Agile Myths and Misconceptions

Agile Myths and Misconceptions

Page 2: Agile Myths and Misconceptions

Myth #1:

Agile is a Methodology

Page 3: Agile Myths and Misconceptions

Methodology- pretentious misused term for “process”

- If situation X, do Y...- Do activity A, then B, then C...- Use template 1, diagram 2...- The output of M is the input of N...

Methodologies: Scrum, XP, Kanban...

Page 4: Agile Myths and Misconceptions

Agile is Principles & Values

Agile Manifesto

12 Agile Principles

4 XP Values

7 Principles of Lean Software Development

Agile reduces process, which must be replaced by values to work.

Page 5: Agile Myths and Misconceptions

Agile is Principles & Values

Customer Satisfaction, Customer Value

Evidence-Based Decision-Making

Technical Excellence

Feedback, Visibility, Courage

Eliminating Waste

Human Interaction

Etc...

Page 6: Agile Myths and Misconceptions

Myth #2:

Agile is Project Management

Page 7: Agile Myths and Misconceptions

Agile Has Equal (or greater) Focus on Engineering

Early Agile methodologies were heavy on engineering

– Test-Driven Development, Coding Practices, Design Patterns, etc.

Scrum originally focused on just project management, but lately is reemphasizing engineering

Page 8: Agile Myths and Misconceptions

“There's a mess I've heard about with quite a few projects recently. It works out like this:

“They want to use an agile process, and pick Scrum

“They adopt the Scrum practices, and maybe even the principles

“After a while progress is slow because the code base is a mess”

- - Martin Fowler

Agile Manifesto Signatory, ThoughtWorks Chief Scientist, Author

Page 9: Agile Myths and Misconceptions

The Cost of Bad Code

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 2520

25

30

35

40

45

Iteration

Velo

city

Page 10: Agile Myths and Misconceptions

Team Capacity

Team Capacity

Requirements FeaturesDevelopment

Page 11: Agile Myths and Misconceptions

Team Capacity

Team Capacity

Requirements FeaturesDevelopment

Bugs Bug Fixing

Page 12: Agile Myths and Misconceptions

Team Capacity

Team Capacity

Requirements FeaturesDevelopment

Technical Debt

Bugs Bug Fixing

Technical Debt

Page 13: Agile Myths and Misconceptions

Team Capacity

Team Capacity

Requirements FeaturesDevelopment

Technical Debt

Bugs Bug Fixing

Page 14: Agile Myths and Misconceptions

Myth #3:

Agile is Short Milestones

Page 15: Agile Myths and Misconceptions

Waterfall withMany Short Milestones

● Iterations 1 – 4: Requirements Gathering● Iterations 5 – 8: Design● Iterations 9 – 16: Implementation● Iterations 17 – 20: SIT/UAT● Iterations 21 – 24: Production Support

Page 16: Agile Myths and Misconceptions

Module Milestones(Multiple Short Waterfalls)

Phase 1: Ordering Module

Phase 2: Order Processing Module

Phase 3: Billing Module

Phase 4: User Management

Page 17: Agile Myths and Misconceptions

Iterative Development

It's not just about frequent deliveries

Page 18: Agile Myths and Misconceptions

Software is Evolved

Page 19: Agile Myths and Misconceptions

Software is Evolved

Reach potentially-shippable state as quickly as possible.

All succeeding deliveries should maintain to be potentially-shippable state.

Page 20: Agile Myths and Misconceptions

Working software produced at each iteration

Progress measured by working features

● No such thing as “X% complete”, only done and not done at the end of a sprint

Done means tested, ready to deploy

Page 21: Agile Myths and Misconceptions

Myth #4:

Agile Cannot Work with Fixed Budgets

Page 22: Agile Myths and Misconceptions

Fixed-Budget, Fixed-Scope

Typical Scenario:

1. Project budget and detailed requirements are set in beginning.

2. Requirements are achieved, with plenty of overtime, and usually delays.

3. System is unusable because of mismatch to business needs and bugs.

4. Additional project phases needed to accommodate actual business needs and fix bugs.

5. Repeat X times.

So what happened to the fixed budget?

Page 23: Agile Myths and Misconceptions

In Agile...

Budgets are fixed.

– Based on team composition and duration.

Business objectives are defined.

– First to market? Win customers from competition? Reduce cost? Integrity of financial transactions? Reduce human error? Reduce process time?

Scope is variable.

Deliver something early that meets business needs.

– Early ROI

Base succeeding iterations on feedback.

– Customer uptake, stakeholder feedback, etc.

When project ends, organization is left with a valuable, useful product, within a fixed budget.

Page 24: Agile Myths and Misconceptions

Myth #5:

Agile is Unpredictable

Page 25: Agile Myths and Misconceptions

Agile is Evidence-Based Decision-Making

● Requirements of future iterations based on user feedback from previous iterations.

● Schedules are based on experience from previous iterations.

● Architecture based on Spikes, not literature.

Page 26: Agile Myths and Misconceptions

Waterfall Decision-Making is...

...Creative Writing

Page 27: Agile Myths and Misconceptions

Myth #6:

Agile MeansNo Upfront Design

Page 28: Agile Myths and Misconceptions

Agile Design is Evidence-Based

Architectures are based on Spikes

– Subjected to tests (ex. performance)

Enough detail for team to get started.

– Design expected to evolve, collaboratively.

Waterfall design is... yes, creative writing.

– Designs are not validated by code.

– Details not based on feedback.

Page 29: Agile Myths and Misconceptions

Myth #7:

Agile MeansNo Documentation

Page 30: Agile Myths and Misconceptions

Agile Means Documentation that is Actually Read

User Stories are in a form that is meaningful to all parties, expresses business objectives.

Acceptance Tests removes ambiguity from requirements.

Unit Tests describe the behavior of methods.

Page 31: Agile Myths and Misconceptions

Traditional Requirements...

Use Cases, etc, are devoid of business context.

– Developers & stakeholders do not have basis to discuss better solutions that still meet business objectives.

No automated way to validate if requirements and code are aligned.

Page 32: Agile Myths and Misconceptions

Myth #8:

Agile Will Prevent Problems

Page 33: Agile Myths and Misconceptions

Agile will make problems visible, early and often.

…so that they are easier to fix.

– Expect to initially experience more problems, not less.

Waterfall reveals problems only later, when they are hard to fix.

Page 34: Agile Myths and Misconceptions

Myth #9:

Agile Means No Managers

Page 35: Agile Myths and Misconceptions

“Self-Organizing Teams”

“There’s a reason we use the term 'self-organizing' rather than 'self-organized' or 'self-managed.'

“That’s because it’s a process and a characteristic, not something that is done once and for all.”

- Esther Derby

Page 36: Agile Myths and Misconceptions

Self-Organizing Team: Mature, responsible, self-directed courageous people.

– Aligned with company objectives

– Solicits and provides feedback

– Productivity visible to the organization

– Works within financial and regulatory boundaries.

To get there: Different people/teams need different management approaches.

– Maturity, culture, motivation, discipline, awareness, etc.

Page 37: Agile Myths and Misconceptions

Myth #10:

Agile Means Weak Control

Page 38: Agile Myths and Misconceptions

Traditional Control

Status Reports

– “We are 90% done.”• Based on what?

Page 39: Agile Myths and Misconceptions

Agile Control Feedback

Working Features

Customer Satisfaction!

Test Coverage

Performance Tests

Velocity / Burndown Charts

Fine-grained commits, commit logs

Continuous Integration

Static Analysis

– Cyclomatic Complexity

– Coding Standards

– Common Bugs

– Technical Debt

Web Analytics

Page 40: Agile Myths and Misconceptions

Myth #11:

Agile is Easy

Page 41: Agile Myths and Misconceptions

Most companies think it will only take months to adopt Agile...

… it usually takes years

… because it is mainly a cultural shift.

Painful mistakes will be made along the way.

Organizational changes will need to be made, throughout the company.● Performance Management process, Marketing involvement,

Budgeting Cycles, etc.

Page 42: Agile Myths and Misconceptions

Myth #12:

You're Agile orYou're Not Agile

Page 43: Agile Myths and Misconceptions

Agile is a Continuum

No such thing as a “perfectly Agile” team.

● Constraints – other departments, maturity of team members, clients, schedules, regulation, etc.

● Continuous improvement – always something that can be done better

Be iterative in your Agile adoption.

● Take small steps that will achieve quick wins.● What one value or practice can you adopt this

week/month that will show visible gains?

Page 44: Agile Myths and Misconceptions

Recommended Readings

Page 45: Agile Myths and Misconceptions

Interested in learning more?

facebook.com/orangeandbronze

Online Magazine:orangeandbronze.com/orange-orchard

www.orangeandbronze.com