Software Project Management – Software Engineering
What is a Project?  Any work with a fixed start/end date, is temporary and unique in nature.
What is a Product?  A Product is anything that can be offered to a market to solve a problem or satisfy a want or need. It has a life cycle with multiple stages. A product is conceived, developed, introduced and managed in the market, and retired when the need for it diminishes. A product can only be developed within the context of a project, and multiple projects can occur within a product’s life cycle.
What is Project Management?  Project management is a methodical approach to planning and guiding project processes from start to finish
What is Software Project Life Cycle  Software Project Life Cycle is as follow:
What is a Product Life Cycle?
What is Project Management Life Cycle?  Initiation  Planning  Executing  Monitoring and Controlling  Closing
Software Project  A Software Project is the complete procedure of software development from requirement gathering to testing and maintenance, carried out according to the execution methodologies, in a specified period of time to achieve intended software product.
Need of Software Project Management  Software is said to be an intangible product. Software development is a kind of all new stream in world business and there’s very little experience in building software products. Most software products are tailor made to fit client’s requirements. The most important is that the underlying technology changes and advances so frequently and rapidly that experience of one product may not be applied to the other one. All such business and environmental constraints bring risk in software development hence it is essential to manage software projects efficiently.
Software Triple Constraints The image above shows triple constraints for software projects. It is an essential part of software organization to deliver quality product, keeping the cost within client’s budget constrain and deliver the project as per scheduled. There are several factors, both internal and external, which may impact this triple constrain triangle. Any of three factor can severely impact the other two. Therefore, software project management is essential to incorporate user requirements along with budget and time constraints.
Software Project Manager  A software project manager is a person who undertakes the responsibility of executing the software project. Software project manager is thoroughly aware of all the phases of SDLC that the software would go through. Project manager may never directly involve in producing the end product but he controls and manages the activities involved in production.  A project manager closely monitors the development process, prepares and executes various plans, arranges necessary and adequate resources, maintains communication among all team members in order to address issues of cost, budget, resources, time, quality and customer satisfaction.
Project Manager’s Responsibilities Managing People  Act as project leader  Liaison with stakeholders  Managing human resources  Setting up reporting hierarchy etc. Managing Project  Defining and setting up project scope  Managing project management activities  Monitoring progress and performance  Risk analysis at every phase  Take necessary step to avoid or come out of problems  Act as project spokesperson
Software Project Activities  Software project management comprises of a number of activities, which contains planning of project, deciding scope of software product, estimation of cost in various terms, scheduling of tasks and events, and resource management. Project management activities may include:  Project Planning  Scope Management  Project Estimation
Project Planning  Software project planning is task, which is performed before the production of software actually starts. It is there for the software production but involves no concrete activity that has any direction connection with software production; rather it is a set of multiple processes, which facilitates software production.
Scope Management  It defines the scope of project; this includes all the activities, process need to be done in order to make a deliverable software product. Scope management is essential because it creates boundaries of the project by clearly defining what would be done in the project and what would not be done. This makes project to contain limited and quantifiable tasks, which can easily be documented and in turn avoids cost and time overrun.  During Project Scope management, it is necessary to -  Define the scope  Decide its verification and control  Divide the project into various smaller parts for ease of management.  Verify the scope  Control the scope by incorporating changes to the scope
Project Estimation  For an effective management accurate estimation of various measures is a must. With correct estimation managers can manage and control the project more efficiently and effectively.  Project estimation may involve the following:  Software size estimationSoftware size may be estimated either in terms of KLOC (Kilo Line of Code) or by calculating number of function points in the software. Lines of code depend upon coding practices and Function points vary according to the user or software requirement.
 Effort estimationThe managers estimate efforts in terms of personnel requirement and man-hour required to produce the software. For effort estimation software size should be known. This can either be derived by managers’ experience, organization’s historical data or software size can be converted into efforts by using some standard formulae.  Time estimationOnce size and efforts are estimated, the time required to produce the software can be estimated. Efforts required is segregated into sub categories as per the requirement specifications and interdependency of various components of software. Software tasks are divided into smaller tasks, activities or events by Work Breakthrough Structure (WBS). The tasks are scheduled on day-to-day basis or in calendar months. The sum of time required to complete all tasks in hours or days is the total time invested to complete the project.
 Cost estimationThis might be considered as the most difficult of all because it depends on more elements than any of the previous ones. For estimating project cost, it is required to consider - ◦ Size of software ◦ Software quality ◦ Hardware ◦ Additional software or tools, licenses etc. ◦ Skilled personnel with task-specific skills ◦ Travel involved ◦ Communication ◦ Training and support
