30
CMPT 275 Chapter 9 Project Management

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

Embed Size (px)

Citation preview

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

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)

CPSC 319 01W - Term2

CMPT 275

Personality Types

• Why did we do the exercise?• Understand how diverse personalities may

influence team work• Appreciate such diversity

CPSC 319 01W - Term2