inxin

inxin
Dimensional Planning
inxin

Overview
•
•
•
•

Introduction
Dimensional Planning
Related techniques
Dimensional Planning Revisited
inxin

Introduction
• Not like anything you’ve seen before!
– Forget about other planning techniques
(critical path, buffering, contingency, …)

• Specialized for Software development
– Especially OO development
– No physical boundaries
– No need to respect the natural order!

No adoption of existing planning techniques!
inxin

Dimensional Planning
•
•
•
•
•
•

Intent
Motivation
Applicability
Structure
Consequences
Implementation
inxin

Intent
• Make planning
– more Predictable
– more Adaptable

• The goal is to always have
– a shippable product on time
– that better fits the customer’s requirements
inxin

Motivation
•
•
•
•

Predictability vs Adaptability
Anticipation
Agile vs Rigid Anticipation
Agile Planning too rigid
inxin

Predictability vs Adaptability
• Are they really inversely proportional?
inxin

Anticipation
inxin

Agile vs Rigid Predictability
• What kind of goals can we set without
sacrificing Agility?
• Is it possible that setting fixed goals can
even improve Agility?
• Are there different goals to choose from?
• Do we need different techniques or is there
a universal technique for different
situations?
inxin

Agile Planning too Rigid
• At the release level (and above)
• At the iteration level
inxin

Release planning too Rigid
• There are no alternatives
– Just one backlog (one big pile of features)
– No structure in the backlog (just a sequence)
– No fallback
inxin

Iteration planning too Rigid
inxin

Applicability
• Dimensionality is applicable to
– Feature Group level
– Feature level

• Dimensional planning is applicable to
– Release planning (and beyond)
– Iteration planning
inxin

Structure
• Add new dimensions
– Dirt road
– Cobblestone road
– Asphalted road

• to different levels
– Feature group (alternate future)
– Feature (alternate depth)
inxin

Dirt road
inxin

Cobblestone road
inxin

Asphalt road
inxin

Alternate Futures
• different set of features per alternate future
inxin

Alternate depths
• Every feature has different depths
inxin

Combined view
inxin

Consequences
• Effects of dimensional planning on
– Release planning
– Iteration planning
inxin

Release Planning
inxin

Iteration Planning
• Different planning strategies
– Dimensions in backlog
– No dimensions in backlog

• Same feature can show up in different
iterations
– But with a different dimension
inxin

With Dimensions
inxin

No Dimensions
inxin

Implementation
• Mr. Bike wants to get on the internet …
• 2 Feature Groups
– Enable E-Commerce
– Support Customers online
inxin

Enable E-Commerce
inxin

Shopping Cart
inxin

Related techniques
• Partial solutions
• Buffering
– Scope buffer (DSDM 70% rule)
– Time buffer

• Splitting user stories of mixed priority
– These are new user stories
inxin

Dimensional Planning Revisited
• Explicit vs Implicit dimensional planning
• Better fit for customer
• Theory of Constraints
inxin

Explicit vs Implicit Dimension
• Implicit dimensions
– Common language
– Less overhead for planning
– Especially useful in iteration planning
• Team knows what a dirt/cobble/asphalted road for a
feature looks like
inxin

inxin
• [in]frastructure for the [in]dependent

• Info at
– email@inxin.com
– http://www.inxin.com

Dimensional planning (XPDays 2007)

Editor's Notes

  • #4 Keep an open mind don’t be biased Agile methodologies borrow a lot from other more general theories e.g. Lean manufacturing and lean development Building classes can be done in random order (mostly)
  • #5 We follow the method to describe software design patterns. A natural way to describe things. Later on , a workshop where we will apply this.
  • #6 Bold statements: A better fit! always on time Predictability and Adaptabilityare not opposites
  • #8 Normally when predictability goes up, adaptability goes down DP says that you can have predictability (to a certain extent) and that adaptability will even go up.
  • #9 We are not alone We are part of a bigger whole (product release, marketing, …) Time is money
  • #11 Planning is the Achilles heel of the agile movement We propose an alternative, and improvement By introducing dimensional planning
  • #12 Especially when there are external dependencies No fallback = no plan B Release planning -> plan for alternative futures We’ll show later how these shortcomings are addressed in dimensional planning
  • #13 Peddler = Leurder van deur tot deur
  • #14 Feature Group Level = bunch of features that belong togethern (theme in xp, or an epic) Beyond release planning means: product, portfolio, and strategic planning (the onion)
  • #16 Gets you from point A to point B But not with everything
  • #17 Better for motorised (automated) transport
  • #18 The customers request
  • #19 Exclusive – pick one The customer decides which dimension she chooses A is everywhere B is not in the asphalted future What if something bad happens? You can reuse some features from different dimensions Not all is thrown away when you change your dimension
  • #20 Incremental You must go from dirt to cobble to asphalt While on feature group level, you could pick one dimension.
  • #23 First say what we see here 1, 2 and 3 are feature groups
  • #24 Plan with dimension visible of not visible (but always present)
  • #25 Default burndown chart.Advantage: can burn down more features
  • #26 Advantage: invisible and easy to implement Guaranteed to have finished all your features at some level.
  • #28 The customers must choose one alternate future
  • #29 Depth is not always about functionality
  • #30 Partial solutions: change your solution in the middle of something. Problaby a broken solution when things don’t go as planned. Buffering Splitting userstories: Data boundaries operational boundaries (crud) cross cutting concerns functional – non functional mixed priority