Cost Estimation Numericals
Numerical  You have a project to build a new mobile app. The app has four screens. Each screen is to take one day to build and is budgeted for $1,000 per screen. The screen are planned to be completed one after the other. Today is the end of day three. Calculate PV, EV, AC, BAC, CV, CPI, SV, SPI, EAC, ETC, and VAC
To be continued….
Project Estimation (Costing)  You are the project manager and want to calculate TCPI based on EAC for your project. The data you have with you is BAC: $ 135,000, earned value for your project : $ 45,000, actual costs : $ 70,000 and EAC is $130,000. What is the TCPI that you will get from these values?
Solution:  Solution:  TCPI = (BAC – EV) / (BAC – AC)  = (135,000 – 45,000) / (135,000 – 70,000)  = 90,000/ 65,000  = 25,000
 What is your SPI if your CV is $15,000, your SV is -$4,000, and your PV is $100,000?
Solution:  Solution:  SV= EV-PV  -4000= EV – 100,000  -4000 + 100,000 = EV  96,000 = EV  SPI = EV/PV  = 96,000/100,000  =0.96
 In the latest earned value report for your project, you see the CPI is 1.4, the SPI is 0.6, the PV is $500,000, and the SV is -$120,000. You can’t find the CV in the report, so you need to calculate it based on the information given. What is the CV?
 Solution:  SV = EV – PV  -120,000 + 500,000= EV  380,000 = EV  CPI = EV/AC  1.4 = 380,000/AC  AC= $ 271428.57   CV= EV-AC  = 380,000 – 271428.57  CV= -108571.43 
