Your SlideShare is downloading. ×
Software Project Management
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Introducing the official SlideShare app

Stunning, full-screen experience for iPhone and Android

Text the download link to your phone

Standard text messaging rates apply

Software Project Management

1,168
views

Published on

Presentation describes about process planning procedures & software project management methods employed in Infosys with reference from Textbook "Software Project management in practice by Pankaj …

Presentation describes about process planning procedures & software project management methods employed in Infosys with reference from Textbook "Software Project management in practice by Pankaj Jalote"

Published in: Education, Business, Technology

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
1,168
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
82
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Software Project Management (for BE VII Sem CSE) 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 JaloteCH-1 Managing Software Projects (Ayaz Ahmed Shariff K)
  • 2. Software Project ManagementChapter 1: MANAGING SOFTWARE PROJECTSUnit 2: PROJECT PLANNING Chapter 2: The Project Planning Infrastructure Chapter 3: Process Planning Chapter 4: Effort Estimation and SchedulingCH-1 Managing Software Projects (Ayaz Ahmed Shariff K)
  • 3. CH-1: Managing Software Projects Ayaz Ahmed Shariff K Sr. Faculty, BITIC-RAK-UAECH-1 Managing Software Projects (Ayaz Ahmed Shariff K)
  • 4. 1.1 Managing Software Projects 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.CH-1 Managing Software Projects (Ayaz Ahmed Shariff K)
  • 5. 1.2 Process and Project Management 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”CH-1 Managing Software Projects (Ayaz Ahmed Shariff K)
  • 6. Why should PM follow Processes? 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)CH-1 Managing Software Projects (Ayaz Ahmed Shariff K)
  • 7. 1.3 CMM 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”CH-1 Managing Software Projects (Ayaz Ahmed Shariff K)
  • 8. Maturity levels Level 1 - Initial Level 2 - Repeatable Level 3 - Defined Level 4 - Managed Level 5 - OptimizingCH-1 Managing Software Projects (Ayaz Ahmed Shariff K)
  • 9. Maturity levelsLevel 2 Requirements Management S/W project Planning & tracking S/w Sub contracts SQA & SCMLevel 3 Organization process focus & definition Training program Integrated s/w management Peer reviewsCH-1 Managing Software Projects (Ayaz Ahmed Shariff K)
  • 10. Maturity Levels Level 4 – Managed S/W Quality management Quantitative Process management Level 5 – Optimizing Process change management Technology change Defect preventionCH-1 Managing Software Projects (Ayaz Ahmed Shariff K)
  • 11. Goals for KPAs at Level 2 (repeatable) 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.CH-1 Managing Software Projects (Ayaz Ahmed Shariff K)
  • 12. Goals of KPAs at level 3 (Defined) 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.CH-1 Managing Software Projects (Ayaz Ahmed Shariff K)
  • 13. Goals of KPAs at level 4 (managed) Quantitative Process management(QPM): QPM activities are planned and process capability of the organizations standard s/w process known in quantitative terms. S/W Quality Management(SQM): SQM activities planned , goals and priorities of quality defined and managed.CH-1 Managing Software Projects (Ayaz Ahmed Shariff K)
  • 14. 1.4 Project Management at Infosys 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.CH-1 Managing Software Projects (Ayaz Ahmed Shariff K)
  • 15. 1.5 SEPG support to Projects at Infosys 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.CH-1 Managing Software Projects (Ayaz Ahmed Shariff K)
  • 16. 1.5 Project management: Infosys 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.CH-1 Managing Software Projects (Ayaz Ahmed Shariff K)
  • 17. Project Manager: Project planningactivities 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.CH-1 Managing Software Projects (Ayaz Ahmed Shariff K)
  • 18. Project manager: project execution Execute project as per project plan Track project status Review project status Monitor project process Analyze defects and perform defect prevention activities. Monitor performanceCH-1 Managing Software Projects (Ayaz Ahmed Shariff K)
  • 19. 1.6 ACIC Case study 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.CH-1 Managing Software Projects (Ayaz Ahmed Shariff K)
  • 20. Unit 2: PROJECT PLANNINGCH 2: The Project Planning InfrastructureCH 3: Process PlanningCH 4: Effort Estimation and SchedulingCH-1 Managing Software Projects (Ayaz Ahmed Shariff K)
  • 21. CH 2 - Project Planning Infrastructure Ayaz Ahmed Shariff K Asst. Professor, BITIC-RAK-UAE CH-2 Project Planning Infrastructure (Ayaz Ahmed Shariff K)
  • 22. 2.1 Key elements of PlanningInfrastructure1. 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.CH-2 Project Planning Infrastructure (Ayaz Ahmed ShariffK)
  • 23. 2.2. Process Database (PDB) 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.CH-2 Project Planning Infrastructure (Ayaz Ahmed ShariffK)
  • 24. Contents of PDB Project characteristics Project schedule Project Effort Size DefectsCH-2 Project Planning Infrastructure (Ayaz Ahmed ShariffK)
  • 25. Sample entry (Synergy): generalcharacteristicsCH-2 Project Planning Infrastructure (Ayaz Ahmed ShariffK)
  • 26. Fig2: Effort DataCH-2 Project Planning Infrastructure (Ayaz Ahmed ShariffK)
  • 27. Fig3: Defect Data Req. Design Code Testing review Review ReviewRequirement 0 0 0 1sDesign 15 3 1Coding 20 50CH-2 Project Planning Infrastructure (Ayaz Ahmed ShariffK)
  • 28. Fig4: Size of DataLanguage OS Code DBMS Code Measure Actual Size ofCode Code CodeJave Win - LOC 5005Persistent Win NT DB2 LCO 10020BuilderCH-2 Project Planning Infrastructure (Ayaz Ahmed ShariffK)
  • 29. 2.3 The Process Capability BaselinePCB at Infosys contains Delivered Quality Productivity Schedule Effort Distribution Defect injection rate In-process defect removal efficiency Cost of quality Defect distributionCH-2 Project Planning Infrastructure (Ayaz Ahmed ShariffK)
  • 30. PCB for Development processCH-2 Project Planning Infrastructure (Ayaz Ahmed ShariffK)
  • 31. PCB for Development ProcessParameter Outcomes Remarks BaselineDelivered Quality Delivered Defects/FP Avg of 0.021 Defects/FPProductivity For 3 GL Avg of 12 FP/person- months For 4 GL Avg of 50 FP/person-monthSchedule 81% of projects delivered within + or – 10% scheduleBuild Effort Build effort for Medium Min-Mean-Max program 2-4-6 person daysEffort Distribution Req. Analysis + Design 1-15-29% Testing 1-8-20% Code 14-33-52%Defect Injection Rate Overall injection rate in Avg of 0.33 Defects/FP terms of SizeIn-process removal For entire life cycle Avg 95%CH-2 Project Planning Infrastructure (Ayaz Ahmed ShariffDeficiencyK)Cost of Quality Total effort 35%
  • 32. PCB for Development processCH-2 Project Planning Infrastructure (Ayaz Ahmed ShariffK)
  • 33. 2.4 Process Assets “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.CH-2 Project Planning Infrastructure (Ayaz Ahmed ShariffK)
  • 34. Assets for Project managementCH-2 Project Planning Infrastructure (Ayaz Ahmed ShariffK)
  • 35. 2.5 Body Knowledge System BOK used to encapsulate experience. BOK system can be web-based with keyword or author search facility. BOK includes:1. Computer & communication services2. Requirement specification3. Build,Tools4. Methodologies,Techniques5. Education & Research6. Design7. Reviews, inspection & testing8. QA9. Project managementCH-2 Project Planning Infrastructure (Ayaz Ahmed ShariffK)
  • 36. CH-3 Process Planning Ayaz Ahmed Shariff K Asst. Professor, BITIC-RAK-UAECH-3 Process Planning (Ayaz Ahmed Shariff K)
  • 37. 3. 1 Infosys Development Process 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.CH-3 Process Planning (Ayaz Ahmed Shariff K)
  • 38. 3.2 Standard Process ModelPhases of Standard Process model are  Requirement Analysis  High-level design  Detailed Design  Build  Unit testing, Integration,  System testing and Plan  Warranty supportCH-3 Process Planning (Ayaz Ahmed Shariff K)
  • 39. The standard process: InfosysDevelopment processCH-3 Process Planning (Ayaz Ahmed Shariff K)
  • 40. 3.3 Process tailoring 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 programsCH-3 Process Planning (Ayaz Ahmed Shariff K)
  • 41. 3.3.1Summary-level Tailoring 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 issuesCH-3 Process Planning (Ayaz Ahmed Shariff K)
  • 42. 3.3.2 Detailed level tailoring //refer text book
  • 43. 3.4 Requirement Change Management 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.CH-3 Process Planning (Ayaz Ahmed Shariff K)
  • 44. The change management process 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. ReworkCH-3 Process Planning (Ayaz Ahmed Shariff K)
  • 45. ExampleCH-3 Process Planning (Ayaz Ahmed Shariff K)
  • 46. CH-4 Effort Estimation and Scheduling Ayaz Ahmed Shariff K Asst. Professor; BITIC-RAK-UAECH-4 Effort Estimation & Scheduling (Ayaz Ahmed ShariffK)
  • 47. Some facts about Improper estimation 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”CH-4 Effort Estimation & Scheduling (Ayaz Ahmed ShariffK)
  • 48. Estimation and Scheduling concepts 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”CH-4 Effort Estimation & Scheduling (Ayaz Ahmed ShariffK)
  • 49. 4.0 Effort Estimation Models “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.CH-4 Effort Estimation & Scheduling (Ayaz Ahmed ShariffK)
  • 50. 4.1 The Bottom-up EstimationApproach 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)CH-4 Effort Estimation & Scheduling (Ayaz Ahmed ShariffK)
  • 51. The Bottom-up approach1. 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.CH-4 Effort Estimation & Scheduling (Ayaz Ahmed ShariffK)
  • 52. 4.2 The top-down Estimation Approach 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.CH-4 Effort Estimation & Scheduling (Ayaz Ahmed ShariffK)
  • 53. The top-down approach1. 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 estimatesCH-4 Effort Estimation & Scheduling (Ayaz Ahmed ShariffK)
  • 54. 4.3 Use-Case points approach1. 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 * EFCH-4 Effort Estimation & Scheduling (Ayaz Ahmed ShariffK)
  • 55. Table1: Technical factors and weightsCH-4 Effort Estimation & Scheduling (Ayaz Ahmed ShariffK)
  • 56. Table2: Environmental factors andweightsCH-4 Effort Estimation & Scheduling (Ayaz Ahmed ShariffK)
  • 57. 4.4 Effort estimate of ACIC project 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.CH-4 Effort Estimation & Scheduling (Ayaz Ahmed ShariffK)
  • 58. Table3: use-cases for ACIC projectCH-4 Effort Estimation & Scheduling (Ayaz Ahmed ShariffK)
  • 59. Table4: Build effort for ACIC projectUse-Case type Effort (per use- No. of Units Total Build-effort case, in person- (person-days) days)Simple 1 5 5Medium 5 9 45Complex 8 12 96 Total= 146 CH-4 Effort Estimation & Scheduling (Ayaz Ahmed Shariff K)
  • 60. Table5: Estimated effort for the ACICprojectCH-4 Effort Estimation & Scheduling (Ayaz Ahmed ShariffK)
  • 61. 4.6 Scheduling The scheduling activity at Infosys is broken into two sub- activities: - Determining the overall schedule - Development of detailed schedule of the various tasksCH-4 Effort Estimation & Scheduling (Ayaz Ahmed ShariffK)
  • 62. 4.6.1 Overall Scheduling 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.CH-4 Effort Estimation & Scheduling (Ayaz Ahmed ShariffK)
  • 63. Overall Scheduling 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 ShariffK)
  • 64. RELAX>>>>>>>>>>>>>>>>>>>>>>>>3 CatsA 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,000because 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 its a Project Manager." CH-4 Effort Estimation & Scheduling (Ayaz Ahmed Shariff K)
  • 65. 4.6.2 Detailed Scheduling 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.CH-4 Effort Estimation & Scheduling (Ayaz Ahmed ShariffK)
  • 66. Detailed scheduling 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.CH-4 Effort Estimation & Scheduling (Ayaz Ahmed ShariffK)
  • 67. 4.6.3 Schedule of ACIC projectCH-4 Effort Estimation & Scheduling (Ayaz Ahmed ShariffK)
  • 68. Thank You --------By, Ayaz Ahmed Shariff K twitter: #ayazahmedskCH-1 Managing Software Projects (Ayaz Ahmed Shariff K)