Software project management
-
Upload
rajendra-akerkar -
Category
Technology
-
view
5.071 -
download
0
description
Transcript of Software project management
![Page 1: Software project management](https://reader034.fdocuments.in/reader034/viewer/2022052617/5465eb52af7959f12b8b47ed/html5/thumbnails/1.jpg)
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](https://reader034.fdocuments.in/reader034/viewer/2022052617/5465eb52af7959f12b8b47ed/html5/thumbnails/2.jpg)
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](https://reader034.fdocuments.in/reader034/viewer/2022052617/5465eb52af7959f12b8b47ed/html5/thumbnails/3.jpg)
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](https://reader034.fdocuments.in/reader034/viewer/2022052617/5465eb52af7959f12b8b47ed/html5/thumbnails/4.jpg)
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](https://reader034.fdocuments.in/reader034/viewer/2022052617/5465eb52af7959f12b8b47ed/html5/thumbnails/5.jpg)
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](https://reader034.fdocuments.in/reader034/viewer/2022052617/5465eb52af7959f12b8b47ed/html5/thumbnails/6.jpg)
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](https://reader034.fdocuments.in/reader034/viewer/2022052617/5465eb52af7959f12b8b47ed/html5/thumbnails/7.jpg)
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](https://reader034.fdocuments.in/reader034/viewer/2022052617/5465eb52af7959f12b8b47ed/html5/thumbnails/8.jpg)
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](https://reader034.fdocuments.in/reader034/viewer/2022052617/5465eb52af7959f12b8b47ed/html5/thumbnails/9.jpg)
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](https://reader034.fdocuments.in/reader034/viewer/2022052617/5465eb52af7959f12b8b47ed/html5/thumbnails/10.jpg)
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](https://reader034.fdocuments.in/reader034/viewer/2022052617/5465eb52af7959f12b8b47ed/html5/thumbnails/11.jpg)
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](https://reader034.fdocuments.in/reader034/viewer/2022052617/5465eb52af7959f12b8b47ed/html5/thumbnails/12.jpg)
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](https://reader034.fdocuments.in/reader034/viewer/2022052617/5465eb52af7959f12b8b47ed/html5/thumbnails/13.jpg)
Software Cost Estimation
Effort CostEffort Estimation
Cost Estimation
Size Estimation
Staffing Estimation
Duration Estimation Scheduling
13R. Akerkar - SPM
![Page 14: Software project management](https://reader034.fdocuments.in/reader034/viewer/2022052617/5465eb52af7959f12b8b47ed/html5/thumbnails/14.jpg)
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](https://reader034.fdocuments.in/reader034/viewer/2022052617/5465eb52af7959f12b8b47ed/html5/thumbnails/15.jpg)
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](https://reader034.fdocuments.in/reader034/viewer/2022052617/5465eb52af7959f12b8b47ed/html5/thumbnails/16.jpg)
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](https://reader034.fdocuments.in/reader034/viewer/2022052617/5465eb52af7959f12b8b47ed/html5/thumbnails/17.jpg)
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](https://reader034.fdocuments.in/reader034/viewer/2022052617/5465eb52af7959f12b8b47ed/html5/thumbnails/18.jpg)
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](https://reader034.fdocuments.in/reader034/viewer/2022052617/5465eb52af7959f12b8b47ed/html5/thumbnails/19.jpg)
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](https://reader034.fdocuments.in/reader034/viewer/2022052617/5465eb52af7959f12b8b47ed/html5/thumbnails/20.jpg)
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](https://reader034.fdocuments.in/reader034/viewer/2022052617/5465eb52af7959f12b8b47ed/html5/thumbnails/21.jpg)
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](https://reader034.fdocuments.in/reader034/viewer/2022052617/5465eb52af7959f12b8b47ed/html5/thumbnails/22.jpg)
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](https://reader034.fdocuments.in/reader034/viewer/2022052617/5465eb52af7959f12b8b47ed/html5/thumbnails/23.jpg)
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](https://reader034.fdocuments.in/reader034/viewer/2022052617/5465eb52af7959f12b8b47ed/html5/thumbnails/24.jpg)
Team Organizationg
Chief Programmer teamDemocratic Team
24R. Akerkar - SPM
![Page 25: Software project management](https://reader034.fdocuments.in/reader034/viewer/2022052617/5465eb52af7959f12b8b47ed/html5/thumbnails/25.jpg)
Mixed team organizationg
25R. Akerkar - SPM
![Page 26: Software project management](https://reader034.fdocuments.in/reader034/viewer/2022052617/5465eb52af7959f12b8b47ed/html5/thumbnails/26.jpg)
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](https://reader034.fdocuments.in/reader034/viewer/2022052617/5465eb52af7959f12b8b47ed/html5/thumbnails/27.jpg)
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](https://reader034.fdocuments.in/reader034/viewer/2022052617/5465eb52af7959f12b8b47ed/html5/thumbnails/28.jpg)
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](https://reader034.fdocuments.in/reader034/viewer/2022052617/5465eb52af7959f12b8b47ed/html5/thumbnails/29.jpg)
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](https://reader034.fdocuments.in/reader034/viewer/2022052617/5465eb52af7959f12b8b47ed/html5/thumbnails/30.jpg)
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](https://reader034.fdocuments.in/reader034/viewer/2022052617/5465eb52af7959f12b8b47ed/html5/thumbnails/31.jpg)
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](https://reader034.fdocuments.in/reader034/viewer/2022052617/5465eb52af7959f12b8b47ed/html5/thumbnails/32.jpg)
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](https://reader034.fdocuments.in/reader034/viewer/2022052617/5465eb52af7959f12b8b47ed/html5/thumbnails/33.jpg)
Work Breakdown Structure
Compiler Projectp j
DesignRequirements Code Test Write Manual
Lexer Parser Code Generator
33R. Akerkar - SPM
![Page 34: Software project management](https://reader034.fdocuments.in/reader034/viewer/2022052617/5465eb52af7959f12b8b47ed/html5/thumbnails/34.jpg)
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](https://reader034.fdocuments.in/reader034/viewer/2022052617/5465eb52af7959f12b8b47ed/html5/thumbnails/35.jpg)
Activity Network
Code Lexer
Code ParserDesign
Requirements TestCode Code Generator
Write Manual
35R. Akerkar - SPM
![Page 36: Software project management](https://reader034.fdocuments.in/reader034/viewer/2022052617/5465eb52af7959f12b8b47ed/html5/thumbnails/36.jpg)
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](https://reader034.fdocuments.in/reader034/viewer/2022052617/5465eb52af7959f12b8b47ed/html5/thumbnails/37.jpg)
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](https://reader034.fdocuments.in/reader034/viewer/2022052617/5465eb52af7959f12b8b47ed/html5/thumbnails/38.jpg)
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](https://reader034.fdocuments.in/reader034/viewer/2022052617/5465eb52af7959f12b8b47ed/html5/thumbnails/39.jpg)
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](https://reader034.fdocuments.in/reader034/viewer/2022052617/5465eb52af7959f12b8b47ed/html5/thumbnails/40.jpg)
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](https://reader034.fdocuments.in/reader034/viewer/2022052617/5465eb52af7959f12b8b47ed/html5/thumbnails/41.jpg)
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](https://reader034.fdocuments.in/reader034/viewer/2022052617/5465eb52af7959f12b8b47ed/html5/thumbnails/42.jpg)
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