the pitfalls of being agile

47
Agile Pitfalls Seth Brown: Director of Professional Services, Lullabot Drew Harteveld: AVP Digital Operations, Martha Stewart Living Omnimedia

Upload: seth-brown

Post on 08-May-2015

1.786 views

Category:

Technology


1 download

DESCRIPTION

This presentation examines the points of friction where Agile methodology breaks down on large enterprise web projects.

TRANSCRIPT

Page 1: The Pitfalls of Being Agile

Agile PitfallsSeth Brown: Director of Professional Services, LullabotDrew Harteveld: AVP Digital Operations, Martha Stewart Living Omnimedia

Page 2: The Pitfalls of Being Agile

EXPERIENCE PLANNING OVERVIEW

Page 3: The Pitfalls of Being Agile

Agile Pitfalls; Do It With Drupal, 10/14/2011

Agile Pitfalls

3

MSLO Digital Replatforming Project

18 month duration

50+ resources, internal and external

40+ individual sub-projects, ranging from 4 weeks to 6 months

Average of 8 sub-projects simultaneously underway

Content totals: 500,000 images

18,425 recipes

14,686 articles

7,000 videos

B+

Page 4: The Pitfalls of Being Agile

Agile Pitfalls; Do It With Drupal, 10/14/2011

Agile Pitfalls

4

Flame Wars Theory vs. Practice Does it Scale? Purists Be Warned

Page 5: The Pitfalls of Being Agile

Agile Pitfalls; Do It With Drupal, 10/14/2011

Agile Pitfalls

5

Theory & Practice

Page 6: The Pitfalls of Being Agile

Agile Pitfalls; Do It With Drupal, 10/14/2011

Agile Pitfalls

6

Resource Management

Theory: Fully dedicated Not shared across projects Co-located Strong Product Owner Represents business, creative, and technical stakeholders

Page 7: The Pitfalls of Being Agile

EXPERIENCE PLANNING OVERVIEW

Page 8: The Pitfalls of Being Agile

Agile Pitfalls; Do It With Drupal, 10/14/2011

Agile Pitfalls

8

Resource Management

Practice: Every resource engaged on 3+ simultaneous projects Remote/ virtual resources Poor integration of Product Owners into Agile teams until late in the game.

D+

Page 9: The Pitfalls of Being Agile

Agile Pitfalls; Do It With Drupal, 10/14/2011

Agile Pitfalls

9

Product Backlog

Theory: Complete list of User Stories representing end-state application Active participation of Product Owners Fluid prioritization by Product Owners Awareness, via Velocity or other means, of implications of shuffling priority

order

Page 10: The Pitfalls of Being Agile

EXPERIENCE PLANNING OVERVIEW

Page 11: The Pitfalls of Being Agile

Agile Pitfalls; Do It With Drupal, 10/14/2011

Agile Pitfalls

11

Product Backlog

Practice: Established backlog Composed of tasks, features, epics, user stories Resource capacity aware [Gantt chart] Highly-structured, semi-formal process for prioritizing backlog Transparent, widely socialized to stakeholders Allows the project to meander

A

Page 12: The Pitfalls of Being Agile

Agile Pitfalls; Do It With Drupal, 10/14/2011

Agile Pitfalls

12

User Stories

Theory: Each story represents a single testable feature User-oriented Test conditions written on back Non-technical language INVEST

Independent Negotiable Valuable to users and/or Product Owners Estimable Small Testable

Page 13: The Pitfalls of Being Agile

EXPERIENCE PLANNING OVERVIEW

Page 14: The Pitfalls of Being Agile

Agile Pitfalls; Do It With Drupal, 10/14/2011

Agile Pitfalls

14

User Stories

Practice: Tried to stick to official language Often veered form “As a [user type]…” structure for fully back-end tasks Never enough time to build robust backlog Good involvement of Product Owners for prioritization Poor engagement of Tech resources Abandoned…

B-

Page 15: The Pitfalls of Being Agile

Agile Pitfalls; Do It With Drupal, 10/14/2011

Agile Pitfalls

15

Iteration Planning

Theory: Four-hour planning meetings Add new stories Prioritize backlog Assign Story Points Pack Sprint

Page 16: The Pitfalls of Being Agile

EXPERIENCE PLANNING OVERVIEW

Page 17: The Pitfalls of Being Agile

