Académique Documents
Professionnel Documents
Culture Documents
Objectives
Openly address, communicate and resolve management, technical and project issues.
Derive objective data directly from on-going activities and evolving product configurations.
3 MINOR MILESTONES
4 MAJOR MILESTONES
Stakeholders Concerns
Once this structure is ingrained and allocated to responsible managers, they will prepare a
concrete planning foundation for each of the sub tasks. Conventional WBS following the product
hierarchy is as follows --
Management
System requirements and design
Subsystem 1
Component 11
{ Requirements, Design, Code, Test, Documentation, . . . }
Component 1N
{ Requirements, Design, Code, Test, Documentation, . . . }
:
:
:
Subsystem M
Component M1
{ Requirements, Design, Code, Test, Documentation, . . . }
Component MN
{ Requirements, Design, Code, Test, Documentation, . . . }
Organizes the planning elements around the process framework rather than the product
framework.
This approach accommodates the expected changes in the evolving plan.
The basic recommendation for the WBS is to organize the hierarchy as follows –
First level WBS elements -- Workflows
Second level WBS elements -- Life-cycle phases
Third level WBS elements -- Artifacts
Third level WBS elements may be the lowest level in the hierarchy or they may be further
decomposed into several lower level activities if required.
PROJECT
Above suggested WBS allows planning fidelity inherent in each element to commensurate with
current life-cycle phase and project state.
Another important attribute of a good WBS is that the planning fidelity inherent in each
element is commensurate with the current life-cycle phase and project state.
Evolutionary WBS suggested above is merely a starting point. It can be tailored to the specifics of
the project depending upon –
Scale – larger projects will have more WBS levels
Organizational Structure – multiple organizational entities leads to different WBS
tied to a design that may (will) change, tied to the process, thus facilitates
may even hamper design change change management
project specific, and thus cross-project not project specific, thus facilitates
comparisons are difficult cross-project comparisons
generally either too detailed, too early the fidelity of the WBS increases
or insufficiently detailed throughout commensurate with the project
7 PLANNING GUIDELINES
Software projects span a broad range of application domains.
Planning provides a skeleton of the project from which the management people can decide the
starting point of the project.
In order to plan properly it is necessary to capture the planning guidelines from most expertise
and experience people.
Risky to make generic and project-independent planning. The guidelines may be adopted blindly
without being adapted to specific project. There is also risk of misinterpretation.
Variability of project parameters, process, product size, complexity, budget, profit, business
context, application domain, organizational culture etc has to be considered.
Blind adherence to project-independent planning may lead to unsuccessful project.
Two simple planning guidelines should be considered when a project plan is initiated.
(1) Allocation of costs among the first-level WBS structures
(2) Allocation of effort & schedule across the life-cycle phases
The above table provides cost allocation, not effort allocation. To avoid misinterpretation 2
explanations are necessary –
(1) The cost of different labor categories is inherent in these numbers.
(2) The cost of hardware and software assets that support the process automation and
development teams is also included in the environment element.
Top-down estimating tends to exaggerate the project management biases and usually results in an overly
optimistic plan.
Bottom-up estimating tends to exaggerate the performer biases and usually results in an overly
pessimistic plan.
Hence, both kinds of estimation should be done. Comparisons are done and adjustments are made
in order to achieve convergence between the top-down and bottom-up estimates.
Iterations may be necessary thereby evolving the plan and estimates.
During the engineering stage, top-down approach dominates because there is usually not enough
understanding nor stability in the activities.
During the production stage, bottom-up approach dominates. 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.
Inception Iterations
This phase consists of activities to define the foundation components and framework for
elaborating the critical use cases of the system.
Establishes business case plan, vision and SDP.
Most projects need only one iteration.
Large-scale, unprecedented and custom developments may require 2 iterations.
Elaboration Iterations
This phase results in architecture and a complete framework for execution.
On the completion of this phase, few critical cases must be demonstrable
o Architecture
o Worst-case data processing flow through the system
o Worst-case control flow through the system
Most projects must plan 2 iterations to achieve architecture baseline.
Unprecedented architectures may require additional iterations whereas projects built on well-
established architecture framework can probably finish up in 1 iteration.
Construction Iterations
Most projects require at least 2 major iterations an alpha release and an beta release
An alpha release would include executable capability for all the critical use case. It usually
represents only 70% of the total product.
A beta release typically provides 95% of the total product capability and quality.
After beta release improvements may be necessary to improve product before final release of
the product.
More number of iterations may be necessary.
Transition Iterations
Most projects use a single iteration to transition a beta release into the final product.
Numerous small-scale iterations may be necessary to resolve the defects and improve the
product.
10 PRAGMATIC PLANNING
Software lines of business and project development teams have different motivations.
Software lines of business are motivated by
o ROI, New business discriminators
o Market diversification, Profitability etc
Project development teams are motivated by
o Cost, Schedule, Quality, Standards
o Reusability, Enhancement flexibility etc
Organizations must
o Support projects with the necessary infrastructure to use a common process.
Dr. G. Sunitha, CSE, SVEC 12
o Allocate artifacts and responsibilities clearly across project teams to ensure a balance of
global and local concerns.
o Evolve with the WBS and the life-cycle concerns.
12 LINE-OF-BUSINESS ORGANIZATIONS
Responsibility for process definition and maintenance is specific to a cohesive line of business,
where process commonality makes sense.
Responsibility for process automation is an organizational role and is equal in importance to the
process definition roles. Projects achieve process commonality primarily through the environment
support of common tools.
Organizational roles may be fulfilled by a single individual or several different teams depending on
the scale of organization.
12.4 INFRASTRUCTURE
An organization’s infrastructure provides
Human Resources Support
Project-independent research and development
Other capital software engineering assets.
Infrastructure in any organization may range from trivial to highly sophisticated.
Typical components of the organizational infrastructure are –
Project Administration
Time accounting system
Contracts, pricing and Terms and conditions
Corporate information systems integration
Engineering skill centers
Custom tools repository and maintenance
Bid and proposal support, Independent research & development
Professional Development
Internal training boot camp, Personnel recruiting,
Personnel skills database maintenance, Literature and assets library, technical publications
An organizational service center promotes a standard environment. It is funded by the line of
business.
Software development environments must be treated as any other hardware development
environments. Process improvement and tooling must not be treated as direct project expenses.
They should be treated as capital investments.
14 EVOLUTION OF ORGANIZATIONS
Project organization represents the architecture of the team and needs to evolve consistent with
the project plan captured in the WBS.
A different set of activities is emphasized in each phase –
Inception Team
-- Focus on planning with support from other teams to ensure that plans.
-- Software Management Team is mainly involved.
Elaboration Team
-- Focus on architecture and model development supported by development and
assessment teams.
-- Software Architecture Team is mainly involved.
Construction Team
– Focus on development and assessment.
–Software Development and Assessment Teams are mainly involved.
Transition Team
– Focus on customer, usage feedback, deployment
– Software Assessment Team is mainly involved
It is important to elaborate details sub-teams, responsibilities and work but only after is stable.
Dr. G. Sunitha, CSE, SVEC 18
FIG – SOFTWARE PROJECT TEAM EVOLUTION OVER LIFE CYCLE
Activity automation
Graphical editors for system model development;
Data dictionary to manage design entities;
Graphical UI builder for user interface construction;
Debuggers to support program fault finding;
Automated translators to generate new versions of a program.
Classification helps us understand the different types of CASE tools and their support for process
activities.
Functional perspective -- Tools are classified according to their specific function.
Process perspective -- Tools are classified according to process activities that are
supported.
Most of the core software development tools map closely to one of the process workflows.
Each of the process workflows has a distinct need for automation support. In some cases tool is
needed to generate an artifact, whereas in others just for bookkeeping.
16.1 MANAGEMENT
Tools needed for automating project planning and control activities of the management
workflows.
Software cost estimation tools and WBS tools for generating the planning artifacts.
Workflow management tools and software project control panels for managing against
a project plan.
Tools for maintaining an on-line version of the status assessment of the project.
Metrics Automation and Reporting tools.
16.2 ENVIRONMENT
Configuration Management tools
Version Control and Management tools
Change Management Tools
Automated Documentation Tools etc
16.3 DESIGN
The tools that support requirements, design, implementation and assessment are usually used
together.
Visual Modeling Tools used for capturing design models, presenting them in human-readable
format and translating them into source code.
There are 4 important environment disciplines that are critical to the management context and the
success of a modern iterative development process –
Round-trip engineering – Tools must be integrated to maintain consistency and traceability.
Change Management – Must be automated and enforced to manage multiple iterations and to
enable change freedom.
Organizational Infrastructures – enable project environments to be derived from a common
base of processes and tools.
Stakeholder Environments – Enables further support for paperless exchange of information and
more effective review of engineering artifacts.
Round-trip engineering is the environment support necessary to maintain consistency among the
engineering artifacts.
As different information sets have to be maintained for the engineering artifacts, more automation
support is needed to ensure efficient and error-free transition of data from one artifact to another.
Allows change freedom.
Automated translation of design models to source code and vice-a-versa.
Automated translation of design models to process models.
Automated translation of source code into executable code using compilers and linkers.
Automated configuration control and build management.
Automated test case construction.
Today’s environments do not support automation to the greatest extent possible.
Not necessary to have bi-directional translations in all cases.
Translation from one data source to another may not provide 100% completeness.
Use of heterogeneous architectures, designs, components, platforms etc increases complexity of
building, integrating and maintaining. This further increases need for automation.
19 INFRASTRUCTURES
Organization policy is the defining document for the organization’s software policies. It is a
tangible artifact that says what you do.
Handbook that defines the life cycle and the process primitives like major milestones, intermediate
artifacts, metrics, roles and responsibilities etc.
The handbook provides a general framework for answering --
What gets done? (activities and artifacts)
When does it get done? (life-cycle phases and milestones)
Who does it? (team roles and responsibilities)
There are many different organizational structures throughout the software industry.
Most software-intensive companies have 3 distinct levels of organization, with a different
policy focus at each level:
Highest organization level – Standards that promote
(1) Strategic and long-term process improvements
(2) General technology insertion and education
(3) Comparability of project and business unit performance
(4) Mandatory quality control
The organization environment for automating the default process will provide many of the answers
to how things get done as well as the tools and techniques to automate the process as much as
practical.
Some of the typical components of an organization’s automation building blocks are as follows –
Standardized tool selections which promote common workflows and a higher ROI.
Standard notations for artifacts, such as UML for all design models or Ada 95 for all custom-
development etc
Tool adjuncts such as existing artifact templates or customizations (architecture
description, evaluation criteria, status assessments etc)
Activity templates (iteration planning, major milestone activities etc)
20 STAKEHOLDER ENVIRONMENTS
Automation should not be restricted to the development team. Many large-scale contractual
projects include people in external organizations in the development process.
Ex: Clients, Users, Contractors, Marketing Personnel, Third Party Maintenance Contractors etc
These external stakeholders also need to access the development environment resources so that
they can contribute value to the overall effort.
If the stakeholders do not have the resources for reviewing resources on-line, then paper is the
only way for exchanging information.
Exchange of information through papers has many disadvantages.
There are several reasons for extending development environment resources into external
stakeholder domains –
Technical artifacts are not just paper. Electronic artifacts in rigorous notations such as
visual models and source code are viewed best by using tools and smart browsers.
Independent assessments of the evolving artifacts are encouraged by e-access to on-line
data. Reviews, inspections, metric analyses etc can be performed independent of the
development team.
An on-line review by external stakeholders allows them to participate in the process as follows
(advantages of on-line review)–
Accept and use executable increments for hands-on evaluation.
Use the same on-line tools, data, and reports that the software development organization
uses to manage and monitor the project.
Avoid excessive travel, paper interchange delays, format translations, paper and shipping
costs, and other overhead costs.
Once environment is accessible by stakeholders through on-line, continuous and expedient
feedback is much more efficient, tangible and useful.
To create such an environment –
Development teams must create an open environment and provide adequate resources to
stakeholders.
Stakeholders should avoid abusing this access, learn using on-line environment, has to
participate by adding-value and avoid interrupting development.
Internet and Intranet technologies are making paperless environments economical.
Extending development environment into external stakeholder domains raises many issues such as
How much access freedom must be supported?
Who funds the environment and tool investments?
How secure is the information exchange?
How is change management synchronized? etc
21 CHANGE MANAGEMENT
Change Management is as critical to iterative processes as planning.
Tracking changes in the technical artifacts is crucial in understanding
True technical progress
Quality trends
In conventional process, change management for technical artifacts is a late life cycle activity.
Whereas in modern process, change management is fundamental to all phases and all activities.
Software Change Orders
Dr. G. Sunitha, CSE, SVEC 26
Configuration Baseline
Configuration Control Board
SCO is the atomic unit of software work that is authorized to create, modify or obsolesce
components within a configuration baseline.
SCO are key mechanism for partitioning, allocating, and scheduling software work against an
established software baseline and for assessing progress and quality.
By maintaining change records on-line, the change management metrics reporting activities can
also be automated.
Level at which an SCO should be written raises issues such as –
What is a discrete change?
Is it a change to a program unit/component/file/subsystem?
Is it a new feature/defect resolution/performance enhancement?
In general, SCO should be written for each component individually. If conflict needs two people on
two different teams, two SCO’s must be written.
The basic fields of SCO are –
Title – The title is suggested by the originator and is finalized upon acceptance by the CCB. This
field should include a reference to an external software problem report if the change was initiated
by an external person.
Metrics – The metrics collected for each SCO are important for planning, scheduling and assessing
quality. Change categories are –
Type 0 (critical bug)
Type 1 (bug)
Type 2 (enhancement)
Type 3 (new feature)
Type 4 (other)
Upon acceptance of SCO initial estimates are made --
Breakage – quantifies the volume of change
Rework – quantifies the complexity of change
Analysis – Identifies the number of staff hours expended in understanding the required
change.
Implement -- Identifies the number of staff hours expended in designing and
implementing the change.
Test – Identifies the number of staff hours expended in testing the resolution.
Document – Identifies the number of staff hours expended in updating the user manuals
and other documentations.
The name of the person responsible for implementing the change, components changed, actual
metrics and a description of the change.
-
-
T
h
i
s
f
i
e
l
d
i
n
c
l
u
d
e
s
Disposition -- The SCO is assigned one of the following states by the CCB:
Proposed – written, pending CCB review
Accepted – CCB-approved for resolution
Rejected – closed because it is not a problem, duplicate, obsolete change etc.
Archived – accepted but postponed until a later release
In Progress – change is being implemented
In assessment – change is implemented and is being tested.
Closed – Change is completed
A CCB is a team of people that functions as the decision authority on the content of configuration
baselines.
It includes software project manager, software architecture manager, software development
manager, software assessment manager and other stakeholders.
It takes action through meetings, on-line distribution, concurrence etc.
The iterative development process must include change management for the evolving baselines.
The fundamental process for controlling software development and maintenance activities is
described using a sequence of states traversed by an SCO –
Proposed – written, pending CCB review
Accepted – CCB approved for resolution
Rejected – closed because it is not a problem, duplicate, obsolete change etc.
Archived – accepted but postponed until a later release
In Progress – change is being implemented
In assessment – change is implemented and is being tested.
Closed – Change is completed
22 (a) What are the steps in identifying project roles? Name any 5 project
roles and the skills needed for them.
(b) What are the benefits of matching people to roles?
Within the project environment, a clear definition of the roles and responsibilities will be critical to the
success of the project. Individuals must understand the roles they play to know what responsibilities they
have in making decisions, taking actions, reporting, and reviewing.
Matching people to roles benefits the project by:
Bringing order to the chaos of a normal project
Allowing the team to reach ―perform‖ stage of development faster
Keeping people from performing redundant activities
Creating a ―job description‖
Predetermining decision-making responsibility
Identifying responsible persons for success of the assignments
Reducing confusion about who does what and when
Provide each individual with a clear understanding of the authority given and responsibility
necessary for the successful accomplishment of the activities.
To facilitate smooth team interactions and clear lines of authority and responsibility, every
person on the team should identify which role he or she is filling when giving direction, making
decisions, calling meetings, or reviewing artifacts.
Role is the part played by somebody in a given project defined by the s/w engineering tasks and
influenced by the social part the person plays.
Responsibilities are actions, tasks or products that a person is held accountable for.
23 WHAT ARE THE SOURCES OF CHANGE? WHY SHOULD CHANGE BE MADE IN A CONTROLLED
WAY?
Change management is 'the coordination of a structured period of transition from situation A to situation
B in order to achieve lasting change within an organization.
When issues are found while project work is going on, change requests are issued which may modify
policies, procedures, scope, cost, schedule, requirements, design, code etc. The most effective project
plan will be wasted if some method of controlling change is not implemented.
Change control is not easy. The change control process establishes the stability to manage changes that
affect the project throughout its life cycle. If left unchecked, changes to the project plan cause
significant imbalance regarding scope, schedule and budget. As changes occur, their overall impact on the
project must be gauged and should react accordingly.
Scope
Other projects are added due to consolidation
The client changes the requirements
Market conditions shift
Problems encountered by engineering
Schedule
Delivery date accelerated
Competition pressures
Client requests early delivery
Budget
Management pulls 20% of the project budget
Tools and off-the shelf component costs escalate
Project work requires addition of manpower.