Software Project Management Introduction to Project Management
Software Project Management
-
Upload
ayaz-shariff -
Category
Education
-
view
23 -
download
2
description
Transcript of Software Project Management
By,
Mr. Ayaz Ahmed Shariff K
Asst. Professor (Senior Grade)
BIT – UAE -Campus Ref: Software Project Management in Practics
(Processes used by Infosys, a high maturity organization, to manage software projects)
- by Pankaj Jalote
CH-1 Managing Software Projects (Ayaz Ahmed Shariff K)
Software Project Management (for BE VII Sem CSE)
Software Project Management
CH-1 Managing Software Projects (Ayaz Ahmed Shariff K)
Chapter 1: MANAGING SOFTWARE
PROJECTS
Unit 2: PROJECT PLANNING
Chapter 2: The Project Planning Infrastructure
Chapter 3: Process Planning
Chapter 4: Effort Estimation and Scheduling
Ayaz Ahmed Shariff K
Sr. Faculty, BITIC-RAK-UAE
CH-1 Managing Software Projects (Ayaz Ahmed Shariff K)
CH-1: Managing Software Projects
1.1 Managing Software Projects
CH-1 Managing Software Projects (Ayaz Ahmed Shariff K)
About half million PM execute about a million s/w projects
each year producing s/w worth $600 billion.
Why do projects fail?
PM can improve chances of success using effective project
management.
1.2 Process and Project Management
CH-1 Managing Software Projects (Ayaz Ahmed Shariff K)
S/w Project has 2 dimensions
- Engineering
- Project Management
“Project management is the application of knowledge, tools &
techniques to project activities in order to meet project
activities”
“Process is a sequence of steps that should be followed to
execute a task”
Why should PM follow Processes?
CH-1 Managing Software Projects (Ayaz Ahmed Shariff K)
Process represent collective knowledge.
We can predict much about the outcome of project at every
step.
Organization can learn effectively to with defined process.
Lowers anxiety level (checklists covers upto 80% of what
needs to be done)
1.3 CMM
CH-1 Managing Software Projects (Ayaz Ahmed Shariff K)
Objective of CMM is to distinguish b/w mature process from immature or ad-hoc process.
CMM for the s/w is a framework that was developed by the s/w Engineering institute(SEI) at Carneige Mellon University.
“the range of results that can be expected when executed using a defined process is called Process capability”
“actual result executed using the process is its process performance”
“Maturity levels are the path to higher maturity with some defined plateaus”
Maturity levels
CH-1 Managing Software Projects (Ayaz Ahmed Shariff K)
Level 1 - Initial
Level 2 - Repeatable
Level 3 - Defined
Level 4 - Managed
Level 5 - Optimizing
Maturity levels
CH-1 Managing Software Projects (Ayaz Ahmed Shariff K)
Level 2
Requirements Management
S/W project Planning & tracking
S/w Sub contracts
SQA & SCM
Level 3
Organization process focus & definition
Training program
Integrated s/w management
Peer reviews
Maturity Levels
CH-1 Managing Software Projects (Ayaz Ahmed Shariff K)
Level 4 – Managed
S/W Quality management
Quantitative Process management
Level 5 – Optimizing
Process change management
Technology change
Defect prevention
Goals for KPAs at Level 2 (repeatable)
CH-1 Managing Software Projects (Ayaz Ahmed Shariff K)
Requirement Management: S/W requirements are controlled to establish a base for SE and management activities
S/W project planning: Estimates are documented for planning the project.
S/W project Tracking: Actual results & performance are tracked against the documented plans.
S/W Subcontract: Prime and sub-contractors agree to their commitments and communicate effectively. Prime contractor tracks sub-contractor results.
SQA: SQA activities planned and applied to process standards, procedures and requirements.
SCM: SCM activities planned. Applicable to the selected work products and its changes are controlled.
Goals of KPAs at level 3 (Defined)
CH-1 Managing Software Projects (Ayaz Ahmed Shariff K)
Integrated S/W management(ISM): Project’s defined s/w
process is a tailored version of the organization’s standard
s/w process
Intergroup Coordination(IC): Groups identify, track, &
resolve intergroup issues.
Peer Reviews(PR): Peer review activities are planned to
remove defects.
Goals of KPAs at level 4 (managed)
CH-1 Managing Software Projects (Ayaz Ahmed Shariff K)
Quantitative Process management(QPM): QPM activities are
planned and process capability of the organization's standard
s/w process known in quantitative terms.
S/W Quality Management(SQM): SQM activities planned ,
goals and priorities of quality defined and managed.
1.4 Project Management at Infosys
CH-1 Managing Software Projects (Ayaz Ahmed Shariff K)
S/W house headquartered at Bangalore.
“to be a globally respected corporation that provides best-of-breed s/w solutions delivered by best-in-class people” – mission
Employs global delivery model.
Currently employs
Listed on BSE, NSE
15 development centers in 4 countries with 63 offices across world in 28 countries.
“Infosys is best-managed company in India” – FinanceAsia poll
Mr. Narayan Murthy founded Infosys in 1981 and under his leadership, Infosys listed in NASDAQ in 1999.
More than 10,000 employees working for Infosys.
Revenue is $400 million in June 2000, Rs.22000/= cr by end of mar 31, 2010.
Employs MALCOLM BALRIDGE FRAMEWORK for all round improvements.
1.5 SEPG support to Projects at Infosys
CH-1 Managing Software Projects (Ayaz Ahmed Shariff K)
Quality dept at Infosys contains the Software Engineering
Process Group(SEPG).
Responsible for coordinating all the process activities
including process definition, process improvement, and
process deployment.
SEPG facilitates the project team to follow" the right
process.
SEPG provides a training member who is associated with
project as “software quality advisor” who is well versed of
processes, guidelines, standards etc.
1.5 Project management: Infosys
CH-1 Managing Software Projects (Ayaz Ahmed Shariff K)
Senior Management involvement in Projects: PM reports to
business manager, who in turn reports to Business unit head.
Audits include PRISM and IPM(integrated project
management)
Training for Project Managers: Induction training program,
technical trainings, soft-skill programs, 5day project
management course, 2 week course on Req Specification and
Req mgmt, PMP certifications etc.
Project management process: Project planning, project
execution, project closure.
Project Manager: Project planning
activities
CH-1 Managing Software Projects (Ayaz Ahmed Shariff K)
Perform startup and administrative tasks.
Create project plan and schedule (defect prevention plan,
estimation of effort, HR, milestones, trainings, project-
tracking procedures)
Perform review of the project plan and schedule.
Obtain authorization from Senior management.
Define and review configuration management plan.
Project manager: project execution
CH-1 Managing Software Projects (Ayaz Ahmed Shariff K)
Execute project as per project plan
Track project status
Review project status
Monitor project process
Analyze defects and perform defect prevention activities.
Monitor performance
1.6 ACIC Case study
CH-1 Managing Software Projects (Ayaz Ahmed Shariff K)
ACIC corporation is multibillion dollar financial institution.
Slowly started with web-enabling applications, and it wanted
to start an online service for opening and tracking accounts.
Infosys in past developed some e-services for ACIC earlier in
project called Synergy.
Unit 2: PROJECT PLANNING
CH-1 Managing Software Projects (Ayaz Ahmed Shariff K)
CH 2: The Project Planning
Infrastructure
CH 3: Process Planning
CH 4: Effort Estimation and Scheduling
Ayaz Ahmed Shariff K
Asst. Professor, BITIC-RAK-UAE
CH-2 Project Planning Infrastructure (Ayaz Ahmed Shariff
K)
CH 2 - Project Planning Infrastructure
2.1 Key elements of Planning
Infrastructure
CH-2 Project Planning Infrastructure (Ayaz Ahmed Shariff
K)
1. Process Database (PDB): Captures the performance data of
completed projects.
2. Process Capability Baseline (PCB): Summarizes the
performance across projects.
3. Process Assets: checklists, templates, methodologies, learned
lessons.
2.2. Process Database (PDB)
CH-2 Project Planning Infrastructure (Ayaz Ahmed Shariff
K)
Permanent repository of the performance data of completed
projects.
Can be used for project planning, estimation, analysis,
quality, etc.
Capture general information like languages used, databases,
tools, size etc.
PDB is software engineering database to study the processes
at Infosys.
Contents of PDB
CH-2 Project Planning Infrastructure (Ayaz Ahmed Shariff
K)
Project characteristics
Project schedule
Project Effort
Size
Defects
Sample entry (Synergy): general
characteristics
CH-2 Project Planning Infrastructure (Ayaz Ahmed Shariff
K)
Fig2: Effort Data
CH-2 Project Planning Infrastructure (Ayaz Ahmed Shariff
K)
Fig3: Defect Data
CH-2 Project Planning Infrastructure (Ayaz Ahmed Shariff
K)
Req.
review
Design
Review
Code
Review
Testing
Requirement
s
0 0 0 1
Design 15 3 1
Coding 20 50
Fig4: Size of Data
CH-2 Project Planning Infrastructure (Ayaz Ahmed Shariff
K)
Language
Code
OS Code DBMS Code Measure
Code
Actual Size of
Code
Jave Win - LOC 5005
Persistent
Builder
Win NT DB2 LCO 10020
2.3 The Process Capability Baseline
CH-2 Project Planning Infrastructure (Ayaz Ahmed Shariff
K)
PCB at Infosys contains
Delivered Quality
Productivity
Schedule
Effort Distribution
Defect injection rate
In-process defect removal efficiency
Cost of quality
Defect distribution
PCB for Development process
CH-2 Project Planning Infrastructure (Ayaz Ahmed Shariff
K)
PCB for Development Process
CH-2 Project Planning Infrastructure (Ayaz Ahmed Shariff
K)
Parameter Outcomes Remarks Baseline
Delivered Quality Delivered Defects/FP Avg of 0.021 Defects/FP
Productivity For 3 GL
For 4 GL
Avg of 12 FP/person-
months
Avg of 50 FP/person-month
Schedule 81% of projects delivered
within + or – 10% schedule
Build Effort Build effort for Medium
program
Min-Mean-Max
2-4-6 person days
Effort Distribution Req. Analysis + Design
Testing
Code
1-15-29%
1-8-20%
14-33-52%
Defect Injection Rate Overall injection rate in
terms of Size
Avg of 0.33 Defects/FP
In-process removal
Deficiency
For entire life cycle Avg 95%
Cost of Quality Total effort 35%
PCB for Development process
CH-2 Project Planning Infrastructure (Ayaz Ahmed Shariff
K)
2.4 Process Assets
CH-2 Project Planning Infrastructure (Ayaz Ahmed Shariff
K)
“To facilitate the use of process, guidelines, checklists and
templates often provide useful support. Together these
materials are called process assets.”
Guidelines: Gives Rules and procedures for executing step.
Checklists: Activity checklist, Review checklist
Templates: provide structure of the document to capture
output of a process.
Assets for Project management
CH-2 Project Planning Infrastructure (Ayaz Ahmed Shariff
K)
2.5 Body Knowledge System
CH-2 Project Planning Infrastructure (Ayaz Ahmed Shariff
K)
BOK used to encapsulate experience.
BOK system can be web-based with keyword or author search facility.
BOK includes:
1. Computer & communication services
2. Requirement specification
3. Build, Tools
4. Methodologies, Techniques
5. Education & Research
6. Design
7. Reviews, inspection & testing
8. QA
9. Project management
Ayaz Ahmed Shariff K
Asst. Professor, BITIC-RAK-UAE
CH-3 Process Planning (Ayaz Ahmed Shariff K)
CH-3 Process Planning
3. 1 Infosys Development Process
CH-3 Process Planning (Ayaz Ahmed Shariff K)
PM decides what process should be used for engineering? Its
an crucial issue
(Process models like waterfall, prototype, etc)
Infosys adopted “The Standard process” which resembles the
waterfall model allowing parallel execution of some phases.
3.2 Standard Process Model
CH-3 Process Planning (Ayaz Ahmed Shariff K)
Phases of Standard Process model are Requirement Analysis
High-level design
Detailed Design
Build
Unit testing, Integration,
System testing and Plan
Warranty support
The standard process: Infosys
Development process
CH-3 Process Planning (Ayaz Ahmed Shariff K)
3.3 Process tailoring
CH-3 Process Planning (Ayaz Ahmed Shariff K)
A defined process must be tailored to suit the needs of the
current project.
“Tailoring is the process of adjusting a previously defined process
of an organization to obtain process that is suitable for business
or technical needs of the project”
Ex: Tailoring guidelines help a project manager to do the
activity called “do code review” to be performed only for
certain types of programs
3.3.1Summary-level Tailoring
CH-3 Process Planning (Ayaz Ahmed Shariff K)
In summary-level tailoring, depending upon the process
database, the PM applies overall guidelines for tailoring the
standard process.
The following characteristics are used for tailoring:
Experience and skill level of team and PM
Team size
Clarity of requirements
Project duration
Critical issues
3.3.2 Detailed level tailoring
//refer text book
3.4 Requirement Change Management
CH-3 Process Planning (Ayaz Ahmed Shariff K)
Requirements keep changing.. Any time, any stage in project
lifecycle.
Severe impact on the project and risk factor
Impact on cost, schedule and quality of the product.
Up to 40% of total cost.
Client may not still satisfied.
The change management process
CH-3 Process Planning (Ayaz Ahmed Shariff K)
PM decides what process model to be followed to handle change requests.
Change management process at Infosys has following steps.
1. Log the changes
2. Perform an impact analysis
3. Estimate effort for change requests
4. Re estimate the delivery schedule
5. Perform cumulative cost analysis.
6. Review the impact
7. Obtain customer sign-off
8. Rework
Example
CH-3 Process Planning (Ayaz Ahmed Shariff K)
Ayaz Ahmed Shariff K
Asst. Professor; BITIC-RAK-UAE
CH-4 Effort Estimation & Scheduling (Ayaz Ahmed Shariff
K)
CH-4 Effort Estimation and
Scheduling
Some facts about Improper estimation
CH-4 Effort Estimation & Scheduling (Ayaz Ahmed Shariff
K)
In early 2000, the newspapers and TV in India
reported with jubilation of the successful test of light
combat aircraft.
But it was 5 years late then estimated time.
Nandan Nilikeni, the MD of Infosys, answers, “No
surprises”
Estimation and Scheduling concepts
CH-4 Effort Estimation & Scheduling (Ayaz Ahmed Shariff
K)
Effort estimation takes place in the early stages of a project, may be redone later as well.
One can not precisely answer the question, “Is this estimate accurate?”
Hence the goal for a PM to obtain “Reasonable estimate”
4.0 Effort Estimation Models
CH-4 Effort Estimation & Scheduling (Ayaz Ahmed Shariff
K)
“A s/w estimation model defines the project characteristics whose values (estimates) it needs and the ways these values are used to compute the effort.”
Size of the s/q is major factor to determine the effort needed initially.
To-down approach (COCOMO), models using function points, bottom-up approach, use-case approach.
4.1 The Bottom-up Estimation
Approach
CH-4 Effort Estimation & Scheduling (Ayaz Ahmed Shariff
K)
At Infosys, bottom-up approach is preferred and
recommended.
Company employs Task-unit approach where PM first divides
the s/w development into major programs (units). Each unit
is then classified as simple, medium, complex based on
criteria. PM then decides standard effort for coding and self-
testing (together called as build effort)
The Bottom-up approach
CH-4 Effort Estimation & Scheduling (Ayaz Ahmed Shariff
K)
1. Identify the programs in the system and classify them as simple, medium, or complex (S/M/C).
1. If project-specific PCB exists, get the average build effort for S/M/C programs.
2. If PCB does not exist, use other attributes like project type, technology, language etc to look for similar projects in PDB.
3. If no similar project found in PDB and no specific PCB exists, use the average build effort for S/M/C programs from General PCB.
2. Use project-specific factors to refine the build effort for S/M/C and get the total build effort.
3. Using effort distribution given in the PCB or for similar projects from PDB, estimate the effort for other tasks and total effort.
4. Refine the estimates.
4.2 The top-down Estimation Approach
CH-4 Effort Estimation & Scheduling (Ayaz Ahmed Shariff
K)
Function-point approach is widely used and if LOC is known,
it can be converted into function points.
The inputs to top-down approach are size estimate and
estimate of productivity.
The productivity estimate is then used to calculate the total
effort estimate. From total estimate, the estimates for each
task is computed.
The top-down approach
CH-4 Effort Estimation & Scheduling (Ayaz Ahmed Shariff
K)
1. Get the estimate of the total size of s/w in function-
points.
2. Using the productivity data from project specific PCB
or general PCB or from similar projects, fix the
productivity level for the project.
3. Obtain the overall effort estimate from productivity
and size estimates.
4. Use effort distribution data from PCB or similar
projects, estimate the effort of various phases.
5. Refine the estimates
4.3 Use-Case points approach
CH-4 Effort Estimation & Scheduling (Ayaz Ahmed Shariff
K)
1. Classify each use-case as simple, medium, or complex. Basis for classification is the number of transactions per use-case (simple use-case has 3 transactions, complex has >7 and medium have 4 to 7 transactions.
2. Obtain unadjusted use-case points(UUCP) as weighted sum of factors for use-cases in application. (ie, for each use-case class, get product of the no. of use-cases and factor of complexity)
3. Compute Technical complexity factor (TCF) as given in table and rate each factor from 0 to 5. ( 0 means that the factor is no relevant to project, 5 means the factor is essential)
4. Compute Environmental factor (EF) from table and rating each factor from 0 to 5.
5. Using these two factors, compute the final use-case points (UCP) as UCP = UUCP * TCF * EF
Table1: Technical factors and weights
CH-4 Effort Estimation & Scheduling (Ayaz Ahmed Shariff
K)
Table2: Environmental factors and
weights
CH-4 Effort Estimation & Scheduling (Ayaz Ahmed Shariff
K)
4.4 Effort estimate of ACIC project
CH-4 Effort Estimation & Scheduling (Ayaz Ahmed Shariff
K)
Use-case point approach
PM has classified the 26 use-cases on classification criteria.
To estimate build effort, for the different types of use cases,
the PM used data from synergy project. Synergy project has
21 simple, 11 medium, and 8 complex use-cases
Total build effort was 143 person-days, with average build
effort of 1 person-days, 5 p-d, and 8 p-d for simple, medium
and complex use-cases.
Table3: use-cases for ACIC project
CH-4 Effort Estimation & Scheduling (Ayaz Ahmed Shariff
K)
Table4: Build effort for ACIC project
CH-4 Effort Estimation & Scheduling (Ayaz Ahmed Shariff
K)
Use-Case type Effort (per use-
case, in person-
days)
No. of Units Total Build-effort
(person-days)
Simple 1 5 5
Medium 5 9 45
Complex 8 12 96
Total= 146
Table5: Estimated effort for the ACIC
project
CH-4 Effort Estimation & Scheduling (Ayaz Ahmed Shariff
K)
4.6 Scheduling
CH-4 Effort Estimation & Scheduling (Ayaz Ahmed Shariff
K)
The scheduling activity at Infosys is broken into two sub-
activities:
- Determining the overall schedule
- Development of detailed schedule of the various tasks
4.6.1 Overall Scheduling
CH-4 Effort Estimation & Scheduling (Ayaz Ahmed Shariff
K)
Project managers often use a rule of thumb, called the Square-
Root check, to check the schedule of medium sized projects.
Square root of the total effort in person-months;
SQRT(effort)
For ex: if effort estimate is 50 person-months, a schedule of about 7 or 8 months
will be suitable for 7 to 8 resources (people)
Once overall duration of project is fixed, the schedule for the major milestones
must be determined.
Overall Scheduling
CH-4 Effort Estimation & Scheduling (Ayaz Ahmed Shariff
K)
To determine the milestones, manpower ramp-up is to be
understood.
Rayleigh curve is followed (fig 4.3)
Peak team size (PTS) may reach during middle of the project.
Generally design requires about 40% (20% for HLD, 20%
LLD) coding 40 % and Testing 20%
CH-4 Effort Estimation & Scheduling (Ayaz Ahmed Shariff
K)
RELAX>>>>>>>>>>>>>>>>>>>>>>>>
3 Cats
A young girl enters a pet shop to buy a cat. The pet shop worker shows her three cats that look identical.
"This cat here costs $1,000," he explains.
"Why does that cat cost so much?" the girl asks.
"This cat knows how to complete legal research," the pet shop worker explains.
The girl asks about the cat in the middle, and the pet shop owner explains that the middle cat costs $2,000
because it knows legal research and can win any case.
The girl is curious and asks about the third cat.
"That one is $5,000.“
"Well, what can this cat do?" asks the girl.
"Honeslty, I have no idea. I have never even seen it do anything at all, but it says it's a Project Manager."
4.6.2 Detailed Scheduling
CH-4 Effort Estimation & Scheduling (Ayaz Ahmed Shariff
K)
Once milestones are fixed, it is time to set detailed
scheduling. PM breaks the tasks into small schedulable
activities in a hierarchical manner.
For each detailed task, the PM estimates the time required to
complete it and assigns a suitable resource to meet overall
schedule.
Detailed project schedule is never static.
Detailed scheduling
CH-4 Effort Estimation & Scheduling (Ayaz Ahmed Shariff
K)
Factors considered while assigning resources: i. Leave plans of team members
ii. Personnel growth plans
iii. Career paths
iv. Skill sets and experience
v. Training
vi. Critical factors of the task
If the detailed schedule is not consistent with overall schedule and effort
estimate, she must change the detailed schedule.
Note: For detailed scheduling, PM use Microsoft Project or spreadsheet.
4.6.3 Schedule of ACIC project
CH-4 Effort Estimation & Scheduling (Ayaz Ahmed Shariff
K)
Thank You --------
By,
Ayaz Ahmed Shariff K
twitter: #ayazahmedsk
CH-1 Managing Software Projects (Ayaz Ahmed Shariff K)