SPPM Important Questions (R16)
SPPM Important Questions (R16)
Barry Boehm's "Industrial Software Conventional work breakdown reduce the amount of human-
Metrics Top 10 List” structures are prematurely structured generated source code and custom
around the product design. Figure 10-1 development.
It is a good, objective characterization of shows a typical conventional WBS that has
the state of software development. been structured primarily around the 4. Establish a change
subsystems of its product architecture, then management environment. The
1. Finding and fixing a software further decomposed into the components
dynamics of iterative
problem after delivery costs 100 of each subsystem. A WBS is the
architecture for the financial plan. development, including
times more than finding and fixing concurrent workflows by
the problem in early design phases. Conventional work breakdown structures different teams working on
2. You can compress software are prematurely decomposed, planned, and shared artifacts, necessitates
development schedules 25% of budgeted in either too little or too much objectively controlled baselines
nominal, but no more. detail. Large software projects tend to be .
3. For every $1 you spend on over planned and small projects tend to be 5. Enhance change
development, you will spend $2 on under planned. The basic problem with freedom through tools that
maintenance. planning too much detail at the outset is support round-trip engineering.
4. Software development and that the detail does not evolve with the Round-trip engineering is the
maintenance costs are level of fidelity in the plan. environment support necessary to
primarily a function of the automate and synchronize
Conventional work breakdown structures
number of source lines of engineering information in
are project-specific, and cross-project different formats(such as
code. comparisons are usually difficult or
5. Variations among people account requirements specifications,
impossible. With no standard WBS design models, source code,
for the biggest differences in structure, it is extremely difficult to
software productivity. executable code, test cases).
compare plans, financial data, schedule
6. The overall ratio of software to data, organizational efficiencies, cost 6. Capture design artifacts in
hardware costs is still growing. In trends, productivity trends, or quality rigorous, model-based notation. A model
1955 it was 15:85; in 1985, 85:15. trends across multiple projects. based approach (such as UML) supports
7. Only about 15% of software the evolution of semantically rich
development effort is devoted to 3Q. THE PRINCIPLES OF graphical and textual design notations.
programming.
8. Software systems and MODERN SOFTWARE 7. Instrument the process for
products typically cost 3 MANAGEMENT objective quality control and progress
times as much per SLOC as assessment. Life-cycle assessment of the
individual software Top 10 principles of modern software progress and the quality of all intermediate
programs. Software-system products must be integrated into the
management are. (The first five, which are
products (i.e., system of process.
the main themes of my definition of an
systems) cost 9 times as 8. Use a demonstration-based
iterative process, are summarized in
much. approach to assess intermediate
Figure 4-1.)
9. Walkthroughs catch 60% of the artifacts.
errors
1. Base the process on an
10. 80% of the contribution comes architecture-first approach. This 9. Plan intermediate releases
from 20% of the contributors. requires that a demonstrable in groups of usage
balance be achieved among the scenarios with evolving
2Q. CONVENTIONAL WBS driving requirements, the levels of detail. It is essential
architecturally significant design that the software
ISSUES decisions, and the life-cycle plans management process drive
before the resources are committed toward early and continuous
for full-scale development. demonstrations within the
Work Breakdown Structure
Work breakdown structure (WBS) is the 2. Establish an iterative life-cycle operational context of the
vehicle for budgeting and collecting costs. process that confronts risk early. system, namely its use cases.
To monitor and control a project's financial With today's sophisticated 10. Establish a configurable
performance, the software project man1ger software systems, it is not possible process that is economically
must have insight into project costs and to define the entire problem, scalable. No single process is
how they are expended. The structure of design the entire solution, build the suitable for all software
cost accountability is a serious project software, and then test the end developments.
planning constraint. product in sequence. Instead, an
iterative process that refines the
problem understanding, an
Conventional work breakdown effective solution, and an effective
structures frequently suffer from three plan over several iterations
fundamental flaws. encourages a balanced treatment of
all stakeholder objectives. Major
1. They are prematurely structured risks must be addressed early to
around the product design. increase predictability and avoid
expensive downstream scrap and
2. They are prematurely decomposed, rework.
planned, and budgeted in either too 3. Transition design methods to
much or too little detail. emphasize component-based
3. They are project-specific, and cross- development. Moving from a line-
project comparisons are usually of-code mentality to a component-
difficult or impossible. based mentality is necessary to
4Q. SOFTWARE PROCESS 6Q. Boehm five staffing principles are
WORKFLOWS
The term WORKFLOWS is used to mean 1. The principle of top talent: Use
a thread of cohesive and mostly sequential better and fewer people
activities. Workflows are mapped to 2. The principle of job matching:
product artifacts There are seven top-level Fit the tasks to the skills and
workflows: motivation of the people
available.
1. Management workflow: controlling
the process and ensuring win 3. The principle of career
conditions for all stakeholders progression: An
organization does best in
2. Environment workflow: the long run by helping its
automating the process and people to self-actualize.
evolving the maintenance 4. The principle of team balance:
environment Select people who will
3. Requirements workflow: analyzing complement and harmonize with
the problem space and evolving the one another
requirements artifacts 5. The principle of phase-out:
Keeping a misfit on the team
4. Design workflow: modeling the
doesn't benefit anyone
solution and evolving the
architecture and design artifacts
Software project managers need many
5. Implementation workflow:
leadership qualities in order to enhance
programming the
team effectiveness. The following are
components and evolving
some crucial attributes of successful
the implementation and
software project managers that deserve
deployment artifacts
much more attention:
6. Assessment workflow: assessing 1. Hiring skills.
the trends in process and product Few decisions
quality are as important
as hiring
7. Deployment workflow:
decisions.
transitioning the end products to Placing the
the user right person in
the right job
seems obvious
but is
surprisingly
hard to achieve.
2. Customer-interface skill.
Avoiding adversarial
relationships among
stakeholders is a prerequisite
for success.
3. Decision-making skill. The
jillion books written about
management have failed to
provide a clear definition of
this attribute. We all know a
good leader when we run
into one, and decision-
5Q Software Change Orders making skill seems obvious
The atomic unit of software work that is despite its intangible
authorized to create, modify or obsolesce definition.
components within a configuration
4. Team-building skill.
baseline is called a software change orders
Teamwork requires that a
(SCO)The basic fields of the SCO are
manager establish trust,
Title, description, metrics, resolution,
motivate progress, exploit
assessment & disposition eccentric prima donnas,
Software Change Order Database transition average people
Managing change is one of the
fundamental primitives of an iterative into top performers,
development process. With greater change eliminate misfits, and
freedom, a project can iterate more consolidate diverse opinions
productively. This flexibility increases the into a team direction.
content, quality, and number of iterations 5. Selling skill. Successful project
that a project can achieve within a given managers must sell all
schedule. Change freedom has been stakeholders (including
achieved in practice through automation, themselves) on decisions and
and today's iterative development priorities, sell candidates on job
environments carry the burden of change positions, sell changes to the
management. change management
status quo in the face of
resistance, and sell achievements
against objectives. In practice,
selling requires continuous
negotiation, compromise, and
empathy 8Q. MAJOR MILESTONES
7Q. MINOR MILESTONES
For most iterations, which have a one- The four major milestones occur at the
month to six-month duration, only two transition points between life-cycle phases.
minor milestones are needed: the iteration They can be used in many different
process models, including the
readiness review and the iteration
conventional waterfall model. In an
assessment review.
iterative model, the major milestones are
used to achieve concurrence among all
Iteration Readiness Review. stakeholders on the current state of the
This informal milestone is project. Different stakeholders have very
conducted at the start of different concerns:
each iteration to review the
detailed iteration plan and
the evaluation criteria that Customers: schedule and
have been allocated to this budget estimates,
iteration. feasibility, risk assessment,
requirements
Iteration Assessment understanding, progress,
Review. This informal product line compatibility
milestone is conducted at
the end of each iteration to Users: consistency
assess the degree to which with requirements and
the iteration achieved its usage scenarios,
objectives and satisfied its potential for
evaluation criteria, to accommodating
review iteration results, to growth, quality
review qualification test attributes
results (if part of the Architects and systems
iteration), to determine the engineers: product line
amount of rework to be compatibility, requirements
done, and to review the changes, trade-off analyses,
impact of the iteration completeness and consistency,
results on the plan for balance among risk, quality,
subsequent iterations. and usability
20Q. PRAGMATIC
SOFTWARE COST
ESTIMATION
One critical problem in software cost
estimation is a lack of well-documented
case studies of projects that used an
iterative development approach. Software
industry has inconsistently defined metrics
or atomic units of measure, the data from
actual projects are highly suspect in terms
of consistency and comparability. It is hard
enough to collect a homogeneous set of
project data within one organization; it is
extremely difficult to homog-enize data
across different organizations with
different processes, languages, domains,
and so on.
There have been many debates among
developers and vendors of software cost
estimation models and tools.
Three topics of these debates are of
particular interest here: