ProjMan

advertisement
CMPT 275
Chapter 9
Project Management
CMPT 275
Project is ...
• Guide to the Project Management Body of
Knowledge (PMBOK) defines a "project" to be
a temporary endeavour undertaken to create a
unique product or service
CMPT 275
Project Constraints
• Time: elapsed calendar time,
• Project schedule, or
• Target delivery date
• Resource: required to carry out the project
• People, equipment, material and their associated cost
• Work: amount of work which must be done during a
project in order to produce and deliver the product.
• Software development phases, or
• Feature set (or requirements) to be contained in the system
... must be managed by project manager
CMPT 275
Project Management is ...
•
•
•
•
Obtaining: proposal, feasibility study
Planning
Scheduling, Staffing
Budgeting: determining the need for resources and
divide $ to satisfy these needs
• Monitoring of project progress
• Risk analysis and monitoring
• and Closing: post mortem (e.g. evaluate time estimation)
… a project
CMPT 275
Project Planning
• Project planning requires:
•
•
•
•
Defining the goals of the project
Defining the iterations of the project
Specifying software development process phases
Associating deliverables with each phase to verify
progress
• Defining measure of success of the project
CMPT 275
Project Scheduling
• Project scheduling requires:
• Scheduling iterations and phases of the project
taking into consideration:
• Time constraints: start date, end date, milestones
(significant events with 0 duration)
• Resources: people, equipment
• Cost of the resources
• Identifying phases that can be done in parallel
(minimizing project duration)
CMPT 275
Software metrics
• Software metrics can be used as a measure,
historical data used to predict resource and time
needs of present project
• Size oriented: Based on measure like # lines of code
• Function oriented: measures like #'s of data structures,
methods, user interactions ….
• Object oriented: measures like #'s of scenarios,
subsystems, use cases, or classes
• Used to
• Facilitate estimation of development time, cost, staff needs
• To assess productivity of developers
• To assess progress of project (monitor if project is on time)
CMPT 275
Software metrics / allocating resources
• Over time an organization will build up a
database of projects completed
• For each completed project, phase, task
• will measure complexity using each metric
• Will also measure the completion time and use of
resources
• Based on the accumulated information the
each phase, or component of the next new
project will be estimated in terms of the
averages from past experience
CMPT 275
Project Monitoring
• Project manager needs to receive sufficient
feedback at regular intervals throughout
project in order to gage its progress
• Project monitoring requires:
• Saving a copy of project schedule @ start of project
• Via regular meeting (e.g. weekly)
• Receiving status report from each subteam leader
• Verifying whether milestones have been successfully
completed
• Reporting of problems / risks that may effect completion
times
CMPT 275
Project Monitoring
• From this feedback, project manager …
• Can predict delays and/or bottlenecks (risks) due
to, for example, insufficient amount of resources
• Can then can act upon these delays and/or
bottlenecks (eliminate or alleviate their impact on
the project) by revising project schedule:
• Reschedule phases and milestones
• Reallocate resource
• etc…
CMPT 275
Critical Path of Project
• Definition
• Sequence of tasks that determines the earliest
completion time of a project
• It is the longest path through the Schedule
(longest in the sense of tasks that must be
completed before other tasks begin)
CMPT 275
• Why do we bother figuring out the critical path
of our project?
• Because we now know the tasks that can
affect the duration of your project
• If these tasks are not performed as
scheduled, the project will be late
CMPT 275
Capability Maturity Model (CMM)
• Introduced by Software Engineering Institute
(SEI) in 1991 (http://www.sei.cmu.edu/)
• Model …
• For judging the maturity of the software
development process of an organization, and
• For identifying the key practices that are required to
increase the maturity of this process
CMPT 275
Capability Maturity Model (CMM)
• Using this model, an organization can
evolve as it defines, implements,
measures, evaluates, controls, and
improves its software development
process
CMPT 275
Capability Maturity Model (CMM)
• Level 1 – INITIAL - has ad-hoc software
development process, Few defined processes, Reliant
on individual 'heroics'
• Level 2 – REPEATABLE - Basic management
processes in place to track cost schedule and
functionality. Can repeat software development
process on similar applications
• Level 3 – DEFINED _has defined and documented
and standardized all the pieces of its software
development process for management and
engineering. All projects use an approved, tailored
version of the organizations software process
CMPT 275
Capability Maturity Model (CMM)
• Level 4 – MANAGED – Detailed measures (metrics)
measuring the effectiveness of the software process
and the product quality are collected. These measures
are used to understand the development process
• Level 5 – OPTIMIZING - Continuous improvement
of the development process using quantitative
feedback (metrics measured in previous projects).
Introduction of innovative approaches and technologies
in a controlled and efficient manner.
CMPT 275
CMM
CMPT 275
CMM
CMPT 275
Level 1: INITIAL
• No stable development environment
• Projects are often using very different approached to
software development
• Underestimating of resources is the norm
• Procedures are poorly defined or not defined
• In crisis existing procedures are abandoned
• Strong managers or team members hold the team and
the project together
• Need the 'hero' to pull off the project
• Not repeatable (the correct 'hero' may not be available)
CMPT 275
Level 2: Repeatable
• Basic Software management in place
• Software standards are defined and faithfully followed
• Software development processes may differ between
groups in the same organization
• There must be organizational level policies that guide the
groups in establishing their development processes
• Realistic allocation of resources based on previous
similar projects
• Project management procedures are used
CMPT 275
Level 3: DEFINED
• Standard development and management processes
are documented and used across the organization
• Staff are trained in the use of these processes
• Process are designed to help managers and
developers be more efficient.
• Projects tailor the organizations development process
for their needs (before starting)
• A process includes readiness critera, inputs,
standards and procedures for implementation and
verification
CMPT 275
Level4: MANAGED
• Measurement of productivity and quality of
products produced
• Measured results tabulated and stored to be
used as input for measuring the success of
software processes and products
• Results are used to fine tune processes and
reduce the variation between projects
(bringing up the mean level of success)
• Results in a stable process
CMPT 275
CMPT 275
Teamwork Skills
•
•
•
•
•
•
•
Project management skills
Communication skills -> Listening skills
Problem solving skills
Decision making skills
Conflict resolution skills
Feedback (giving/receiving) skills
Leadership skills
CMPT 275
Problem Solving & Decision Making
Skills – How to!
• Describe problem (what is the problem?)
• Examine background of problem
• Brainstorm: come up with solutions (accept all suggested
solutions)
• Select criteria/constraints for evaluating these
suggested solutions (e.g. small budget)
• Evaluate suggestions solutions
• Discard solutions that do not comply with criteria
• Team selects a choice by consensus (one way to do
this selection)
• Assign a timeline and responsible team member to
implement the selected solution
CMPT 275
Conflict Resolution Skills – How to!
• Realization that there is a conflict (e.g. conversation is not
going anywhere)
• The conflict is described in objective terms
• Parties communicate feelings and position as well as
cooperative intentions (how far they are willing to compromise)
• Parties examine each other’s perspective
• Meanwhile, mediator manages and motivates the
communication amongst parties
• Eventually, agreement is reached that satisfies both
parties
CMPT 275
Feedback Skills – How to! - 1
• When giving feedback, remember to state
something positive first then suggest a way to
improve the work
• Remember to give feedback about the work,
not the person
CMPT 275
Feedback Skills – How to! - 2
• Characteristics of constructive (hence useful)
feedback:
•
•
•
•
•
•
•
•
•
Specific
Descriptive
Made with “I” statements
Validated by receiver
About important, changeable aspects of work
Immediate
Private
Pressure-free
Generous with genuine praise
CMPT 275
CPSC
319
Personality Types
• 1. Energizing Scale - How are you energized?
• Extravert (E)
• Introvert (I)
• 2. Attending Scale - How you gather info?
• iNtuition (N)
• Sensing (S)
• 3. Deciding Scale - How you process info?
• Thinking (T)
• Feeling (F)
• 4. Closure Scale - Preferred life style?
• Judging (J)
• Perceiving (P)
01W - Term2
CMPT 275
CPSC
319
01W - Term2
Personality Types
• Why did we do the exercise?
• Understand how diverse personalities may
influence team work
• Appreciate such diversity
Download