Project Scheduling  Project Scheduling in a project refers to roadmap of all activities to be done with specified order and within time slot allotted to each activity.  Project managers tend to define various tasks, and project milestones and them arrange them keeping various factors in mind.  They look for tasks lie in critical path in the schedule, which are necessary to complete in specific manner (because of task interdependency) and strictly within the time allocated.  Arrangement of tasks which lies out of critical path are less likely to impact over all schedule of the project.
For scheduling a project, it is necessary to -  Break down the project tasks into smaller, manageable form  Find out various tasks and correlate them  Estimate time frame required for each task  Divide time into work-units  Assign adequate number of work-units for each task  Calculate total time required for the project from start to finish
How to Schedule/Sequence Activities?
Network diagram shows just dependencies (logical relationships) • If activity duration estimates (estimates) are added, the network diagram could also show the critical path
Methods to draw Network Diagram • In past, the Precedence Diagramming Method (PDM), the Arrow Diagramming Method (ADM), and the GERT method were commonly used to draw network diagram. • Today most network diagrams are created using PDM
Types of Dependencies  The sequence of activities is determined based on the following dependencies:  Mandatory Dependency (Hard Logic): The dependency is inherent in the nature of the work being done or required by the contract (e.g., you must design before construct)  Discretionary dependency (Preferred, Preferential, Soft Logic): This dependency is determined by the project team. Discretionary dependency can be changed if needed, while other types of dependencies cannot be easily changed. Discretionary dependencies are important when analyzing how to shorten or re- sequence the project to decrease the project duration (fast track the project)  External Dependency: This dependency is based on the needs or desires of a party outside the project (e.g., government or supplier)
Leads and Lags in Network Diagram • A lead may be added to start an activity before the predecessor activity is completed. For example, a coding might be able to start five days before the design is finished • A lag is inserted waiting time between activities, such as needing to wait three days after pouring concrete before constructing the frame for the house.
Network Diagram
Example Network Diagram  You are the project manager for a new project and have figured out the following dependencies:  Activity 1 can start immediately and has an estimated duration of 3 weeks  Activity 2 can start after Activity 1 is completed and has an estimated duration of 3 weeks  Activity 3 can start after Activity 1 is completed and has an estimated duration of 6 weeks  Activity 4 can start after activity 2 is completed and has an estimated duration of 8 weeks  Activity 5 can start after Activity 4 is
1. What is the duration of the critical path? (Ans: 18) 2. What is float of activity 3? (Ans: 5) 3. What is the float of activity 2? (Ans: 0) 4. What is the float of the path with longest float? (two paths .. 18-13 =5)
Three Point/Pert Estimation  Expected Activity Duration:  (P+4M+O)/6  Activity Standard Deviation:  (P-O)/6  Activity Variance:  [(P-O)/6]2  Range for an Individual Activity Estimate:  EAD+/- SD (Start of the range EAD-SD and end of the range is EAD+SD)
Activity P M O Pert (Expect ed Duration ) Activity SD Activity Variance Range of the estimate A 47 27 14 B 89 60 41 C 48 44 39 D 42 37 29
Activity P M O Pert (Expect ed Duration ) Activity SD Activity Variance Range of the estimate A 47 27 14 28.167 5.500 30.250 22.667 to 33.667 or 28.167 +/- 5.500 B 89 60 41 61.667 8.000 64.000 53.667 to 69.667 C 48 44 39 43.833 1.500 2.250 42.333 to 45.333 D 42 37 29 36.500 2.167 4.696 34.333 to 38.667
Review Costing and Network Diagram
Using the following information: Activity A has duration of 3 weeks and is the first activity with no predecessor Activity D has duration of 4 weeks and is the first activity with no predecessor Activity F has duration of 8 weeks and has predecessors Activity A and D Activity E has duration of 9 weeks and has predecessor Activity D Activity B has duration of 4 weeks and has predecessor Activity F Activity G has duration of 4 weeks and has predecessors Activity E and F Activity H has duration of 2 weeks and predecessor Activity G Activity C has duration of 7 weeks and predecessor Activity H Draw Network Diagram Find all the paths and the critical path Float on Activity A, C, and G Find the Early Start of Activity H Find the Late Finish of Activity B The stakeholders have decided to remove Activity F from the project, and making Activity B the predecessor of Activity G. What will be the effect on the project?
Activity Preceding Activity Duration A ---- 3 Weeks B A 3 Weeks C A 6 Weeks D B 8 Weeks E C,D 4 Weeks
 Draw the Network Diagram.  Find out all the paths and the critical path  What is the duration of the critical path  What is the float of Activity B and Activity C?  The resource working on activity 3 is replaced with another resource who is less experienced. The activity will now take 10 Weeks. How will this affect the project?  After some argument between stakeholders, a new activity ‘F’ is added to the project. It will take 11 Weeks to complete and must be completed before activity ‘E’ and ‘C’. Management is concerned that adding the activity will add 11 weeks to the project. Another stakeholder argues that the time will be less than 11 weeks. Who is correct? Use the original information (without the change to activity ‘C’ listed in the original question) to answer this question.  Based on the information in part f), how much longer will the project take?
 Activity B: Float 0  Activity C: Float 5  It will have no effect. The length of activities, A, C and E is 13. Adding 4 more weeks to the length of activity C will make that path 17. Since that path is still shorter than the critical path, the critical path does not change. The length of the critical path is still 18 weeks because activity C is not on the critical path.  The stakeholder who says the time will be less than 11 weeks is correct. The new activity will be added to the non-critical path that has float of 5 weeks. Therefore, adding 11 weeks will make this path the new critical path. The overall effect of adding 11 weeks will be a delay to the project of 6 weeks.  The project will take 6 weeks longer.

