Beruflich Dokumente
Kultur Dokumente
TO
SW PROJECT
MANAGEMENT
M.S. Memon
1 July 2019 CSE Department, QUEST 3
Course Objective
• To learn the techniques required to plan,
organize, monitor and control software
development projects
M.S. Memon
1 July 2019 CSE Department, QUEST 4
Learning aspects in SPM …
M.S. Memon
1 July 2019 CSE Department, QUEST 5
Books
– Software Engineering: A Practitioner’s Approach
by Roger Pressman
– Software Project Management
by Bob Hughes
– IT Project Management
by Kathy Schwalbe
M.S. Memon
1 July 2019 CSE Department, QUEST 6
The beginning…
Introduction
M.S. Memon
1 July 2019 CSE Department, QUEST 8
What is Software?
M.S. Memon
1 July 2019 CSE Department, QUEST 9
What is Software? (Contd.)
• Software can be of different types:
– System software
– Application software
– Engg./Scientific software
– Embedded software
– Product-line software
– Web-applications
– Artificial Intelligence software
– etc.
M.S. Memon
1 July 2019 CSE Department, QUEST 10
What is a Project ?
– It is a temporary endeavor (having specific start and
completion dates) undertaken to create a unique
product or service
M.S. Memon
1 July 2019 CSE Department, QUEST 11
What is a Project ?
• Temporary
– It means that every project has a definite beginning and
definite end
• End is reached when project’s objectives have been achieved
OR it is clear that objective will not be met. The project is
terminated in such a situation
– The term temporary does not apply to a project’s
product or service (which is a lasting result)
• Unique
– It means that the product or service is different in some
distinguishing way from all similar products or services
M.S. Memon
1 July 2019 CSE Department, QUEST 12
What is a Project ? (Contd.)
• Projects may involve a single person or thousands
• Projects may be completed in hours, several
months or years
• Examples of projects
– Developing a new product or service
– Designing a new vehicle
– Constructing a building
– Running a campaign for political office
– Implementing a new business procedure or process
– And so on …
M.S. Memon
1 July 2019 CSE Department, QUEST 13
What is Management?
M.S. Memon
1 July 2019 CSE Department, QUEST 14
What is Management? (Contd.)
• Components of Management:
– Planning
– Organizing
– Staffing
– Directing (Leading)
– Controlling
M.S. Memon
1 July 2019 CSE Department, QUEST 15
What is Management?
(Contd.)
• Planning
– Pre-determining course of action to achieve the objectives
• Organizing
– Establishing relationship among work units and granting
responsibility and authority to obtain the objectives
• Staffing
– Selecting and training people
• Directing (Leading)
– Creating an atmosphere that will assist & motivate people to
achieve the desired end results
• Controlling
– Establishing, measuring, and evaluating performance of activities
towards planned objectives
M.S. Memon
1 July 2019 CSE Department, QUEST 16
What is Project Management ?
M.S. Memon
1 July 2019 CSE Department, QUEST 17
Project Management (Contd.)
M.S. Memon
1 July 2019 CSE Department, QUEST 18
Software Project Management
Management
Project
Management
Software
Project
Management
M.S. Memon
1 July 2019 CSE Department, QUEST 19
Software Project Management
• A sub-discipline of project management in
which software projects are planned, monitored
and controlled
M.S. Memon
1 July 2019 CSE Department, QUEST 20
Software Project Management
(Contd.)
M.S. Memon
1 July 2019 CSE Department, QUEST 21
Managerial Skills
• Robert L. Katz identified three kinds of skills for
administrators*. The fourth may be added to it.
– Technical skills
– Human skills
– Conceptual skills
– Design skills
M.S. Memon
1 July 2019 CSE Department, QUEST 22
Managerial Skills (Contd.)
• Technical skills
– Knowledge of & proficiency in activities involving methods,
processes & procedures.
– Working with tools & specific techniques.
• Human skills
– Ability to work with people.
– Cooperative effort, team work.
– Creating a conducive environment for people/ workers.
M.S. Memon
1 July 2019 CSE Department, QUEST 23
Managerial Skills (Contd.)
• Conceptual skills
– Ability to see the “big picture”.
– Ability to recognize significant elements in a situation &
to understand the relationship among them.
• Design skills
– Ability to solve problems that will eventually benefit the
enterprise.
– The skill to design effective & practical solutions to
problems rather than becoming “problem watcher” only.
– Important for upper level managers.
M.S. Memon
1 July 2019 CSE Department, QUEST 24
Skills Vs. Management Levels in
Organizational Hierarchy
Conceptual &
Top Management
Design Skills
Middle Management
Human Skills
Supervisors
Technical Skills
M.S. Memon
1 July 2019 CSE Department, QUEST 25
Project Management Skills
• Project Management Skills (in simple words)
– Leadership
– Communications
– Problem Solving
– Negotiating
– Influencing the Organization
– Mentoring
– Process and technical expertise
M.S. Memon
1 July 2019 CSE Department, QUEST 26
SOFTWARE PROJECT
MANAGEMENT
• “The SW Project Management Process
begins with a set of activities that are
collectively called “Project Planning”.
M.S. Memon
7/1/2019 CSE Deptt., QUEST 27
ESTIMATING/ ESTIMATION
• 1st activity of Project Planning is Estimation.
• Whenever estimates are made we look at future & accept
some degree of uncertainty as a matter of course.
• A leading executive is that who know that what will go
wrong before it actually does & the courage to estimate
when the future is cloudy.
• Estimation pr resources cost & schedule for a
SW development effort requires experience,
access to good historical information
M.S. Memon
7/1/2019 CSE Deptt., QUEST 28
• PROJECT COMPLEXITY:
• Project complexity has a strong effect on uncertainty that is
inherent in planning. A no: of quantitative measure have been
proposed, such measures are proposed to be applied at SW
planning.
• PROJECT SIZE:
• Project Size is another factor that can affect the accuracy of
estimates. As size increase, the interdependency among various
elements of the SW grows rapidly.
• PROBLEM DECOMPOSITION:
• Problem Decomposition is an important approach to do
estimating but can be formidable (dangerous).
M.S. Memon
7/1/2019 CSE Deptt., QUEST 29
• DEGREE OF STRUCTURAL UNCERTAINTY:
• Degree of Structural Uncertainty also has an effect on estimation Risk,
Structure refers to the degree to which requirements have been solidified.
• The availability of historical information also determines estimation risk.
• Risk is measured by the degree of uncertainty in the quantitative estimates
established for resources, cost & schedule.
• The planner & more important customer should recognize that
availability in SW requirements means instability in cost & schedule.
• Finally a Project Manager should not become obsessive about
Estimation; Modern SWE approaches take an iterative view of
development because in these approaches it is possible to
revise the estimate & change made according to customers’
choice
M.S. Memon
7/1/2019 CSE Deptt., QUEST 30
SOFTWARE SCOPE
• The first activity in software project planning is the
determination of software scope. Function and performance
allocated to software should be assessed to establish a software
scope.
• Software scope describes Function, Performance, Constraints,
and Interfaces.
• FUNCTIONS:
– Function refers to all activities and function performed
by system.
• PERFORMANCE:
– Performance refers to processing and response time
requirements.
M.S. Memon
7/1/2019 CSE Deptt., QUEST 31
• CONSTRAINS:
– Constraints identify the limits placed on the software by external
hardware, available memory or other existing system.
• For scope it is necessary to obtains information, and the most common technique
into get communication between customer and developer to start the process
conducting meeting and interview as often no needed.
• Try to understand his/her goals and requirements or constrains not only in this
way that what they think but what they need.
• Government often provides procurement after in detail written specification on
what they want.
• For communication these must be set of context free questions focus on the
customer as:
• OVERALL GOALS:
• Overall goals are defined that Who’s Request, What Benefit, Who else
has solution.
M.S. Memon
7/1/2019 CSE Deptt., QUEST 32
• UNDERSTANDING THE PROBLEM
– In understanding the problem that What Output, What Issues, What
Constrains, What Environment, What Special Performance issues,
• After that final set of questions focus on the effectiveness of the
melting called “Meta Questions” are asked:
– Are the person answering the questions in authorize.
– Were there too many questions to boor?
– Is there any other person to give more information to questions?
– Any other additional thing by customer.
• PLANNING: (START HIGH LEVEL PLANNING BY):
– Knowing the capabilities of existing software & staff.
– Join Leans of customer and develop / Analysts.
– Check list of items to cover.
• ORGANIZATION OF INFORMATION: (MANAGE WORK AS IT
AS):
– Get every thing down with diagram.
– Create and save transcripts of meetings.
– Possibly use web.
• :
M.S. Memon
7/1/2019 CSE Deptt., QUEST 33
PROJECT PLANNING
OBJECTIVES
• The objectives of software project planning are frame
work that enables the mangers to make responsible
estimate of source, cost, and schedule.
• Those estimates are made with limited time frame at the
beginning of the software project and should be updated
regularly as the project progress.
• In conditions estimates should be attempted to
define ‘Best Case’ and ‘Worst Case’ sceneries so
that project outcomes can be bounded
M.S. Memon
7/1/2019 CSE Deptt., QUEST 34
THE COCOMO MODEL
• Barry Boehm introduces a hierarchy if software estimation models
bearing the name COCOMO (Constructive Cost Model).
• Barry Boehm’s hierarchy of model takes the following form.
• MODEL-01:
• The basic COCOMO model computes software development effort
and cost as a faction of program size estimated lines of codes
• MODEL-02:
• The intermediate COCOMO model computes software development
effort as a function of program size and a set of ‘Cost Drivers’ that
includes subjective assessments of product, hardware, personal and
project attribute.
M.S. Memon
7/1/2019 CSE Deptt., QUEST 35
• MODEL-03:
• The advance COCOMO model incorporates all characteristics of the
intermediate versions with the an assessment of the cost drivers
impact on each step (Analysis, Design. Etc) of the software purpose.
• The COCOMO models are defined for three classes of Software
Projects.
• ORGANIC MODEL:
• This for relatively small, simple projects in which small teams with
good application experience work to a set of less than rigid
requirements.
• SEMI-DETACHED MODEL:
• This for intermediate (In Size & Complexity) software projects in
which team with mixed experience level must meet a mix rigid and
less than rigid requirements.
M.S. Memon
7/1/2019 CSE Deptt., QUEST 36
• EMBEDED MODEL
• This is a software project the must be developed within a set of tight hardware, software and
operational constraints.
• The basic COCOMO equation take the form:
• E= a b KLOC b b
• D=CbEd b
• Where: E is effort applied in person-month
• D is development time in months
• KLOC is Estimated no. of delivered lines of code
• a b & c b are coefficients and b b & d b are exponents.
• The basic model is extended to consider a set of ‘Cost Driver Attributes’ that can be grouped
into four categories:
• Product Attributes
• Hardware Attribute
• Personnel Attributes
• Project attributes
M.S. Memon
7/1/2019 CSE Deptt., QUEST 37
• PP is an approach to provide a frame work that enables the manager to make
reasonable estimates of resources, cot, and schedule.
– ESTIMATION:
• Estimation is a process of getting brief knowledge about resources cot and schedule.
Estimation is made within a limited time frame at a beginning of a software project
and should be update regularly as the project progresses.
– FACTOR EFFECTING THE ESTIMATION
• PROJECT COMPLEXITY:
• Project complexity has a strong effect on the uncertainty inherit in planning
complexity is a relative measure that is effected by past experience.
• PROJECT SIZE:
• As the project size increase the interdependency among various element of the SW
grows rapidly. Problem decomposition an important approach to estimating becomes
more difficult b/c decomposed elements may still be formidable.
• DEGREE OF STRUCTURAL UNCERTAINTY:
• The degree to which requirements are have been solidified and the hierarchical nature
of the information that must be processed.
M.S. Memon
7/1/2019 CSE Deptt., QUEST 38
• OBTAINING INFROMATION NECESSARY FOR SCOPE
• Obtaining information necessary for scope:
• The most commonly used technique to bridge the communicating gap b/w the
customer and develop and to get the communication process started is to conduct a
preliminary meeting or interview.
• Analyst start by asking context free question
• First set of context free questions:
• Who is behind the request for this work
• Who will use the solution
• What will be the economic benefit of a successful solution?
• Is their source for the solution?
• The next set of questions enables the analyst to gain a better understanding of the
problem.
– How would you characterized good output
– What problem will this solution address
– Can you show me the environment in which solution will be used.
– Will any special performance issue or constraints affect the way the solution is
approached?
M.S. Memon
7/1/2019 CSE Deptt., QUEST 39
•
• Final set of questions
– Are you the right person to answer these questions or answers official.
– Are my questions relevant to the problem that you have.
– Am I asking too many questions
– Can any one else provide additional information.
• FEASIBILITY
• Communication with the customer loads to definition of data.
• Function that must be implemented.
• Performance and constraints that bound the system.
• Related information
• Once scope has been identified, it is reasonable to ask
– Can we build the software to meet this scope?
– Is this project is feasible?
M.S. Memon
7/1/2019 CSE Deptt., QUEST 40
– RESOURCES:
• The second SW planning task is estimation of
the resources required to an accomplished the
SW development effort the above figure
illustrate the resources as a pyramid.
M.S. Memon
7/1/2019 CSE Deptt., QUEST 41
HARDWARE AND S/W TOOLS:
• These determine the development environment. The environment that
support the SW projects, after called SWE environment incorporates
hardware & SW. Hardware provides a platform that support the tools,
software) required to produce the work products that are in outcome good
software engineering practice. A project planner must describes the time
window required for hardware and software verify that these resources will
available.
REUSEABLE SOFTWARE COMPONENTS:
• Reusable software of the components that must be cataloged for easy
reference standardized for easy integration.
• Types of reusable software
M.S. Memon
7/1/2019 CSE Deptt., QUEST 42
OFF-THE-SHELF COMPONENTS:
• Existing SW that can be acquired from the third party or that has been
developed for a past project.
FULL EXPERIENCE COMPONENTS:
• Existing specifications, design, code or test data developed for past project
that are similar to the SW to be build for the current project. Member of the
current S/W team have had full experience in the application are represented
by these components.
PARTIAL EXPERIENCE COMPONENTS:
• Existing specification, designers, code or test data developed for past project
hat are related to the software to be build for the current project hat will
required go modification.
• Member of the SW have only limited experience in the application area
represented by these components.
M.S. Memon
7/1/2019 CSE Deptt., QUEST 43
– PEOPLE
• After evaluating scope the skills required to complete development must be
evaluated. These include following.
• Organizational position (Managers SW)
• Specialty (Telecommunication , database, client server)
• For small project a signal individual can perform SWE task consulting with
specialist as required.
• The no. of people required for the SW project can be determined only after
an estimation of development effort is made.
– DECOMPOSITION:
• Software project estimation is a form of problem solving & the most cases
the problem to be solve ( that is developing cost of effort, estimate for a SW
project is too complex to be consider in one piece for this reason we
decompose the problem dividing it as a set of smaller (Hopefully most
manageable) problems.
M.S. Memon
7/1/2019 CSE Deptt., QUEST 44
– COMPOSITION TECHNOLOGIES:
• SOFTWARE SIZING:
• Sizing represents the project planner 1st major challenge. In the context of project
planning size refers to a quantifiable outcome of the SW project.
• To apply this approach, the planner must identify the type of application, establish, its
magnitude on the qualitative scale, and then refine the magnitude within the original
range. Although personal experience can be used, the planner should also have access
to a historical database of the project.
M.S. Memon
7/1/2019 CSE Deptt., QUEST 45
STANDARD COMPONENTS SIZING:
• Software composed of a no. of different standards components that all
generic to a particular application area for example. The standard components
for an information system or subsystem, module, screen, reports, interactive
programs, and files. The project planner estimates the no. of occurrence of
each standard component and then uses historical project data to determine
the delivered size per standard components.
CHANGE SIZING:
• This approach is used when a project used existing software that must be
modified in some way as part of a project.
• The planner estimates the no. and type for example (reuse adding code,
changing code, and deleting code) of modifications that must be
accomplished.
M.S. Memon
7/1/2019 CSE Deptt., QUEST 46
4Ps
Process.
THREE POINTS
PEOPLE
PROBLEM
PROCESSES PRODUCTS
• PEOPLE:
• The cultivation of motivated, highly skilled software people is very
important.
– SEI has developed “People Management Capability Maturity Model”
(PMCMM) for projecting “People factors”.
– The PMCMM defines the following key practice areas for SW People:
Recruiting, selection, Performance Management, training, compensation, and
career development, Organization of work design & team development.
• PROBLEM:
• Before the project planning, its objectives & scope should be established,
alternative solutions should be considered, technical and management
constraints should be developed.
– W/o above information it is impossible to define reasonable estimate of cost,
risk factor, Management scheduling.
• The software developer & customer must meet the defined project objectives &
scope.
• Once project objectives & scope are understood, alternative solutions are
considered.
• Scope identifies the primary data, functions & behavior that characterize the
problem & more important that attempts to bound these characters in a well
manner.
72
Resources - Make-Buy Decision
73