Project management - Univerzita Karlova v Praze

Download Report

Transcript Project management - Univerzita Karlova v Praze

Ismail Ceylan
Kutay Kocayurt
Martin Konicek
What is a project
 Temporary activity with start date and end date
What is project management
 Planing , managing resources
 Time, money, people, equipment, services
 PM triangle
Change of one constraint
affects the others
Project phases
 Design
 Implementation
 Maintenance
Design + Prototyping
 Create a small prototype and show it to users!
 Do it early - in the design phase
 Do this iteratively
Implementation
 Many methodologies: waterfall, iterative
 Includes everything: data conversion, user training,…
Maintenance
 Remember after acceptance the project is not over!
 Users will have a lot of comments
 Maintenance costs often are higher than development costs
Project manager
Project manager
 Responsible for planning and execution of whole project
Project manager
 Responsible for planning and execution of whole project
 Must have critical thinking
 See potential problems
 Identify unstated assumptions
 Resolves interpersonal conflicts
 Makes communication between team members easy
Project manager
 Responsible for Risk management
 Minimize uncertainity
Methodology
Gantt chart – planning
COCOMO - estimating
 COnstructive COst MOdel
 Estimation of time + money based on
 Size of the project (Lines Of Code)
 Complexity of the project
 Skill of the team
 Basic COCOMO
 Intermediate COCOMO
 Detailed COCOMO
COCOMO - estimating
 Distinguishes 3 classes of projects:
 Organic projects
 Small, simple, not so tight requirements
 Semi-detached projects
 Mix of levels of complexity, mix of rigidness of
requirements
 Embedded projects
 Tight HW, SW and operational constraints
COCOMO - estimating
 Effort in person-months
 Development time
 People needed
E=a*(KLOC)b
D=c*(E)d
P=E/D
 Coefficients depend on the type of project:
Project
a
b
c
d
Organic
2.4
1.05
2.5
0.38
Semi-detached
3.0
1.12
2.5
0.35
Embedded
3.6
1.20
2.5
0.32
COCOMO - estimating
 Example: 8200 lines text editor
E = a*(KLOC)b =2.4*(8.2)1.05 = 21.9 person-months
D= c*(E)d=2.5*(21.9)0.38 = 8.1 months
P= E/D= 21.9 / 8.1 » 3 persons
Project team
 Use small teams (up to 8)
 Skill: good developer can be up to 10 times more effective
than a bad one
 Team players realizing the overall goal are important
The client
 Defines the project
 Monitors the evolution of the project
 Approves modifications to agreed-on constraints
 Typical case: “We need more time”
 Making good relations with the client helps get future
projects
 We want to do many projects for this client, not just one
The client - communication
 Prepare
 Have clear objectives for the meeting
 Define priorities
The client - communication
 Clarify client’s idea to the maximum
 Use client’s language, don’t get too technical!
 Consider alternatives and compromises – be flexible
 Show client different views (some features are
unnecessary)
 Clients don’t know what they want but they want it soon
The client - communication
 Prepare to listen to the client
 Don’t interrupt speaking client!
 Be open, client might actually have clever ideas
 Respect pauses
 Give feedback to make future meetings more effective
 Be humble
 Demonstrate real interest