Agile Pitfalls; Do It With Drupal, 10/14/2011

Agile Pitfalls

17

Iteration Planning

Practice: 2-hour meetings, including Review, Retro, plus Planning Prioritize backlog Pack new sprint Always rushed Grew to handle time estimating in separate meeting, only Tech

resources involved

B-

Page 18: The Pitfalls of Being Agile

Agile Pitfalls; Do It With Drupal, 10/14/2011

Agile Pitfalls

18

Estimating

Theory: Story Points associated with each User Story Not necessarily predicated on hours Utilize Story Points to determine and track Velocity Paper clips to represent Story Points Triangulate estimates Don’t pretend precision is possible (Fibonacci) User Story-based Burndown charts

Page 19: The Pitfalls of Being Agile

EXPERIENCE PLANNING OVERVIEW

Page 20: The Pitfalls of Being Agile

Agile Pitfalls; Do It With Drupal, 10/14/2011

Agile Pitfalls

20

Estimating

Practice: Good with Story Points We are terrible at estimating Strong implementation of paper clips as time and team member Clips on cards to socialize

B+

Page 21: The Pitfalls of Being Agile

Agile Pitfalls; Do It With Drupal, 10/14/2011

Agile Pitfalls

21

Taskboard

Theory: Public space Cards to be moved through representation of process [Kanban] Resource engagement with board Location for Standups Transparent for all stakeholders Tactile tools: index cards, sharpies, yarn, paper clips, thumbtacks, planning

poker, etc.

Page 22: The Pitfalls of Being Agile

EXPERIENCE PLANNING OVERVIEW

Page 23: The Pitfalls of Being Agile

Agile Pitfalls; Do It With Drupal, 10/14/2011

Agile Pitfalls

23

Taskboard

Practice: Big, beautiful, centrally located Taskboards Classic implementation Low developer engagement Overlap and duplication with ticketing system Product stakeholders never really utilized for status, thus produced separate

weekly reports

A-

Page 24: The Pitfalls of Being Agile

Agile Pitfalls; Do It With Drupal, 10/14/2011

Agile Pitfalls

24

Ticketing Tools

Theory: Agile doesn’t want the info. buried in systems Information should be accessible, tactile, visceral Formats should be comfortable to all team members

Page 25: The Pitfalls of Being Agile

EXPERIENCE PLANNING OVERVIEW

Page 26: The Pitfalls of Being Agile

Agile Pitfalls; Do It With Drupal, 10/14/2011

Agile Pitfalls

26

Ticketing Tools

Practice: Tickets are the preferred currency of developers Less technical resources never felt comfortable

organizing project as tickets Prioritization cumbersome and invisible Power dynamic shifts away from Product Owner to

developers We utilized Unfuddle

NetFlix queue? C

Page 27: The Pitfalls of Being Agile

Agile Pitfalls; Do It With Drupal, 10/14/2011

Agile Pitfalls

27

Burndown

Theory: Daily reconciliation of time or points remaining vs. work remaining Sensitive diagnostic of Sprint health Allows visualization of project trends Provides historical foundation for future estimation

Page 28: The Pitfalls of Being Agile

EXPERIENCE PLANNING OVERVIEW

Page 29: The Pitfalls of Being Agile

Agile Pitfalls; Do It With Drupal, 10/14/2011

Agile Pitfalls

29

Burndown

Practice: When we did them, they rocked Regime for hour estimation was strong, thus good

data in reporting Time consuming for PMs Hassle for developers Tough sell for team members Product stakeholders never fully engaged with

reporting Burndown as hours or Story Points? A-

Page 30: The Pitfalls of Being Agile

Agile Pitfalls; Do It With Drupal, 10/14/2011

Agile Pitfalls

30

Standups

Theory: Daily SCRUMs 15 minutes max No rabbit holes or “solutioneering” Detailed issues deferred for optional aftertalks 3 questions:

What did you do yesterday? What are you doing today? What roadblocks?

Page 31: The Pitfalls of Being Agile

EXPERIENCE PLANNING OVERVIEW

Page 32: The Pitfalls of Being Agile

Agile Pitfalls; Do It With Drupal, 10/14/2011

Agile Pitfalls

32

Standups

Practice: Only afforded 2x per week due to shared resourcing In front of Taskboard Held to 15 minutes, 80% of the time Fantastic participation across cross-functional groups Prone to solutioneering

