Unit-3: Techniques of Planning, Controlling and Automating Software Process
Unit-3: Techniques of Planning, Controlling and Automating Software Process
The Work break down structure is the “architecture” 1. Conventional WBS is prematurely structured
of the project plan. It must encapsulate change and around the product design:
evolve with the appropriate level of detail throughout
The figure following shows the typical conventional
the life cycle.
WBS that has been structured primarily around
Cost and schedule budgets should be estimated using subsystems of its product architecture, the further
macro analysis techniques (top-down project level) decomposed into the components of each subsystem.
and microanalysis technique (bottom-up task level) to
Once this structure is ingrained in the WBS and then
achieve predictable results. allocated to responsible managers with budgets,
schedules and expected deliverables, a concrete
3.1 Iterative Process Planning:
planning foundation has been set that is difficult and
3.1.1 Work Breakdown Structures expensive to change.
1|P ag e
Unit-3: Techniques of Planning, Controlling and Automating Software Process
Large software projects tend to be over planned and First level WBS elements are the workflows
small projects tend to be under planned. The WBS (Management, environment, requirement, design,
shown in the above figure is overly simplistic for most implementation, assessment, and deployment)
large scale systems, where size or more levels of
WBS elements are commonplace. Second level elements are defined for each phase
of the life cycle (inceptions, elaboration, construction
3. Conventional WBS are project-specific, and cross- and transition)
project comparisons are usually difficult or
impossible: Third level elements are defined for the focus of
activities that produce the artifacts of each phase.
Most organizations allow individual projects to define A default WBS consistent with the process
their own project-specific structure tailored to the framework (phases, workflows, and artifacts) is
project manager’s style, the customer’s demands, or shown in the following figure:
other project-specific preferences.
2|P ag e
UNIT-3: Techniques of Planning, Controlling and Automating Software Process
3.1.2 Planning Guidelines these values are certain to vary across projects, this
Q. Write short notes on planning guidelines? allocation provides a good benchmark for assessing the
Software projects span a board range of application plan by understanding the rationale for deviations from
domains. It is valuable but risky to make specific these guidelines.
An important point here is that this is cost allocation,
planning recommendations independent of project not effort allocation. To avoid misinterpretation two
context. Project independent planning advice is also explanations are necessary
risky. There is the risk that the guidelines may be 1. The cost of different labor categories is inherent in
adopted blindly without being adapted to specific these numbers
project circumstances. There is also the risk of
misinterpretation. Two simple planning guidelines 2. The cost of hardware and software assets that support
the process automation and development teams is also
should be considered when a project plan is being
included in the environment element.
initiated or assessed.
Given an initial estimate of total project cost and these The second guideline prescribes the allocation of
two tables, developing a staffing profile and allocation effort and schedule across the life-cycle phases
of staff resources to reams, a top-level project schedule, The above table provides guidelines for allocating
and an initial WBS with task budgets and schedules is effort and schedule across the life cycle phases.
relatively straightforward. Although these values can also vary widely depending
on the specific constraints of an application, they
Table: WBS Budgeting defaults
provide an average expectation across a spectrum of
application domains.
Forward-looking:
The 1. The software project manager develops a
first guideline prescribes a default allocation of costs
characterization of the overall size, process,
among the first-level WBS elements
environment, people, and quality required for the
The above table provides default allocations for project
budgeted costs of each first-level WBS element. While
4|P ag e
UNIT-3: Techniques of Planning, Controlling and Automating Software Process
2. A macro-level estimate of the total effort and 3.1.4 The Iteration Planning Process
schedule is developed using a software cost estimation
model Till now, discussion has dealt only with the application-
independent aspects of budgeting and scheduling.
3. The software project manager partitions the estimate Another dimension of planning is concerned with
for the effort into a top-level WBS, also partitions the defining the actual sequence of intermediate result.
schedule into major milestone dates and partitions the
effort into a staffing profile By then, the top-down approach should be well tuned to
the project specific parameters, so is should be used
4. At this point, subproject managers are given the more as a global assessment technique. The following
responsibility for decomposing each of the WBS figure shows this life cycle planning balance.
elements into lower levels using their top-level
allocation, staffing profile, and major milestone dates as
constraints.
Backward-looking:
5|P ag e
UNIT-3: Techniques of Planning, Controlling and Automating Software Process
▪ Software lines of business are motivated by Software Engineering Process Authority: The
return on investment, new business Software Engineering Process Authority (SEPA)
discrimination, market verification and facilitates the exchange of information and process
profitability. guidance both to and from project practitioners. The
▪ Project teams are motivated by cost, schedule SEPA must help initiate and periodically assess project
and quality of specific deliverable. process. The SEPA is necessary role in any
organization. The SEPA could be a single individual,
3.2.1 Line of Business Organizations: the general manager, or even a team of representatives.
Q. what are the types of responsibilities does the The SEBA must truly be an authority, competent and
project organizations have? powerful.
Map roles and responsibilities to a default line-of- Project Review Authority: The project review
business organization. This structure can be tailored to authority (PRA) is the single individual responsible for
specific circumstances. ensuring that a software project complies with all
organizational and business unit software policies,
The main features of the default organization are as practices, and standards. The PRA reviews both the
follows: project’s conformance to contractual obligations and the
▪ Responsibility for process definition and project’s organizational policy obligations. The
maintenance is specific to a cohesive line of customer monitors contract requirements, contract
business where process commonality makes milestones, contract deliverable, monthly management
sense. For example the process of developing reviews, progress, quality, cost, schedule and risk. The
avionics software is different from the process PRA reviews customer commitments as well as
used to develop office applications. adherence to organizational policies, organizational
deliverables, and financial performance and other risks
▪ Responsibility for process automation is an and accomplishments.
organizational role and it’s equal in importance
to the process definition role. Software Engineering Environment Authority:
The Software Engineering Environment Authority
▪ Organizational role may be fulfilled by a single (SEEA) is responsible for automating the organizations
individual or several different teams, depending process, maintaining the organizations standard
on the scale of the organization. environment, training project to use environment, and
maintain organization-wide reusable assets. The SEEA
rule is necessary to achieve significant return on
investment for a common process.
Infrastructure:
An organization infrastructure provides human resource
support, project-independent research and development,
and other capital software engineering assets.
The typical components of the organizational
infrastructure are as follows:
Project Administration:
Time accounting system; contract, pricing, terms and
condition; corporate information system integration.
Quality is everyone job, integrated into all activities Figure: Default Project Organization
and check points. Each team takes responsibility for a
different quality perspective. Software Management Team: Most projects are over
constrained. Schedules, cost, functionality and quality
expectations are highly inter related and require
continuous negotiation among multiple stake holders
who have different goals. The software management
team carries the burden of delivering with condition to
all stake holders. The software management team takes
ownership of all aspects of quality.
7|P ag e
UNIT-3: Techniques of Planning, Controlling and Automating Software Process
Figure: Software management team activities Software development team: The software
development team is the most application specific
Software Architecture Team: group. In general, the software development team
The software architecture team is responsible for the comprises several sub teams dedicated to groups of
architecture. This responsibility encompasses the components that require a common skill set. The typical
engineering necessary to specify a complete bill of skill set include the following:
materials for the software and the engineering necessary
to make significant make/ buy trade-offs so that all Commercial component: Specialists with detail
custom components are elaborated to the extent that knowledge of commercial components central to a
construction/assembly costs are highly predictable. system’s architecture
In most projects, the inception and elaboration phases Database: specialists with experience in the
will be dominated by two distinct teams: the software organization, storage, and retrieval of data
management team and the software architecture team. Graphical user interfaces: specialists with experience
To succeed, the architecture must include a fairly broad
in the display organization, data presentation, and user
level of expertise, including the following: interaction.
Operating systems and networking: specialist with
▪ Domain experiences to produce an acceptable experience in the execution of multiple software objects
design view (architecturally significant elements on a network of hardware resources.
of the design model) and use case view Domain applications: specialists with experience in
(architecturally significant elements of the use the algorithms, application processing.
case model).
8|P ag e
UNIT-3: Techniques of Planning, Controlling and Automating Software Process
The software development team is responsible for the ensure that the plans represent a consensus of all
quality of individual components, including all perspectives.
component development, testing, and maintenance.
Components tests should be built as self-documented.
Figure: Software assessment team activities Transition team: customers focus organization in
which usage feedback drives the deployment activities.
3.2.3 Evolution of Organization
3.2 Process Automation
Q. Explain in detail about the evaluation of Computer-aided software engineering (CASE)
organizations? • Computer-aided software engineering (CASE) is
The project organization represents the architecture of software to support software development and
the team and needs to evolve consistent with the project evolution processes.
plan captured in the work breakdown structure. The
• Activity automation
following figure illustrates how the team’s centre of
gravity shifts over the life cycle, with about 50% of the – Graphical editors for system model
staff assigned to one set of activities in each phase A development;
different set of activities is emphasized in each phase, – Data dictionary to manage design entities;
as follows: – Graphical UI builder for user interface
construction;
Inception team: an organization focused on – Debuggers to support program fault
planning, with enough support from the other teams to
finding;
9|P ag e
UNIT-3: Techniques of Planning, Controlling and Automating Software Process
process activities.
• Functional perspective
– Tools are classified according to their Too ls Wor kben ch es Environ ments
specific function.
• Process perspective
– Tools are classified according to
File Integrated Process-centr ed
process activities that are supported. Editors Compilers
comp ar ators en viron ments en viron ments
• Integration perspective
– Tools are classified according to their
organisation into integrated units. Analysis and
Pro gramming Testin g
design
Functional Tool Classification:
10 | P a g e
UNIT-3: Techniques of Planning, Controlling and Automating Software Process
3.3. Levels of Automation Many tools are available to automate the software
development process. Most of the core software
Meta-process development tools map closely to one of the process
workflows, as illustrated in the following figure.
– An organization’s policies, procedures, and
practices for the software intensive-line of Each of the process workflows has a distinct for
business automation support.
– The automation support for this level is called
an infrastructure.
– Where, an infrastructure, is an inventory of
preferred tools, artifact templates, guidelines,
project repositories, skill sets, library of
precedent example of past project plans and
result.
Macro-process
– Project’s policies, procedures and practices for
producing a complete software product within
certain cost, schedule and quality.
– The automation support for the project’s
process is called environment.
– An environment is a specific collection tools to
produce a specific set of artifacts as governed by Management: there are many opportunities for
specific project plan. automating the project planning and control
Micro-process activities of the management work flows. Software
cost estimating tools and WBS tools are usual for
– Project team’s policies and practices for generating the planning artifacts. Environment:
achieving an artifact of the process.
configuration management and version control are
– The automation support for generating an
artifact is generally called tool. essential in a modern interactive development
– Typically tool include; requirement process.
management, visual modeling, compiler,
editors, debuggers, document automation, test Environment:
automation etc… Configuration management and version control are
essential in a modern iterative development
3.3 Process Automation process.
3.3.1 Automation building blocks
3.3.2 The project environment Requirements: conventional approaches
– Round-trip engineering decomposed system requirements into subsystems
– Change management requirements, subsystem requirements into
– Infrastructures component requirement and component
– Stakeholder environments requirements into unit requirements. In a modern
project the system requirements are captured in the
vision statement. Lower levels of requirements are
3.3.1Tools: Automation Building Block driven the process organized by iteration rather than
Q. What are all the automation tools available by lower level component.
for building blocks in software process?
Design: the primary support required for the design
work flow is visual modeling, which is used for
11 | P a g e
UNIT-3: Techniques of Planning, Controlling and Automating Software Process
12 | P a g e
UNIT-3: Techniques of Planning, Controlling and Automating Software Process
3.3.2.2 Change Management: ▪ Type 0: Critical Failure, which are defects that
In modern process-in which requirement, design and are nearly always fixed before any external
implementation set artifacts are captured in rigorous release.
notations early in life cycle and evolved through ▪ Type 1: A Bug or defect that either does not
multiple generations- change management has become impair the usefulness of system or be worked
fundamental to all phases and almost all activities. around.
▪ Type 2: A change that is an enhancement rather
Software Change Orders (SCO) than a response to a defect.
Software Change Orders (SCO) is used to create, ▪ Type 3: A change that is necessitated by an
modify, or obsolesce components within configuration update to the requirements(i.e. new features)
baseline. ▪ Type 4: Changes that are not accommodated by
Software Change Orders are used for partitioning, the other categories
allocating and scheduling software work against an
established software baseline and for assessing progress There are generally two classes of baselines: external
and quality. product release and internal testing releases .For
The example of SCO is shown in the figure, which is a example, the development organization may release a
good starting point describing a set of primitives. configuration baseline to test organization or even to
itself.
Release History:
Examples of Some release name histories for two
different situations.
3.3.2.4 Stakeholder Environment The quality of software products and the progress made
• The transition to a modern iterative development toward project goals must be measurable throughout the
process with supporting automation should not software development cycle. The goals of software
be restricted to the development team. metric are to provide the development team and the
• Many large scale contractual projects include management team with the following:
people in external organization that represent ▪ An accurate assessment of progress to date
other stakeholder. ▪ Insight into the quality of the evolving software
• These stakeholder representatives also need product
access to development environment resource so
that they can contribute value to overall effort.
14 | P a g e
UNIT-3: Techniques of Planning, Controlling and Automating Software Process
▪ A basis for estimating the cost and schedule for Metrics Characteristics:
completing the product with increasing accuracy
over time • They are simple, objective, easy to collect, easy
to interpret, and hard to misinterpret.
3.4.1 Seven Core Metrics: • Collection can be automated and non-intrusive.
Many different metric may be of value in managing • Assessment is continuous and non-subjective.
modern process. • They are useful to both management and
engineering personnel for communicating
Management indicators: progress and quality in a consistent format.
▪ Work and progress(worked performed over • Their fidelity improves across the life cycle.
time) 3.4.1.1 Management Indicator
▪ Budget cost and expenditure(cost incurred over Three Basic Management Metrics:
time) • Technical progress
▪ Staffing and team dynamics(personnel change • Financial status
overtime) • Staffing progress
Quality Indicator:
▪ Change traffic and stability(change traffic over Financial and staffing metrics are easy. The real
time) problem is to measure technical progress with
▪ Breakage and modularity(average breakage per objectivity
change over time)
▪ Rework and adaptability(average rework per Q. How do you measure technical progress with
change over time) objectivity” Work and progress”.
▪ Mean time between failures(MTBF) and
maturity(defect rate overtime) 3.4.1.1.1 Work and progress
▪ The various activities of an iterative development
project can be measured by defining a planned
Overview of the seven core metric: estimate of the work in an objective measure, then
tracking progress (work completed over time)
Table describes the core software metrics. against that plan.
▪ Each major organizational team should have at least
one primary progress perspective that it is measured
against.
Actual progress:
The technical accomplishment relative to the planned
progress underlying the spending profile. In a healthy
project, the actual progress tracks planned progress
closely.
Actual cost:
The actual spending profile for a project over its actual
schedule. In a healthy project, this profile tracks the
planned profile closely.
Earned value: Figure: the basic parameters of an earned value
The value that represents the planned cost of the actual system
progress.
Cost variance:
The difference between the actual cost and the earned
value. Positive values corresponds to over-budget
situations, negative values correspond to under-budget 3.4.1.1.3 Staffing and Team Dynamics
situation. An iterative development should start with a small team
Schedule variance: until the risks in the requirements and architecture have
The difference between the planned cost and the earned been suitably resolved. Depending on the overlap of
value. Positive values correspond to behind-schedule iterations and other project-specific circumstances,
situations; negative values correspond to ahead-of- staffing can vary. For discrete, one-of-a-kind
schedule situation. development efforts, the staffing profile in figure would
be typical.
Figure provides a graphical perspective of these It is reasonable to expect the maintenance team to
parameters and shows a simple example of a project smaller than the development team for these short of
situation. development.
16 | P a g e
UNIT-3: Techniques of Planning, Controlling and Automating Software Process
17 | P a g e
UNIT-3: Techniques of Planning, Controlling and Automating Software Process
18 | P a g e
UNIT-3: Techniques of Planning, Controlling and Automating Software Process
▪ Technical Complexity
▪ Management complexity
20 | P a g e
UNIT-3: Techniques of Planning, Controlling and Automating Software Process
Figure: Priorities for tailoring the process framework Table: Process discriminators that result from difference
A Project framework is not a project-specific process in project size.
implementation with a well-defined recipe for success
Methods, techniques, culture, formality & organization
must be tailored to the specific domain to achieve a
process implementation that can be succeed.
The following discussion about major differences
among project process is organized around six process
parameters. These are some of the critical dimensions
that a software project manager must consider when
tailoring a process framework to create a practical
process implementation.
The six parameters are:
I. Scale
II. Stakeholder cohesion or contention
III. Process flexibility or rigor
IV. Process maturity
V. Architectural risk
VI. Domain experience
22 | P a g e
UNIT-3: Techniques of Planning, Controlling and Automating Software Process
The degree of technical feasibility demonstrated before The development organization’s domain experience
commitment to full-scale-production is an important governs its ability to converge on an acceptable
dimension of defining a specific project’s process architecture in a minimum number of iterations.
There are many sources of architecture risk such as Generally a skilled software organization building its
first radar application may require 4 or 5 prototype
• System performance releases before converging on an adequate baseline.
• Robustness Table: Process discriminators that result from
differences in domain experience
• System reliability
23 | P a g e
UNIT-3: Techniques of Planning, Controlling and Automating Software Process
3.5.2 Example: Small-Scale project versus Large- Table: Differences in artifacts between small and
scale project large projects
Another key set of differences is the inherent in the Software 50,000 lines of 300,000 lines of
implementation of the various artifacts of the process. Visual Basic C++ code
code
24 | P a g e
UNIT-3: Techniques of Planning, Controlling and Automating Software Process
25 | P a g e