Top Banner
S ft r Pr j t Software Project Management Manage ent R. Akerkar TMRF K lh I di TMRF , Kolhapur, India 1 R. Akerkar - SPM
42
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Software project management

S ft r Pr j tSoftware Project ManagementManage ent

R. AkerkarTMRF K lh I diTMRF, Kolhapur, India

1R. Akerkar - SPM

Page 2: Software project management

IntroductionIntroductionMany software projects fail:Many software projects fail: due to faulty project

management practices: It is important to learn different It is important to learn different

aspects of software project managementmanagement.

2R. Akerkar - SPM

Page 3: Software project management

IntroductionGoal of software projectGoal of software project

management:g enable a group of engineers to work

efficiently towards successfulefficiently towards successful completion of a software project.

3R. Akerkar - SPM

Page 4: Software project management

Responsibility of project managersResponsibility of project managers

Project proposal writing Project proposal writing, Project cost estimation, Scheduling, g, Project staffing, Project monitoring and control, Software configuration management, Risk management,

M i l t iti d t ti t Managerial report writing and presentations, etc.

4R. Akerkar - SPM

Page 5: Software project management

IntroductionIntroductionA project manager’s activitiesA project manager s activities

are varied.can be broadly classified into:

project planning project planning, project monitoring and control

activities.

5R. Akerkar - SPM

Page 6: Software project management

Project Planningj g

Once a project is found to beOnce a project is found to be feasible, project managers undertake project

planning.p g

6R. Akerkar - SPM

Page 7: Software project management

Project Planning Activitiesj g

Estimation: Estimation: Effort, cost, resource, and project duration

Project scheduling:j g Staff organization: staffing plansRi k h dli Risk handling: identification, analysis, and abatement procedures

Miscellaneous plans: Miscellaneous plans: quality assurance plan, configuration management

plan, etc.

7R. Akerkar - SPM

Page 8: Software project management

Project planningj p g

Requires utmost care and attention --- Requires utmost care and attention commitments to unrealistic time and resource estimates result in: irritating delays. customer dissatisfaction cus o e d ssa s ac o adverse affect on team morale

poor quality work

project failure.

8R. Akerkar - SPM

Page 9: Software project management

Sliding Window Planningg g

Involves project planning over Involves project planning over several stages: protects managers from making big

commitments too early.yMore information becomes available

as project progressesas project progresses. Facilitates accurate planning

9R. Akerkar - SPM

Page 10: Software project management

SPMP Document

After planning is complete:After planning is complete: Document the plans: p in a Software Project

Management Plan(SPMP)Management Plan(SPMP) document.

10R. Akerkar - SPM

Page 11: Software project management

Organization of SPMP Documentg

Introduction (Objectives Major Functions Performance Issues Management and Introduction (Objectives,Major Functions,Performance Issues,Management and Technical Constraints)

Project Estimates (Historical Data,Estimation Techniques,Effort, Cost, and Project Duration Estimates))

Project Resources Plan (People,Hardware and Software,Special Resources)

Schedules Schedules (Work Breakdown Structure,Task Network, Gantt Chart Representation,PERT Chart Representation)

Risk Management Plan (Risk Analysis,Risk Identification,Risk Estimation, Abatement Procedures)Abatement Procedures)

Project Tracking and Control Plan Miscellaneous Plans(Process Tailoring Quality Assurance) Miscellaneous Plans(Process Tailoring,Quality Assurance)

11R. Akerkar - SPM

Page 12: Software project management

Software Cost Estimation

Determine size of the product Determine size of the product. From the size estimate,

determine the effort needed determine the effort needed.

From the effort estimate, determine project duration, and cost.

12R. Akerkar - SPM

Page 13: Software project management

Software Cost Estimation

Effort CostEffort Estimation

Cost Estimation

Size Estimation

Staffing Estimation

Duration Estimation Scheduling

13R. Akerkar - SPM

Page 14: Software project management

Organization Structureg

Functional Organization: Functional Organization: Engineers are organized into functional

groups e ggroups, e.g. specification, design, coding, testing,

maintenance etcmaintenance, etc. Engineers from functional groups get