B

Page 33: The Pitfalls of Being Agile

Agile Pitfalls; Do It With Drupal, 10/14/2011

Agile Pitfalls

33

Release Planning

Theory: End of every Sprint results in shippable code Iterate Enterprise deployment best-practices

Version control Code promotion strategy

Start with: Pared-down interfaces Fewer features Fewer roles Simpler permissions Fewer modules Key workflows

Page 34: The Pitfalls of Being Agile

EXPERIENCE PLANNING OVERVIEW

Page 35: The Pitfalls of Being Agile

Agile Pitfalls; Do It With Drupal, 10/14/2011

Agile Pitfalls

35

Release Planning

Practice: Major issues with gap between Agile Sprint work and

aggregating all on one platform for Production Iterative releases had to be feature-complete Like-for-Like Replatforming Goldilocks scope – “Not too big, not to small, just right”

C+

Page 36: The Pitfalls of Being Agile

Agile Pitfalls; Do It With Drupal, 10/14/2011

Agile Pitfalls

36

[Intermission]

Page 37: The Pitfalls of Being Agile

Agile Pitfalls; Do It With Drupal, 10/14/2011

Agile Pitfalls

37

Pitfalls

Page 38: The Pitfalls of Being Agile

Agile Pitfalls; Do It With Drupal, 10/14/2011

Agile Pitfalls

38

Design in a vacuum vs. what we get “outta the box”

Page 39: The Pitfalls of Being Agile

Agile Pitfalls; Do It With Drupal, 10/14/2011

Agile Pitfalls

39

Design in a vacuum vs. what we get “outta the box”

Diagramming the “rainbows and unicorns”, greenfield design

Offensive to the Tech team

More work to build an experience around the provided functionality, than just to build from scratch

Ignoring one of the major strengths of the Drupal platform, its modularity. You get some functionality just by installing!

Steve Jobs: design-driven engineering

Page 40: The Pitfalls of Being Agile

Agile Pitfalls; Do It With Drupal, 10/14/2011

Agile Pitfalls

40

Lack of fully-allocated team resources

Page 41: The Pitfalls of Being Agile

Agile Pitfalls; Do It With Drupal, 10/14/2011

Agile Pitfalls

41

Lack of fully-allocated team resources

Highly likely we were hobbled right out of the gate by this, just weren’t smart enough to realize it

Never got that deep, selfless integration across the team

Resources more concerned about their own deliverables [across projects] than the project’s own deliverables. How can you blame them?

Does it scale?

Page 42: The Pitfalls of Being Agile

Agile Pitfalls; Do It With Drupal, 10/14/2011

Agile Pitfalls

42

Selling Agile to stakeholders and clients

Page 43: The Pitfalls of Being Agile

Agile Pitfalls; Do It With Drupal, 10/14/2011

Agile Pitfalls

43

Selling Agile to stakeholders and clients

Fixed timeline

Negotiable scope, willingness to meander

Complex process for stakeholders to understand

Diametrically opposed to “fixed-price bid” contracts

If all three constraints of the “Iron Triangle” [scope, cost, and time] are fixed, Agile isn’t a good fit for your project

Page 44: The Pitfalls of Being Agile

Agile Pitfalls; Do It With Drupal, 10/14/2011

Agile Pitfalls

44

No Map

Page 45: The Pitfalls of Being Agile

Agile Pitfalls; Do It With Drupal, 10/14/2011

Agile Pitfalls

45

No Map No functional specification to document scope

Difficult to onboard new team members

Nearly impossible to facilitate formalized stakeholder approvals

Doesn’t provide the “Big Picture” of a classic waterfall Gantt chart

Page 46: The Pitfalls of Being Agile

Agile Pitfalls; Do It With Drupal, 10/14/2011

Agile Pitfalls

46

Infrastructure projects not suitable for Agile

Page 47: The Pitfalls of Being Agile

Agile Pitfalls; Do It With Drupal, 10/14/2011

Agile Pitfalls

47

Infrastructure projects not suitable for Agile

Scope not negotiable due to “Like-for-Like” expectations

Hard project deadlines

Foundational code doesn’t lend itself to stakeholder-prioritized iteration

Stakeholders don’t value it [“where is the sizzle?”]

Can’t ship with just the foundation

Can’t build a nuclear submarine in an agile fashion – the bulkheads won’t be water tight.