Software Project Management Intro to Adaptive Project Framework INFO 638 Glenn Booker INFO 638 Lecture #7 Adaptive Project Framework Adaptive Project Framework (APF) uses selected portions of traditional project.
Download
Report
Transcript Software Project Management Intro to Adaptive Project Framework INFO 638 Glenn Booker INFO 638 Lecture #7 Adaptive Project Framework Adaptive Project Framework (APF) uses selected portions of traditional project.
Software Project
Management
Intro to Adaptive Project
Framework
INFO 638
Glenn Booker
INFO 638
Lecture #7
1
Adaptive Project Framework
Adaptive Project Framework (APF)
uses selected portions of traditional
project management (TPM)
Focus is on planning just-in-time, rather
than planning the entire project from the
start
APF is client-focused, and expects
constant change
INFO 638
Lecture #7
2
APF Structure
APF uses five phases
Version Scope
Cycle Plan
Cycle Build
Client Checkpoint
Post-Version Review
Planning is based on functionality,
and is kept high level until each cycle
INFO 638
Lecture #7
3
APF Structure
APF is iterative, both within a cycle,
and between cycles
{Cycle Plan – Cycle Build – Client
Checkpoint} is iterative
Within Cycle Build is also iterative; there
may be many builds within that phase,
each time it occurs
Now examine each phase briefly
INFO 638
Lecture #7
4
Version Scope
Version Scope is much like high level
planning for a TPM project
Need to identify project scope, conditions
of satisfaction (COS), assess project
risks, etc.
A Project Overview Statement (POS) is
written
Describe problems & opportunities, goals,
objectives, risks, assumptions, obstacles,
etc.
INFO 638
Lecture #7
5
Version Scope
This phase also produces a prioritized list
of functionality
This is key to setting up the cycles
The third output from this is a high level
WBS (2 or 3 levels of breakdown)
Main goal is to plan the order in which
functionality will be implemented
Finally, prioritize the cost, schedule,
quality and scope – what’s critical?
Will be used to manage the cycles
INFO 638
Lecture #7
6
Cycle Plan
Cycles are 2-6 weeks duration
This phase plans this cycle in detail
Fill out the WBS down to tasks, identify
task dependencies, and allocate resources
Duration is agreed to by the customer
Typically people work in small teams
in parallel, working on various kinds
of functionality
Critical path and chain aren’t used
INFO 638
Lecture #7
7
Cycle Build
The duration of this cycle is limited
to the planned duration
The cycle plan is followed; as much
functionality is developed and
implemented (as fits into the
time allowed)
Monitor task status daily
Corrective action is taken as needed
Record change requests in a Scope Bank
Record problems in an Issues Log
INFO 638
Lecture #7
8
Client Checkpoint
This is a joint customer/team quality
review of functionality finished in this
cycle
Compare to expected business value
Adjust business plan, and amend the
next cycle’s scope as needed
Might adjust functionality priorities,
add new functions, etc.
INFO 638
Lecture #7
9
Post-Version Review
This checks the whole project against
the success criteria established in the
scope phase
Might need to kill the project, if severely
below expectations
Document lessons learned for future
versions of this product, or new projects
Plan future versions of this product, if
applicable
INFO 638
Lecture #7
10
APF Core Values
APF is based on six core values,
which help define how APF thinks
INFO 638
Client-focused
Client-driven
Incremental results
Continuous questioning
Change is progress
Don’t speculate
Lecture #7
11
APF Core Values
Client-focused
View the system from the client’s
perspective
Needs and best interests of the client
come first
Client-driven
Keep the client involved in the project as
much as practical, in order to share in
the project’s success
INFO 638
Lecture #7
12
APF Core Values
Incremental results
Like use of prototyping, deliver a
working application as soon as
possible…in the first cycle if possible
Then expand on its functionality with
subsequent cycles
Continuous questioning
Encourage creativity, and keep looking
for product and process improvements
Failure to share an idea is anathema
INFO 638
Lecture #7
13
APF Core Values
Change is progress
…to a better solution
Iterative development will lead to a
product that is changing, but always
improving
Don’t speculate
…too much on the future
Avoid excess planning, and other tasks
which don’t add value to the project
INFO 638
Lecture #7
14
Version Scope phase
INFO 638
Lecture #7
15
Version Scope
This phase sets the stage for the
project
It can be done by the requestor
(customer) and provider (project
manager)
Preferably done in person
Make sure agree on terminology
Prepare the POS, much like done
in TPM
INFO 638
Lecture #7
16
Version Scope
It is particularly important to define
the vision of what the product will be
Need a consistent point of reference for
changing scope during the cycles, and
during evolution of the product
The overall budget and schedule
(timebox) of the project need to be
clearly defined
Version timebox should be <6 months
INFO 638
Lecture #7
17
Version Scope
The WBS needs to be defined to
“mid-level” – 2 or 3 levels of
structure
Down to the scope of functionality
planned and implemented within
each cycle
Focus on higher risk elements first
Gives more time for corrections if
problems emerge
INFO 638
Lecture #7
18
Version Scope
Likewise, higher complexity functions
should be developed early, as should the
highest business value functions
If customer is impatient, plan short
duration features first
Naturally, dependencies among
features may influence the above
guidelines
INFO 638
Lecture #7
19
Prioritization
Can use various methods to
determine the priorities of features
Forced Ranking approach:
List the features, and have several
stakeholders rank them on a 1-10 scale
(high to low priority)
Add rankings for each feature
Features with lowest total score are
highest priority
INFO 638
Lecture #7
20
Prioritization
A simpler approach is to group
features into high, medium, and low
priority buckets
A.k.a. Must have, should have, and niceto-have
Nice for small projects
INFO 638
Lecture #7
21
Prioritization
Or use the Q-sort method
Divide list into high and low priority
Then within each list, divide again into
high and low priority
Keep repeating until enough buckets
have been defined to make each one
manageable within one cycle
INFO 638
Lecture #7
22
Balancing Project Scope
Recall the scope triangle
Cost, schedule, and resources are the
variables you control to result in product
features (scope) and quality (p. 292)
The scope and quality determine how
big the triangle is; you need to
balance the other three factors to
produce it
INFO 638
Lecture #7
23
Balancing Project Scope
So if any of the constraints on the
project change (e.g. cost, time, or
resources available), that will affect
the other two
If none of the possible solutions fit,
might have to change the scope
and/or quality requirements to
change the size of the triangle
INFO 638
Lecture #7
24
Number of Cycles
Once we have a handle on the project
objectives and scope, need to
establish the preliminary number of
time boxes, and how long they are
Try fixed duration for all time boxes; may
tweak later
Might use development time of the most
complex cycle to set the time box size
Consider client attention span too
INFO 638
Lecture #7
25
Assign Functions to Cycles
Map the functions to cycles, based
on implementing the highest priority
stuff first
Focus on the first few cycles
Balance resource needs for each cycle as
needed
Make sure key stuff gets delivered early
on
INFO 638
Lecture #7
26
Cycle Objectives
Finally, prepare objective statements
for the first few cycles
Tell customer what they should
expect from each cycle (deliverables)
Keep focus on business functions and
value to the customer
INFO 638
Lecture #7
27
Wrap it Up
This concludes the Version Scope
phase
The scope of each cycle will be
subject to change, depending on what
actually happens
But you want to tell the customer
what the scope of the project is, and
what the first few cycles will bring
(hopefully)
INFO 638
Lecture #7
28