Supplementary Slides for Software Engineering: A Practitioner's Approach, 5/e

advertisement
Supplementary Slides for
Software Engineering:
A Practitioner's Approach, 5/e
copyright © 1996, 2001
R.S. Pressman & Associates, Inc.
For University Use Only
May be reproduced ONLY for student use at the university level
when used in conjunction with Software Engineering: A Practitioner's Approach.
Any other reproduction or use is expressly prohibited.
This presentation, slides, or hardcopy may NOT be used for
short courses, industry seminars, or consulting purposes.
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are
provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001
1
Chapter 3
Project Management
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are
provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001
2
Project Management
Involves planning, monitoring, and control of
the people, process, and events that occurs
as software evolves from a preliminary
concept to an operational implementation
++
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are
provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001
3
Who does it?
Everyone…
(1) Software engineer manages day-to-day
activities, planning, monitoring, and
controlling technical tasks.
(2) Project managers plan, monitor, and
control the work of a team of software
engineers
(3) Senior managers coordinate the interface
between the business and the software
professionals
++
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are
provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001
4
The 4 P’s
People — the most important element of a
successful project
Product — the software to be built
Process — the set of framework activities and
software engineering tasks to get the job
done
Project — all work required to make the
product a reality
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are
provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001
5
Software Projects
Factors that influence the end result ...
• size
• delivery deadline
• budgets and costs
• application domain
• technology to be implemented
• system constraints
• user requirements
• available resources
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are
provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001
6
Project Management Concerns
product quality?
risk assessment?
measurement?
cost estimation?
project scheduling?
customer communication?
staffing?
other resources?
project monitoring?
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are
provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001
7
Why Projects Fail?
• an unrealistic deadline is established
• changing customer requirements
• an honest underestimate of effort
• predictable and/or unpredictable risks
• technical difficulties
• miscommunication among project staff
• failure in project management
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are
provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001
8
PEOPLE
The Players
1.
2.
3.
4.
5.
++
Senior manages
Project (technical) managers
Practitioners
Customers
End-Users
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are
provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001
9
PEOPLE
MOI model of Leadership
Motivation
Organization
Ideas or Innovation
By Jerry Wienberg
++
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are
provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001
10
PEOPLE
Characteristics that define an effective
project managers




++
Problem Solving
Managerial Identity
Achievement – eg. Reward initiatives
Influence and team building – ability to
“read” people
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are
provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001
11
Software Teams
The following factors must be considered when selecting a
software project team structure ...
 the difficulty of the problem to be solved
 the size of the resultant program(s) in lines of code or
function points
 the time that the team will stay together (team lifetime)
 the degree to which the problem can be modularized
 the required quality and reliability of the system to be built
 the rigidity of the delivery date
 the degree of sociability (communication) required for the
project
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are
provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001
12
Team Organizations
Democratic Decentralized (DD)
No permanent leader, decisions made by group
consensus, communication is horizontal
Controlled Decentralized (CD)
a defined leader, problem solving in group but
implementation in subgroup, communication is
horizontal and vertical
Controlled Centralized (CC)
a defined leader, problem solving by team leader,
communication vertical
++
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are
provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001
13
Centralized vs Decentralized
 Centralized structure completes task faster  suitable
for small problems
 Decentralized teams generate better solution than
individuals  suitable for difficult problems
 Large projects are best addressed by teams with CC or
CD structures (subgrouping is easily accommodated)
 DD is good for long term project (DD results in high
morale)
 DD is best applied for low modularity problems (higher
volume of communication)
++
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are
provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001
14
Centralized vs Decentralized
Findings:
Centralized produced fewer defects than DD
teams
Decentralized teams generally require more
time to complete
++
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are
provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001
15
Organizational Paradigms
 closed paradigm—structures a team along a traditional
hierarchy of authority (similar to a CC team)
 random paradigm—structures a team loosely and depends
on individual initiative of the team members
 open paradigm—attempts to structure a team in a manner
that achieves some of the controls associated with the
closed paradigm but also much of the innovation that occurs
when using the random paradigm
 synchronous paradigm—relies on the natural
compartment-alization of a problem and organizes team
members to work on pieces of the problem with little active
communication among themselves
suggested by Constantine [CON93]
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are
provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001
16
Potentially toxic team environment
A frenzied work atmosphere  waste energy
& lost focus
High frustration
Fragmented or poorly coordinated
procedures/process model
Unclear definition of roles
Continuous and repeated exposure to failure
++
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are
provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001
17
Coordination & Communication
 Formal, impersonal approach
deliverables, milestones, schedules, tools, change requests,
error tracking reports, repository data
 Formal, interpersonal procedures
QA (review meeting, code inspections)
 Informal, interpersonal procedures
group meeting
 Electronic communication
email, bulletin board, video conference
 Interpersonal networking
informal discussion with team members or outside experts
++
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are
provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001
18
PRODUCT
SOFTWARE SCOPE
Context
How it fit into the larger system, product or
business context
Information objective
What is output & input
Function and performance
++
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are
provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001
19
PRODUCT
• Project scope must be unambiguous and
understandable
• Statement of scope must be bounded
• Quantitative data are stated explicitly (eg. Number of
simultaneous users, size of mailing lists, maximum
allowable response time)
• Constraint and/or limitation are noted (eg memory size)
• Mitigating factors are described (eg. Algorithm are well
understood and available)
++
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are
provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001
20
PRODUCT
SOFTWARE DECOMPOSITION
The functionality
The process to deliver the software
++
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are
provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001
21
Defining the Problem
establish scope—a narrative that bounds the
problem
decomposition—establishes functional
partitioning
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are
provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001
22
PROCESS
Framework activities
Customer communication
Planning
Risk analysis
Engineering
Construction and release
Customer evaluation
++
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are
provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001
23
Melding Problem and Process
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are
provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001
24
PROJECT
Commonsense approach to software
project
1. Start on the right foot – understand the
problem, set realistic objectives
2. Maintain momentum – provide incentives,
emphasize on quality, minimum bureaucracy
3. Track progress
4. Make smart decisions – keep it simple
5. Conduct a postmortem analysis
++
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are
provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001
25
To Get to the Essence of a Project
Why is the system being developed?
What will be done? By when?
Who is responsible for a function?
Where are they organizationally located?
How will the job be done technically and
managerially?
How much of each resource (e.g., people,
software, tools, database) will be needed?
Barry Boehm
W5HH Priciples
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are
provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001
26
Critical Practices
Formal risk analysis
Empirical cost and schedule estimation
Metrics-based project management
Earned value tracking
Defect tracking against quality targets
People aware project management
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are
provided with permission by R.S. Pressman & Associates, Inc., copyright © 1996, 2001
27
Download