assigned to different projectsassigned to different projects

14R. Akerkar - SPM

Page 15: Software project management

Advantages of Functional OrganizationOrganization

Specialization Specialization Ease of staffing Good documentation is produced different phases are carried out by different d e e t p ases a e ca ed out by d e e t

teams of engineers.

Helps identify errors earlier Helps identify errors earlier.

15R. Akerkar - SPM

Page 16: Software project management

Project Organizationj g

Engineers get assigned to a project for Engineers get assigned to a project for the entire duration of the project Same set of engineers carry out all the Same set of engineers carry out all the

phases Advantages: Advantages: Engineers save time on learning details of

every projectevery project. Leads to job rotation

16R. Akerkar - SPM

Page 17: Software project management

Team Structure

Problems of different complexities Problems of different complexities and sizes require different team structures:Chief-programmer teamChief programmer teamDemocratic team

Mi d i tiMixed organization

17R. Akerkar - SPM

Page 18: Software project management

Democratic Teams

Suitable for: Suitable for: small projects requiring less than five or six

iengineers research-oriented projects

A manager provides administrative leadership:p at different times different members of the

group provide technical leadership.g p p p

18R. Akerkar - SPM

Page 19: Software project management

Democratic Teams

Democratic organization provides Democratic organization provides higher morale and job satisfaction to the engineers therefore leads to less employee turnover therefore leads to less employee turnover.

Suitable for less understood problems, a group of engineers can invent better solutions a group of engineers can invent better solutions than a single individual.

19R. Akerkar - SPM

Page 20: Software project management

Democratic Teams

Di d tDisadvantage: team members may waste a lot team members may waste a lot

time arguing about trivial points: b f th it i th absence of any authority in the

team.

20R. Akerkar - SPM

Page 21: Software project management

Chief Programmer Teamg

A senior engineer providesA senior engineer provides technical leadership: partitions the task among the team

members. verifies and integrates the products

developed by the membersdeveloped by the members.

21R. Akerkar - SPM

Page 22: Software project management

Chief Programmer Teamg

Works well when Works well when the task is well understood also within the intellectual grasp of a single also within the intellectual grasp of a single

individual, importance of early completion outweighs

other factors team morale, personal development, etc.

22R. Akerkar - SPM

Page 23: Software project management

Chief Programmer Teamg

Chief programmer team is subject to Chief programmer team is subject to single point failure:

t h ibilit d th it i too much responsibility and authority is assigned to the chief programmer.

23R. Akerkar - SPM

Page 24: Software project management

Team Organizationg

Chief Programmer teamDemocratic Team

24R. Akerkar - SPM

Page 25: Software project management

Mixed team organizationg

25R. Akerkar - SPM

Page 26: Software project management

StaffingStaffing

Project Managers usually Project Managers usually take responsibility for h i th i tchoosing their team:

need to identify and select ygood software engineers for the success of the projectthe success of the project.

26R. Akerkar - SPM

Page 27: Software project management

StaffingStaffing A common misconception:p one software engineer is as productive as

another:E i t l Experiments reveal: a large variation in productivity between

the worst and best in a scale of 1 to 10the worst and best in a scale of 1 to 10. Worst engineers even help reduce the

overall productivity of the team in effect exhibit negative productivity.

27R. Akerkar - SPM

Page 28: Software project management

Who is a Good Software Engineer?

Good programming abilitiesG d k l d f h j (D i ) Good knowledge of the project areas (Domain)

Exposure to Systematic Techniques Fundamental Knowledge of Computer Science Ability to work in a team Intelligence Good communication skills:

Oral Written Interpersonal

High Motivation High Motivation

28R. Akerkar - SPM

Page 29: Software project management

Who is a Good Software Engineer? (cont.)

Studies show: these attributes vary as much as

1:30 for poor and bright candidates. Technical knowledge in the area of the

project (domain knowledge) is an important factor, determines: productivity of an individual quality of the product he develops.

29R. Akerkar - SPM

Page 30: Software project management

Who is a Good Software Engineer? (cont.)

