Overview
- Project management involves the planning, monitoring, and control of
people, process, and events that occur during software development.
- Everyone manages, but the scope of each person's management activities
varies according his or her role in the project.
- Software needs to be managed because it is a complex undertaking with a
long duration time.
- Managers must focus on the fours P's to be successful (people, product,
process, and project).
- A project plan is a document that defines the four P's in such a way as to
ensure a cost effective, high quality software product.
- The only way to be sure that a project plan worked correctly is by
observing that a high quality product was delivered on time and under
budget.
Management Spectrum
- People (recruiting, selection, performance management, training,
compensation, career development, organization, work design, team/culture
development)
- Product (product objectives, scope, alternative solutions, constraint
tradeoffs)
- Process (framework activities populated with tasks, milestones, work
products, and QA points)
- Project (planning, monitoring, controlling)
People
- Players (senior managers, technical managers, practitioners, customers,
end-users)
- Team leadership model (motivation, organization, skills)
- Characteristics of effective project managers (problem solving, managerial
identity, achievement, influence and team building)
Software Team Organization
- Democratic decentralized (rotating task coordinators and group consensus)
- Controlled decentralized (permanent leader, group problem solving,
subgroup implementation of solutions)
- Controlled centralized (top level problem solving and internal
coordination managed by team leader)
Factors Affecting Team Organization
- Difficulty of problem to be solved
- Size of resulting program
- Team lifetime
- Degree to which problem can be modularized
- Required quality and reliability of the system to be built
- Rigidity of the delivery date
- Degree of communication required for the project
Coordination and Communication Issues
- Formal, impersonal approaches (e.g. documents, milestones, memos)
- Formal interpersonal approaches (e.g. review meetings, inspections)
- Informal interpersonal approaches (e.g. information meetings, problem
solving)
- Electronic communication (e.g. e-mail, bulletin boards, video
conferencing)
- Interpersonal network (e.g. informal discussion with people other than
project team members)
The Product
- Software scope (context, information objectives, function, performance)
- Problem decomposition (partitioning or problem elaboration - focus is on
functionality to be delivered and the process used to deliver it)
The Process
- Process model chosen must be appropriate for the: customers and
developers, characteristics of the product, and project development
environment
- Project planning begins with melding the product and the process
- Each function to be engineered must pass though the set of framework
activities defined for a software organization
- Work tasks may vary but the common process framework (CPF) is invariant
(project size does not change the CPF)
- The job of the software engineer is to estimate the resources required to
move each function though the framework activities to produce each work
product
- Project decomposition begins when the project manager tries to determine
how to accomplish each CPF activity
The Project
- Start on the right foot
- Maintain momentum
- Track progress
- Make smart decisions
- Conduct a postmortem analysis
W5HH Principle
- 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 is needed?
Critical Practices
- Formal risk management
- Empirical cost and schedule estimation
- Metric-based project management
- Earned value tracking
- Defect tracking against quality targets
- People-aware program management