Software project management- Software Engineering

  • 1.
    Software Project Management –Software Engineering
  • 2.
    What is aProject?  Any work with a fixed start/end date, is temporary and unique in nature.
  • 3.
    What is aProduct?  A Product is anything that can be offered to a market to solve a problem or satisfy a want or need. It has a life cycle with multiple stages. A product is conceived, developed, introduced and managed in the market, and retired when the need for it diminishes. A product can only be developed within the context of a project, and multiple projects can occur within a product’s life cycle.
  • 4.
    What is ProjectManagement?  Project management is a methodical approach to planning and guiding project processes from start to finish
  • 5.
    What is SoftwareProject Life Cycle  Software Project Life Cycle is as follow:
  • 6.
    What is aProduct Life Cycle?
  • 7.
    What is ProjectManagement Life Cycle?  Initiation  Planning  Executing  Monitoring and Controlling  Closing
  • 8.
    Software Project  ASoftware Project is the complete procedure of software development from requirement gathering to testing and maintenance, carried out according to the execution methodologies, in a specified period of time to achieve intended software product.
  • 9.
    Need of SoftwareProject Management  Software is said to be an intangible product. Software development is a kind of all new stream in world business and there’s very little experience in building software products. Most software products are tailor made to fit client’s requirements. The most important is that the underlying technology changes and advances so frequently and rapidly that experience of one product may not be applied to the other one. All such business and environmental constraints bring risk in software development hence it is essential to manage software projects efficiently.
  • 10.
    Software Triple Constraints Theimage above shows triple constraints for software projects. It is an essential part of software organization to deliver quality product, keeping the cost within client’s budget constrain and deliver the project as per scheduled. There are several factors, both internal and external, which may impact this triple constrain triangle. Any of three factor can severely impact the other two. Therefore, software project management is essential to incorporate user requirements along with budget and time constraints.
  • 11.
    Software Project Manager A software project manager is a person who undertakes the responsibility of executing the software project. Software project manager is thoroughly aware of all the phases of SDLC that the software would go through. Project manager may never directly involve in producing the end product but he controls and manages the activities involved in production.  A project manager closely monitors the development process, prepares and executes various plans, arranges necessary and adequate resources, maintains communication among all team members in order to address issues of cost, budget, resources, time, quality and customer satisfaction.
  • 12.
    Project Manager’s Responsibilities Managing People Act as project leader  Liaison with stakeholders  Managing human resources  Setting up reporting hierarchy etc. Managing Project  Defining and setting up project scope  Managing project management activities  Monitoring progress and performance  Risk analysis at every phase  Take necessary step to avoid or come out of problems  Act as project spokesperson
  • 13.
    Software Project Activities Software project management comprises of a number of activities, which contains planning of project, deciding scope of software product, estimation of cost in various terms, scheduling of tasks and events, and resource management. Project management activities may include:  Project Planning  Scope Management  Project Estimation
  • 14.
    Project Planning  Softwareproject planning is task, which is performed before the production of software actually starts. It is there for the software production but involves no concrete activity that has any direction connection with software production; rather it is a set of multiple processes, which facilitates software production.
  • 15.
    Scope Management  Itdefines the scope of project; this includes all the activities, process need to be done in order to make a deliverable software product. Scope management is essential because it creates boundaries of the project by clearly defining what would be done in the project and what would not be done. This makes project to contain limited and quantifiable tasks, which can easily be documented and in turn avoids cost and time overrun.  During Project Scope management, it is necessary to -  Define the scope  Decide its verification and control  Divide the project into various smaller parts for ease of management.  Verify the scope  Control the scope by incorporating changes to the scope
  • 16.
    Project Estimation  Foran effective management accurate estimation of various measures is a must. With correct estimation managers can manage and control the project more efficiently and effectively.  Project estimation may involve the following:  Software size estimationSoftware size may be estimated either in terms of KLOC (Kilo Line of Code) or by calculating number of function points in the software. Lines of code depend upon coding practices and Function points vary according to the user or software requirement.
  • 17.
     Effort estimationThemanagers estimate efforts in terms of personnel requirement and man-hour required to produce the software. For effort estimation software size should be known. This can either be derived by managers’ experience, organization’s historical data or software size can be converted into efforts by using some standard formulae.  Time estimationOnce size and efforts are estimated, the time required to produce the software can be estimated. Efforts required is segregated into sub categories as per the requirement specifications and interdependency of various components of software. Software tasks are divided into smaller tasks, activities or events by Work Breakthrough Structure (WBS). The tasks are scheduled on day-to-day basis or in calendar months. The sum of time required to complete all tasks in hours or days is the total time invested to complete the project.
  • 18.
     Cost estimationThismight be considered as the most difficult of all because it depends on more elements than any of the previous ones. For estimating project cost, it is required to consider - ◦ Size of software ◦ Software quality ◦ Hardware ◦ Additional software or tools, licenses etc. ◦ Skilled personnel with task-specific skills ◦ Travel involved ◦ Communication ◦ Training and support
  • 19.
  • 20.
    Numerical  You havea project to build a new mobile app. The app has four screens. Each screen is to take one day to build and is budgeted for $1,000 per screen. The screen are planned to be completed one after the other. Today is the end of day three. Calculate PV, EV, AC, BAC, CV, CPI, SV, SPI, EAC, ETC, and VAC
  • 21.
  • 22.
    Project Estimation (Costing) You are the project manager and want to calculate TCPI based on EAC for your project. The data you have with you is BAC: $ 135,000, earned value for your project : $ 45,000, actual costs : $ 70,000 and EAC is $130,000. What is the TCPI that you will get from these values?
  • 23.
    Solution:  Solution:  TCPI= (BAC – EV) / (BAC – AC)  = (135,000 – 45,000) / (135,000 – 70,000)  = 90,000/ 65,000  = 25,000
  • 24.
     What isyour SPI if your CV is $15,000, your SV is -$4,000, and your PV is $100,000?
  • 25.
    Solution:  Solution:  SV=EV-PV  -4000= EV – 100,000  -4000 + 100,000 = EV  96,000 = EV  SPI = EV/PV  = 96,000/100,000  =0.96
  • 26.
     In thelatest earned value report for your project, you see the CPI is 1.4, the SPI is 0.6, the PV is $500,000, and the SV is -$120,000. You can’t find the CV in the report, so you need to calculate it based on the information given. What is the CV?
  • 27.
     Solution:  SV= EV – PV  -120,000 + 500,000= EV  380,000 = EV  CPI = EV/AC  1.4 = 380,000/AC  AC= $ 271428.57   CV= EV-AC  = 380,000 – 271428.57  CV= -108571.43 
  • 28.
    Project Scheduling  ProjectScheduling in a project refers to roadmap of all activities to be done with specified order and within time slot allotted to each activity.  Project managers tend to define various tasks, and project milestones and them arrange them keeping various factors in mind.  They look for tasks lie in critical path in the schedule, which are necessary to complete in specific manner (because of task interdependency) and strictly within the time allocated.  Arrangement of tasks which lies out of critical path are less likely to impact over all schedule of the project.
  • 29.
    For scheduling aproject, it is necessary to -  Break down the project tasks into smaller, manageable form  Find out various tasks and correlate them  Estimate time frame required for each task  Divide time into work-units  Assign adequate number of work-units for each task  Calculate total time required for the project from start to finish
  • 30.
  • 31.
    Network diagram showsjust dependencies (logical relationships) • If activity duration estimates (estimates) are added, the network diagram could also show the critical path
  • 32.
    Methods to drawNetwork Diagram • In past, the Precedence Diagramming Method (PDM), the Arrow Diagramming Method (ADM), and the GERT method were commonly used to draw network diagram. • Today most network diagrams are created using PDM
  • 33.
    Types of Dependencies The sequence of activities is determined based on the following dependencies:  Mandatory Dependency (Hard Logic): The dependency is inherent in the nature of the work being done or required by the contract (e.g., you must design before construct)  Discretionary dependency (Preferred, Preferential, Soft Logic): This dependency is determined by the project team. Discretionary dependency can be changed if needed, while other types of dependencies cannot be easily changed. Discretionary dependencies are important when analyzing how to shorten or re- sequence the project to decrease the project duration (fast track the project)  External Dependency: This dependency is based on the needs or desires of a party outside the project (e.g., government or supplier)
  • 34.
    Leads and Lagsin Network Diagram • A lead may be added to start an activity before the predecessor activity is completed. For example, a coding might be able to start five days before the design is finished • A lag is inserted waiting time between activities, such as needing to wait three days after pouring concrete before constructing the frame for the house.
  • 35.
  • 36.
    Example Network Diagram You are the project manager for a new project and have figured out the following dependencies:  Activity 1 can start immediately and has an estimated duration of 3 weeks  Activity 2 can start after Activity 1 is completed and has an estimated duration of 3 weeks  Activity 3 can start after Activity 1 is completed and has an estimated duration of 6 weeks  Activity 4 can start after activity 2 is completed and has an estimated duration of 8 weeks  Activity 5 can start after Activity 4 is
  • 37.
    1. What isthe duration of the critical path? (Ans: 18) 2. What is float of activity 3? (Ans: 5) 3. What is the float of activity 2? (Ans: 0) 4. What is the float of the path with longest float? (two paths .. 18-13 =5)
  • 38.
    Three Point/Pert Estimation Expected Activity Duration:  (P+4M+O)/6  Activity Standard Deviation:  (P-O)/6  Activity Variance:  [(P-O)/6]2  Range for an Individual Activity Estimate:  EAD+/- SD (Start of the range EAD-SD and end of the range is EAD+SD)
  • 39.
    Activity P MO Pert (Expect ed Duration ) Activity SD Activity Variance Range of the estimate A 47 27 14 B 89 60 41 C 48 44 39 D 42 37 29
  • 40.
    Activity P MO Pert (Expect ed Duration ) Activity SD Activity Variance Range of the estimate A 47 27 14 28.167 5.500 30.250 22.667 to 33.667 or 28.167 +/- 5.500 B 89 60 41 61.667 8.000 64.000 53.667 to 69.667 C 48 44 39 43.833 1.500 2.250 42.333 to 45.333 D 42 37 29 36.500 2.167 4.696 34.333 to 38.667
  • 41.
    Review Costing andNetwork Diagram
  • 45.
    Using the followinginformation: Activity A has duration of 3 weeks and is the first activity with no predecessor Activity D has duration of 4 weeks and is the first activity with no predecessor Activity F has duration of 8 weeks and has predecessors Activity A and D Activity E has duration of 9 weeks and has predecessor Activity D Activity B has duration of 4 weeks and has predecessor Activity F Activity G has duration of 4 weeks and has predecessors Activity E and F Activity H has duration of 2 weeks and predecessor Activity G Activity C has duration of 7 weeks and predecessor Activity H Draw Network Diagram Find all the paths and the critical path Float on Activity A, C, and G Find the Early Start of Activity H Find the Late Finish of Activity B The stakeholders have decided to remove Activity F from the project, and making Activity B the predecessor of Activity G. What will be the effect on the project?
  • 47.
    Activity Preceding ActivityDuration A ---- 3 Weeks B A 3 Weeks C A 6 Weeks D B 8 Weeks E C,D 4 Weeks
  • 48.
     Draw theNetwork Diagram.  Find out all the paths and the critical path  What is the duration of the critical path  What is the float of Activity B and Activity C?  The resource working on activity 3 is replaced with another resource who is less experienced. The activity will now take 10 Weeks. How will this affect the project?  After some argument between stakeholders, a new activity ‘F’ is added to the project. It will take 11 Weeks to complete and must be completed before activity ‘E’ and ‘C’. Management is concerned that adding the activity will add 11 weeks to the project. Another stakeholder argues that the time will be less than 11 weeks. Who is correct? Use the original information (without the change to activity ‘C’ listed in the original question) to answer this question.  Based on the information in part f), how much longer will the project take?
  • 50.
     Activity B:Float 0  Activity C: Float 5  It will have no effect. The length of activities, A, C and E is 13. Adding 4 more weeks to the length of activity C will make that path 17. Since that path is still shorter than the critical path, the critical path does not change. The length of the critical path is still 18 weeks because activity C is not on the critical path.  The stakeholder who says the time will be less than 11 weeks is correct. The new activity will be added to the non-critical path that has float of 5 weeks. Therefore, adding 11 weeks will make this path the new critical path. The overall effect of adding 11 weeks will be a delay to the project of 6 weeks.  The project will take 6 weeks longer.