Lecture Software process improvement: Lesson 1 provide students with knowledge about: introduction to project planning; logic of software project planning; goal of project planning; steps of project planning; cost estimation;... Please refer to the detailed content of the lecture!
Trang 1Introduction to Project Planning
Lecture # 4
Trang 2Software Project Planning
¢ Software development can be exceedingly complex and it needs to be planned in such
a way that all required resources are made available at the right time for the necessary duration
Trang 3Logic of Software Project
Planning - |
¢ While requirements are initially vague and incomplete, a quality program can only be built from an accurate and precise
understanding of the users’ needs The
project plan thus starts by mapping the
route from vague and incorrect
requirements to accurate and precise ones
Trang 4Logic of Software Project
Planning - 2
¢ A conceptual design is then developed as a basis
for planning This initial structure must be
produced with care since it generally defines the breakdown of the product into units, the allocation
of functions to these units, and the relationships among them Since this provides the
organizational framework for planning and
implementing the work, it is almost impossible to
Trang 5Logic of Software Project
Planning - 3
¢ At each subsequent requirements
refinement, resource projections, size
estimates, and schedules are also refined
¢ When requirements are sufficiently clear, a detailed design and implementation strategy
is developed and incorporated in the plan
Trang 6Logic of Software Project
Planning - 4
° As various parts of the project become
sufficiently well understood,
implementation details are established and documented in further plan refinements
¢ Throughout this cycle, the plan provides the framework for negotiating the time and
resources to do the job
Trang 7Goal Of Project Planning
¢ The overall goal of project planning is to establish a pragmatic strategy for
controlling, tracking, and monitoring a complex technical project
° Why’?
¢ So the end result gets done on time, with
quality
Trang 8Objectives of Project Planning -
|
¢ The objective of software project planning
is to provide a framework that enables the manager to make reasonable estimates of
resources, cost, and schedule
¢ These estimates are made within a limited time frame at the beginning of a software project and should be updated regularly as
Trang 9Objectives of Project Planning -
2
¢ Estimates should attempt to define best case and worst case scenarios so that the project outcomes can be bounded
Trang 10Steps of Project Planning
Trang 11Steps of Project Planning
Trang 12Software Scope - |
¢ Understand the problem and the work that must be done — in a nutshell
¢ Software scope describes the data and
control to be processed, function,
performance, constraints, interfaces, and
reliability
Trang 13Software Scope - 2
¢ Project scope must be unambiguous and
understandable at the management and
technical levels
¢ A statement of software scope must be
bounded — in other words
¢ At the beginning of a project, things are
very hazy and nothing is clear
13
Trang 14Software Scope - 3
* Good and open communication is required between developers and customer to define the scope of the project
Trang 15Software Scope - 4
Who is behind the request for this work’?
Who will use the solution?
What will be the economic benefit of a
successful solution?
Is there another source for the solution?
15
Trang 16To Understand Scope
Understand the customer needs
Understand the business context
Understand the project boundaries
Understand the customer’s motivation
Understand the likely paths for change
Understand that even when you understand,
Trang 17Feasibility
¢ Once scope has been identified (with the
concurrence of the customer), it 1s
reasonable to ask: “Can we build software
to meet this scope? Is the project feasible?”
¢ Often times this question is overlooked and developers face serious problems because
of that
17
Trang 18Estimation
¢ How much effort?
¢ How much time’?
¢ Resource and time estimation
Trang 19Cost Estimation
Project scope must be explicitly defined
Task and/or functional decomposition 1s
Trang 20Project Resources
Trang 21⁄ Hardware/software tools \
21
Trang 22Project Resources
¢ Discussion on people, reusable software
components, and hardware/software tools
Trang 23Project Resources
¢ Software cost and effort estimation will
never be an exact science, as too many
variables — human, technical,
environmental, political — can affect the
ultimate cost of software and effort applied
to develop it
23
Trang 24Options for Reliable Cost and
Effort Estimates
Delay estimation until late in the project
Base estimates on similar projects that have already been completed
Use relatively simple decomposition
techniques to generate project cost and
effort estimates
Use one or more empirical models for
Trang 25Functional decomposition
— divide and conquer
25
Trang 26Functional Decomposition
functional decomposition
Statement
of Scope
Trang 27
Estimation Techniques
¢ Past similar projects experience
° Conventional estimation techniques
— ‘Task breakdown and effort estimates
— Size (e.g., FP) estimates
— Tools (e.g., Checkpoint)
27
Trang 28Creating a Task Matrix
Trang 29Creating a Task Matrix
Obtained from “3 framework”
Trang 30Estimation based on Empirical
Models
e d=f(v,)
¢ dis one of a number of estimated values
(e.g., effort, cost, project duration) and v,
are selected independent parameters (e.g.,
estimated LOC or FP)
Trang 31COCOMO model
¢ The COCOMO model
31
Trang 32Risk
¢ What can go wrong?
° How can we avoid it?
¢ What can we do about it?
Trang 34Control Strategy
° How do we control quality?
° How do we control change?
Trang 35Summary
35
Trang 36References
¢ Software Engineering 5“ Edition by Roger
Pressman, Chapter 5