Unit 7 OOSE Software Process Management
Unit 7 OOSE Software Process Management
Unit 7 OOSE Software Process Management
11/25/2024 2
What is Software Project Management?
Note: Software process models are general approaches for organizing a project
into activities. They help the project manager and his or her team to decide:
—What work should be done;
—In what sequence to perform the work.
Choosing a process model
When planning a particular project, one can combine the best features
of the models.
• From the waterfall model one can
—Incorporate the notion of stages.
• From the phased-release model one can
—Incorporate the notion of doing some initial high-level analysis,
and then dividing the project into releases.
• From the spiral model one can
—Incorporate prototyping and risk analysis.
• From the evolutionary model one can
—Incorporate the notion of varying amounts of time and work,
with overlapping releases.
• From concurrent engineering one can
—Incorporate the notion of breaking the system down into
components and developing them in parallel.
Reengineering
11/25/2024 7
An Overview of Rationale
A rationale is the motivation behind a decision. It includes
• Issue: To each decision corresponds an issue to be solved so
that development can proceed. An important part of the
rationale is a description of the specific issue that is being solved.
Issues are usually phrased as questions.
Eg: How should a ham be cooked?
• Alternatives: Alternatives are possible solutions that could
address the issue under consideration. These include
alternatives that were explored but discarded because they did not
satisfy one or more criteria.
Eg: Buying a wide stove costs too much.
• Criteria: Criteria are desirable qualities that the selected solution
should satisfy.
Eg: a recipe for ham should be realizable on standard
kitchen equipment. 8
11/25/2024
• Argumentation: Cooking and software development
decisions are not algorithmic. Cooks and developers
discover issues, try solutions, and argue their relative
benefits. It is only after much discussion that a
consensus is reached or a decision imposed. Argumentation
occurs during all aspects of the decision process,
including criteria, justifications, explored alternatives,
and trade-offs
. • Decisions: A decision is the resolution of an issue
representing the selected alternative according to the
criteria that were used for evaluation and the
justification of the selection.
Eg: Cutting an inch off each end of a ham
11/25/2024 9
Configuration management
11/25/2024 10
Configuration Management Activities
• Configuration item identification is the modeling of the
system as a set of evolving components.
• Promotion management is the creation of versions for
other developers.
• Release management is the creation of versions for the
client and the users.
• Branch management is the management of concurrent
development.
• Variant management is the management of versions
intended to coexist.
• Change management is the handling, approval, and
tracking of change requests.
11/25/2024 11
Cost estimation
To estimate how much software-engineering time will be
required to do some work.
• Elapsed time
—The difference in time from the start date to the end
date of a task or project.
• Development effort
—The amount of labour used in person-months or
person-days.
—To convert an estimate of development effort to an
amount of money:
You multiply it by the weighted average cost (burdened
cost) of employing a software engineer for a month (or a
day).
Principles of effective cost estimation
E = a + bNc
—Functions Points:
Egoless team:
• In such a team everybody is equal, and the team works
together to achieve a common goal.
• Decisions are made by consensus.
• Most suited to difficult projects with many technical
challenges.
Software engineering teams
• Architect
• Project manager
• Configuration management and build specialist
• User interface specialist
• Technology specialist
• Hardware and third-party software specialist
• User documentation specialist
• Tester
Project Scheduling and Tracking
A. Purpose
B. Background information
C. Processes to be used
D. Subsystems and planned releases
E. Risks and challenges
F. Tasks
G. Cost estimates
H. Team
I. Schedule and milestones
Difficulties and Risks in Project Management