Transcript SE PM
Software Project
Management
CS 123/CS 231
References
Chapter 3, Sommerville
Chapters 3,5,6 & 7, Pressman
Chapter 2, Unified Software Development
Process
Management Spectrum
People
recruiting, selection, performance management,
training, compensation, career development,
organization structure, culture
Product
define product objectives and scope
Process
framework, methodology
Project
project planning, control
People
Organization Structure (Players)
architects, developers, testers, supporting
management, customers and other stakeholders
Software Team Structure
Most effective if between 6-8 members
Democratic decentralized
Controlled decentralized
Controlled centralized
Coordination and Communication
Product
Artifacts created during the life of a project
models, source code, executables,
documentation
Scope
Context
Information Objectives
Function and Performance
Problem decomposition
Process
Set of activities that transform requirements to
a product.
Template for creating projects
Definition
Institutionalization
Improvement
Use of
Process Models
CMM, ISO, etc
Project
Organizational element through which
software development is managed
Planning Activities
Tracking
Managing Risk
Management Activities
Proposal Writing
Project Costing
Planning and Scheduling *
Monitoring and Review *
Personnel Selection and Evaluation
Reports and Presentations *
Process Framework
S/W project typically divided into activities or
tasks
Estimates are taken to drive task assignment
and schedule
Milestones describe progress at the end of an
activity
progress report
internal or presented
Deliverables are often part of a milestone
Software Project
Estimation
Decompose Problem (identify task)
Estimate Size
Estimate Effort
Normally have some translation between
size and effort
Estimate Cost
Don’t forget overhead!
Sizing
Based on historical data
Function Point
Standard Component Sizing
Change Sizing
LOC based
Empirical Estimation Models
Project Scheduling
Scheduling involves:
distribute estimated effort across planned
duration by allocating effort to specific tasks
Considerations
parallel activities
problem anticipation, regular sched updates
resources other than time
critical dependencies
Scheduling Notation
Task Duration and Dependencies
table or activity network
Activity Bar Chart
schedule, parallel activities
depicts flexibility against schedule slippage
Staff Allocation
table or time chart
Scheduling Principles
Compartmentalization
Interdependency
Time allocation
Effort validation
Defined responsibilities
Defined outcomes
Defined milestones
Risk Management
CS 123/CS 231
Risk
Something that can go wrong
Caused by inadequate information
Resolved by initiating actions that
discover the relevant information
reduce uncertainty
Boehm’s Spiral Model
explicitly integrates risk assessment and
reduction
Risk Categories
Requirements Risks
Skills Risks
Technological Risks
Others
Requirements Risks
Dangers
building the wrong system
misunderstanding priorities
Dealing with the risks
improve communication between analysts,
developers, and clients
enforce the discipline of using concrete,
understandable models (e.g., use cases)
Technological Risks
Dangers
Unexplored software tools or techniques
Lack of alternatives
Dealing with the risks
obtain necessary resources
build working prototypes
test integration capabilities (arch design)
identify alternatives
Skills Risks
Dangers
Not enough personnel
Not enough expertise
Dealing with the risks
training / reading / mentoring
deliberate project scheduling