SPPM - Unit 3
SPPM - Unit 3
1. Management workflow: controlling the process and ensuring win conditions for all
stakeholders
2. Environment workflow: automating the process and evolving the maintenance environment
3. Requirements workflow: analyzing the problem space and evolving the requirements
artifacts
1. Architecture-first approach.
Extensive requirements analysis, design, implementation, and assessment activities are
performed before the construction phase, when full-scale implementation is ,the focus.
This early life-cycle focus on implementing and testing the architecture must proceed
full-scale
“Each phase portrays at least two iterations of each workflow. This default is intended to
be descriptive, not prescriptive. Some projects may require only one iteration in a phase; others
may require several iterations. The point is that the activities and artifacts of any given … core
discipline may require more than one pass to achieve adequate results.”
4. Demonstration-based Approach
Implementation and assessment activities are initiated early in the life cycle, reflecting
the emphasis on constructing executable subsets of the evolving architecture.
Iteration Workflows
An iteration represents the state of the overall architecture and the complete deliverable
system.
An increment represents the current work in progress that will be combined with the
preceding iteration to form the next iteration.
Workflow of an iteration
Iteration Contents
Management is concerned with the content of the iterations, assigning work, and the
contents of anticipated releases.
Environment is concerned primarily with maintaining the software change database –
tracking, prioritizing, addressing any changes that arise.
Requirements: is concerned with looking carefully at the baseline plan, architecture, and
requirement set artifacts needed to fully expand the use cases that need to be demonstrated at
the end of this iteration – as well as their evaluation criteria.
Design: is concerned with developing the design model and test model by evolving the
baseline architecture and design set artifacts against the evaluation criteria for a specific
iteration; Also need to update the design set artifacts in response to the activities within this
iteration
Implementation: addresses developing (from scratch), customizing, or acquiring (purchase,
reuse) new components and to test and integrate these components into to current
architectural baseline.
Assessment: concerned with evaluating the results of each iteration to insure compliance with
evaluation criteria and to identify rework needed before deployment of this release or allocated
to the next iteration; also, assess the results for this iteration so as to improve the next iteration’s
procedure.
Deployment: concerned with transmitting the release either internally or to an external
organization for exercise.
- Periodic status assessments are important for focusing continuous attention on the evolving
health of the project and its dynamic priorities.
MAJOR MILESTONES:
In an iterative model, the major milestones are used to achieve concurrence among all
stakeholders on the current state of the project. Different stakeholders have different concerns:
Customers: schedule and budget estimates, feasibility, risk assessment, requirements
understanding, progress, product line compatibility.
Users: consistency with requirements and usage scenarios, potential for accommodating growth,
Iteration Assessment Review: This informal milestone is conducted at the end of each iteration
to assess the degree to which the iteration achieved its objectives and to review iteration results,
test results, to determine amount of rework to be done, to review impact of the iteration results
on the plan for subsequent iterations.
2) A mechanism for broadcast process, progress, quality trends, practices, and experience
information to and from all stakeholders in an open forum.
3) Objective data derived directly from on-going activities and evolving product configurations.
Iterative Process Planning:
- Like software development, project planning is also an iterative process.
- Like software, plan is also an intangible one. Plans have an engineering stage,during which the
plan is developed, and a production stage, where the plan is executed.
1) First-level elements: WBS elements are the workflows and are allocated to single team;
provide the structure for the purpose of planning and comparison with the other projects.
2) Second-level elements: elements are defined for each phase of the life cycle.These elements
allow the faithfulness of the plan to evolve more naturally with the level of understanding of the
requirements and architecture, and the risks therein.
Software process and project management Page 59
3) Third-level elements:
- These elements are defined for the focus of activities that produce the artifacts of each phase.
- These elements may be the lowest level in the hierarchy that collects the cost of discrete
artifacts for a given phase, or they may be decomposed further into several lower level activities
that, taken together, produce a single artifact.
PLANNING GUIDELINES:
- Software projects span a broad range of application domains.
- It is valuable but risky to make specific planning suggestions
independent of project context.
Software process and project management Page 60
- Planning provides a skeleton of the project from which the
management people
can decide the starting point of the project.
- In order to proper plan it is necessary to capture the planning guidelines from most expertise
and experience people.
The above table provides default allocation for budgeted costs of each first-level WBS element.
- Sometimes these values may vary across projects but this allocation provides a good
benchmark for assessing the plan by understanding the foundation for deviations from these
guidelines.
- It is cost allocation table not the effort allocation.
The cost and schedule estimating process
Project plans need to be derived from two perspectives:
1) Forward-looking, top-down approach: It starts with an understanding requirements and
constraints, derives a macro-level budget and schedule, then decomposes these elements into
lower level budgets and intermediate milestones.
From this perspective the following planning sequences would occur:
a) The software project manager develops a characterization of the overall size, process,
environment, people, and quality required for the project.
b) A macro-level estimate of the total effort and schedule is developed using a software cost
estimation model.
c) The software project manager partitions the estimate for the effort into a top level WBS using
guidelines (table 10-1) and also partitions the schedule into major milestone dates and partition
the effort into a staffing profile using guidelines
(table 10-2).
d) Subproject managers are given the responsibility for decomposing each of the WBS
elements into lower levels using their tip-level allocation, staffing profile, and major milestone
dates as constraints.
2) Backward-looking, bottom-up approach: We start with the end in mind, analyze the
micro-level budgets and schedules, then sum all these elements into higher level budgets and
intermediate milestones. This approach tends to define the WBS from the lowest levels upward.
From this perspective, the following planning sequences would occur:
a) The lowest level WBS elements are elaborated into detailed tasks. These estimates tend to
incorporate the project-specific parameters in an exaggerated way.
b) Estimates are combined and integrated into higher level budgets and milestones.
c) Comparisons are made with the top-down budgets and schedule milestones.
Gross differences are assessed and adjustments are made in order to converge on agreement
between the topdown and bottom-up estimates.
- These two planning approaches should be used together, in balance, throughout the life cycle
of the project.
- During the engineering stage, the top-down perspective will dominate because there is usually
not enough depth of understanding nor stability in the detailed task sequences to perform
credible bottomup planning.
Software process and project management Page 62
- During the production stage, there should be enough precedent experience and
planning fidelity that the bottom-up planning perspective will dominate.
- By then, the top-down approach should be well tuned to the project specific parameters, so it
should be used more as a global assessment technique.
Pragmatic planning
Even though good planning is more dynamic in an iterative process,
doing it accurately is far easier. While executing iteration N of any phase, the software project
manager must be monitoring and controlling against a plan that was initiated in iteration N - 1
and must be planning iteration N + 1. The art of good project· management is to make trade- offs
in the current iteration plan and the next iteration plan based on
objective results in the current Iteration and previous iterations A side from bad architectures and
misunderstood requirements, inadequate planning (and subsequent bad management) is one of
the most common reasons for project failures. Conversely, the success of every successful
project can be attributed in part to good planning.