Iterative Project Management

Iterative Project
Management
Lifecycle Planning
Chapter 5 – A Layered Approach to Planning and
Managing Iterative Projects
Modified considerably by your Instructor
Objectives
• Understand why iterative planning is different
• Understand how iterations and the unified process phases
fit in with lifecycle and external release planning
• Understand how iteration plans integrate with business
plans
© 2005 Ivar Jacobson International
Iterative Project Management / 03 - Lifecycle Planning
2
• Two major ‘thrusts’ here:
– Management and then
– Planning.
© 2005 Ivar Jacobson International
3
Layered Approach to Planning and Managing Iterative Projects.
• Plans need to be simple. Pure fact!
• A more detailed plan becomes less accurate
• Certainly a very detailed plan will be more
likely to require changing as time advances.
– As plans ‘slip’ the slippage dominos down the line invalidating
so very much carefully-undertaken planning.
• Bear in mind that Waterfall and other heavy-weight processes
are said to be: “plan driven.”
– Mathematically it can be readily shown that as the number of
tasks in a plan increases, the probability of it remaining accurate
becomes increasingly unlikely.
– Even if the probability is .995 for the first tasks, when you start to
multiply these out over many tasks, the probabilities dramatically
decrease for successfully completing ‘later’ planned activities.
© 2005 Ivar Jacobson International
Iterative Project Management / 03 - Lifecycle Planning
4
For that matter: Why plan at all?
1. Planning forces considerations of possible outcomes and
responses to those outcomes
2. Planning is particularly necessary to coordinate the work
of independent resources.
3. We need key evaluation points in order to ensure project
is going well and also to align work efforts.
1. This is the familiar, “HowGoesIt?” review.
“If you don’t know where you’re going, any path will get you
there!”
© 2005 Ivar Jacobson International
5
Solution to Detailed Planning is ‘Layering.’
• Seems like a successive hierarchical layering refines plans
to more detailed levels.
• And, layering also limits the extent to which change can
ripple through the best made plans since each layer exists at
different levels of abstraction…
• Nice thing about a layered approach to planning is that at
any level of abstraction,
– if we need more detail, go down one level.
– But the plan at any one level is complete and appropriate for the
‘concerns’ at that level.
Will now look at management layers that support and enable
successful iterative projects,
© 2005 Ivar Jacobson International
Iterative Project Management / 03 - Lifecycle Planning
6
The Management Layers
• Management Layers are not imposed bureaucracy.
• Rather, they are “separation of concerns.”
• The ‘concerns’ at one layer should not be the concerns of
another layer, although layers certainly influence other layers.
• Management Layers:
– Organizational-Program Management (note: ‘Program’)
• Deals with business strategy and vision.
• Sets business context for one or more projects.
• May well not be restricted to computer-based planning!!!
– Overall Project Management – (note ‘Project’)
– Here, this layer is concerned with directing and managing a specific
project – overall planning, monitoring, and control of the project;
coordinates development and delivery of one or more products.
– Day to day Development Management – (note ‘Development’)
– deals with the overseeing of delivery of development work and
ensuring the quality of products released.
© 2005 Ivar Jacobson International
Iterative Project Management / 03 - Lifecycle Planning
7
Higher versus Lower Levels of Management
• Higher levels control lower levels
– Provide funding and support
– Develop project ‘charters’, etc.
• Lower level outputs provide inputs to higher
levels – very necessary for these management
levels to properly function.
– But, Lower levels absolutely must provide evidence
to program management that all is on track and that the
project is delivering value.
© 2005 Ivar Jacobson International
Iterative Project Management / 03 - Lifecycle Planning
8
Planning at Multiple Levels
The program management layer is present in a lot of modern businesses.
This may be termed the organization’s ‘Strategic Management.”
Notion of a Program Management Level is common (PMO)
Program Management (Benefits Realization)
Overall Project Management (Benefits)
Software Development (External Releases)
It 1
It 2
It 3
It 4
……
It N-1
It N
An iterative development practices layer is shown because iterations
are used to evolve the products to be delivered by the development layer.
Typically these layers are run concurrently too.
Adapted from Implementing RUP Within a PRINCE2 Environment: Laurence Archer, Oak IT, 2001
© 2005 Ivar Jacobson International
Iterative Project Management / 03 - Lifecycle Planning
9
Let’s look at these layers of management:
Let’s look at these Management layers
© 2005 Ivar Jacobson International
10
Program Management Layer
• Emphasis: the Organization.
– Please ‘to note’ the emphasis on ‘program.’
– Provides oversight to ensure constituent projects provide
• value to the organization and are
• aligned with business needs.
– In this layer, concerns do not center on a specific project;
rather the overall value of all ‘solutions’ to the
organization.
– This layer is concerned with
• investment expenditures, ROI, expected values,
• delivery schedule, market share, and
• any interfacing / coordination with other projects.
© 2005 Ivar Jacobson International
Iterative Project Management / 03 - Lifecycle Planning
11
Overall Project Management Layer
• Emphasis: the Project!
– Here we emphasize the project – a specific time to deliver
(end of project) given resources
– The overall project management plan is a high-level design
and does not legislate ‘how’ the details are carried out.
– Project manager is responsible for:
• using resources to
• deliver desired business benefit.
• Is responsible for effective utilization of resources
needed to deliver desired business value within a time
frame.
• overall project risks and benefits, and resources.
– Does not deal with the day-to-day details of the project
– Ensures project is on track and will achieve desired results.
© 2005 Ivar Jacobson International
12
Development Layer
• Emphasis: the focus on Major Releases. (end of Transition)
• Focus on definition, evolution, and delivery of major releases
of the products required by the overall project.
– Note: we are saying ‘major releases’ not major milestones…
• Layer coordinates resources
– across deliveries with
– overall project oversight and funding in mind.
• Focus is internally directed on delivering deployable
releases of software products.
• Focus of overall plan was externally directed with its
emphasis on delivering business value back to the business
and the program layer.
© 2005 Ivar Jacobson International
13
Iteration Layer
• Emphasis: Focus is on the single Iteration
• Ensure overall evolution is undertaken incrementally in a
controlled and managed fashion to reduce risk facing project.
• Real work gets done here
• Each iteration focus: incrementally evolve software product.
• A series of iterations is required to develop a major release
that can be successfully deployed.
• Since iterations focus on resolving specific risks, this periodic
approach helps to prevent risks from causing instability and by
ensuring risk is addressed in an appropriate order – with the
high-impact risks being addressed first.
© 2005 Ivar Jacobson International
14
Role of Layers
• Top three - present in all organizations developing software.
• The fourth layer is added for teams using iterative approach.
• Warning: there’s a natural tendency to merge development
layer with overall layer.
– But this implies a single major release, (evolution)
• This rarely happens as there is almost always at least one
follow-on major release evolution.
–  It is strongly recommended to keep overall project
management away from the developing management.
• Well, at least a little bit… (see ahead)
© 2005 Ivar Jacobson International
15
• We’ve talked about the layers.
• Now let’s talk about the plans….
© 2005 Ivar Jacobson International
16
These layers…
• The layers themselves operate at
– different level of abstraction (level of detail)
– with a different time horizon (time to get the job done)
• And this is good!
– Lower the layer, shorter the time horizon and more detail,
accuracy, and precise their plans need to be.
– A ‘program plan’ may extend for years and be quite abstract
whereas an iteration plan is highly focused, very precise,
and short term.
– These represent two ends of the spectrum of plans.
• Iterative project management normally focuses on lower
two:
– the development plan (an evolution) and
– the iteration plan. – the details of an evolution.
© 2005 Ivar Jacobson International
17
Issues with Iterative Management and Senior
Managers
• Senior managers need to be on board with iterative approach.
– Here are the financial controls and oversight!
– Many managers are not ‘sold’ on the virtues of iterative development.
– Too often, iterative project management fails to convince senior
managers.
• Senior managers cringe at what they perceive to be
– loss of management control typified by agile processes
• Senior managers often view these approaches as rebukes to
management and
• Senior management may view these as being in opposition to
the visibility, etc. that they feel they need.
– We absolutely need their support.
© 2005 Ivar Jacobson International
18
Senior Managers – Very Difficult Conversion to Many:
• To reduce risk / get better results, overall project managers
– need to delegate responsibilities and
– allow detail to be pushed down through the development layer
and into the iteration layers where agile approaches are best
implemented.
• PMgmt is steeped in traditional approaches where they use
detailed planning as primary mechanism for risk reduction
• Senior management needs to feel comfortable with the
nature of the feedback coming to them from all levels.
• Fact is planning, monitoring, and control undertaken for an
iterative project is quite different from that undertaken for a
traditional project.
© 2005 Ivar Jacobson International
19