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