A programmer having thorough A programmer having thorough knowledge of database applications (e g MIS):applications (e.g MIS): may turn out to be a poor data

communication engineercommunication engineer.

30R. Akerkar - SPM

Page 31: Software project management

SchedulingScheduling Scheduling is an important activity for the g y

project managers. To determine project schedule:

Identify tasks needed to complete the project. Determine the dependency among different tasks. Determine the most likely estimates for the duration Determine the most likely estimates for the duration

of the identified tasks. Plan the starting and ending dates for various

t ktasks.

31R. Akerkar - SPM

Page 32: Software project management

Work Breakdown Structure

Work Breakdown Structure (WBS) provides a notation f i kfor representing task structure: Activities are represented as nodes of a tree. The root of the tree is labelled by the problem name. Each task is broken down into smaller tasks and

represented as children nodes. It is not useful to subdivide tasks into units which take It is not useful to subdivide tasks into units which take

less than a week or two to execute. Finer subdivisions mean that a large amount of time

must be spent on estimating and chart revision.must be spent on estimating and chart revision.

32R. Akerkar - SPM

Page 33: Software project management

Work Breakdown Structure

Compiler Projectp j

DesignRequirements Code Test Write Manual

Lexer Parser Code Generator

33R. Akerkar - SPM

Page 34: Software project management

Activity Networks

WBS structure can be refined into an activity network representation: Network of boxes and arrows

h diff t t k ki j t shows different tasks making up a project, represents the ordering among the tasks.

It is important to realize that developing It is important to realize that developing WBS and activity network requires a thorough understanding of the requires a thorough understanding of the

tasks involved.

34R. Akerkar - SPM

Page 35: Software project management

Activity Network

Code Lexer

Code ParserDesign

Requirements TestCode Code Generator

Write Manual

35R. Akerkar - SPM

Page 36: Software project management

Risk Management

A risk is any unfavourable event or circumstance: which might hamper successful or timely

completion of a project.p p j Risk management:

concerned with the reduction of the impact of risks. Risk management consists of three activities: Risk management consists of three activities:

risk identification, risk assessment, and

i k t i t risk containment.

36R. Akerkar - SPM

Page 37: Software project management

Risk identification

To be able to identify various risks: y we must categorize risks into different

classes. Three main categories of risks can

affect a software project: project risks technical risks business risks

37R. Akerkar - SPM

Page 38: Software project management

Project Risksj

Project risks associated with:Project risks associated with: budget, schedule, personnel, p , resource, and

t bl customer problems.

38R. Akerkar - SPM

Page 39: Software project management

Technical Risks

Technical risks concern: requirements specification

(e.g ambiguous, incomplete, changing specifications)design problems design problems,

implementation problems, interfacing problems, g p , testing, and maintenance problems. technical uncertainty, and technical obsolescence

are technical risk factors tooare technical risk factors too.

39R. Akerkar - SPM

Page 40: Software project management

Business Risks

Business Risks include: building an excellent product that no one wants, losing budgetary or personnel commitments, etc. I i d id h “ di“ di It is a good idea to have a “company disaster “company disaster list”, list”, a list of all bad things that have happened in the a list of all bad things that have happened in the

past project managers can jog their mind to see which

it th i j t i l bl titems their project is vulnerable to.

40R. Akerkar - SPM

Page 41: Software project management

Risk assessment

Objective of risk assessment is to jprioritize the risks: Likelihood of a risk being real.

C f th bl i t d Consequence of the problems associated with that risk.

Prioritization helps in handling the mostPrioritization helps in handling the most damaging risks first. Priority of a risk is the product of the likelihood of

the risk and the consequences of the problemsthe risk and the consequences of the problems associated with that risk.

41R. Akerkar - SPM

Page 42: Software project management

Risk Handlingg

Three main strategies for risk handling: Avoid the risk: e.g. change the requirements for

performance or functionality. Transfer the risk: allocate risks to third party Transfer the risk: allocate risks to third party

or buy insurance to cover any financial loss should the risk become a reality.

Contingency planning: Prepare contingency pans Contingency planning: Prepare contingency pans to minimize the impact of the risk.

42R. Akerkar - SPM