0% found this document useful (0 votes)
6 views83 pages

Sed 2

The document outlines the objectives and activities of Software Project Management (SPM), emphasizing the importance of managing time, cost, scope, quality, and resources to ensure project success. It discusses resource estimation, including human, hardware, software, time, budget, and infrastructure resources, and introduces estimation techniques like LOC and FP. Additionally, it highlights the significance of risk management and quality assurance in the software development process.

Uploaded by

aarohip005
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
6 views83 pages

Sed 2

The document outlines the objectives and activities of Software Project Management (SPM), emphasizing the importance of managing time, cost, scope, quality, and resources to ensure project success. It discusses resource estimation, including human, hardware, software, time, budget, and infrastructure resources, and introduces estimation techniques like LOC and FP. Additionally, it highlights the significance of risk management and quality assurance in the software development process.

Uploaded by

aarohip005
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

Unit – 2

Software Project Management


• Objectives
• Resources and Their Estimation
• LOC and FP Estimation
• Effort Estimation
• COCOMO Estimation Model
• Risk Analysis
• Software Project Scheduling

Assistant Professor: Miki Patel


1. Objectives

• Software Project Management (SPM) is the process of planning, organizing,


directing, and controlling software development activities to successfully
complete a software project within:
• time
• cost
• scope
• quality
• It ensures that the software project is completed efficiently by managing people,
resources, and risks.
Assistant Professor: Miki Patel
Cont..

• Objectives of Software Project Management (SPM)


• The main objectives of Software Project Management are to ensure that the
software project is completed successfully by managing time, cost, scope,
quality, and resources.
1. Deliver Software Within Time (Schedule Objective)
2. Deliver Software Within Budget (Cost Objective)
3. Achieve Required Functionality (Scope Objective)
4. Maintain Quality of Software (Quality Objective)
5. Efficient Resource Utilization
6. Risk Identification and Control
7. Customer Satisfaction

Assistant Professor: Miki Patel


Cont..
1) Deliver Software Within Time (Schedule Objective)
• Complete the project as per the planned deadlines.
• Proper scheduling and tracking to avoid delays.
2) Deliver Software Within Budget (Cost Objective)
• Control project expenses and avoid cost overruns.
• Ensure best utilization of available budget and resources.
3) Achieve Required Functionality (Scope Objective)
• Ensure the software includes all required features and functions.
• Prevent unnecessary features (scope creep).
4) Maintain Quality of Software (Quality Objective)
• Deliver software with minimum defects and high performance.
• Follow standards, testing, reviews, and quality assurance.

Assistant Professor: Miki Patel


Cont..
5) Efficient Resource Utilization
• Use manpower, hardware, and software tools effectively.
• Proper team assignment and workload distribution.
6) Risk Identification and Control
• Identify project risks early (technical, cost, time).
• Plan actions to reduce or avoid risks.
7) Customer Satisfaction
• Meet customer expectations through continuous communication.
• Deliver reliable and user-acceptable software.

Assistant Professor: Miki Patel


Activities in Software Project Management

• Major Activities in Software Project Management:


1. Project Planning
2. Project Scheduling
3. Resource Management
4. Cost Estimation
5. Risk Management
6. Quality Management
7. Monitoring and Control
Cont..

1) Project Planning
• Define project scope and goals
• Estimate cost, time, and effort
• Prepare project schedule
• Identify required resources
2) Project Scheduling
• Divide work into tasks (WBS)
• Assign tasks to team members
• Prepare timeline using:
• Gantt chart
• PERT chart

Assistant Professor: Miki Patel


Cont..

3) Resource Management
• Allocate resources:
• manpower (developers, testers)
• hardware/software tools
• Team formation and coordination

4) Cost Estimation
• Estimate project budget using models like:
• LOC (Lines of Code)
• Function Point
• COCOMO Model

Assistant Professor: Miki Patel


Cont..

5) Risk Management
• Identify risks (technical, cost, schedule)
• Analyze risk impact
• Create risk handling plan

6) Quality Management
• Ensure software meets standards
• Apply testing and reviews
• Follow SQA (Software Quality Assurance)

Assistant Professor: Miki Patel


Cont..

7) Monitoring and Control


• Track project progress
• Compare actual vs planned schedule
• Correct deviations and manage changes

• Importance of Software Project Management


• Helps avoid project failure
• Improves productivity and team efficiency
• Ensures quality output
• Reduces cost and time
• Controls risks and changes

Assistant Professor: Miki Patel Unit – 2


2. Resources and Their Estimation

• In Software Project Management (SPM), a resource is anything required to


complete the project successfully.
• Resource estimation means predicting how many resources are needed, for
how long, and at what cost.
• Resources and their estimation is one of the most important tasks in software
project management.
• It ensures the project has enough people, tools, time, and budget to complete
successfully with minimum risk.

Assistant Professor: Miki Patel


Cont..
• Meaning of Resources in Software Project
• Resources include:
1. Human resources (people)
2. Hardware resources
3. Software/tools
4. Time
5. Money/Budget
6. Infrastructure/Facilities
• Proper estimation helps to:
1. avoid shortage of resources
2. reduce project delay
3. manage cost effectively

Assistant Professor: Miki Patel


Types of Resources in Software Projects

• Resources include:
1. Human resources (people)
2. Hardware resources
3. Software/tools
4. Time
5. Money/Budget
6. Infrastructure/Facilities

Assistant Professor: Miki Patel


Cont..

1. Human Resources (Manpower)


• This is the most important resource in software development.
• Examples: • Estimation in human resource includes:
• Project Manager • number of people needed
• Software Designer/Architect • their skills (Java, PHP, DB, testing)
• Developers/Programmers • working hours
• Testers/QA Engineers • experience level
• Database Administrator (DBA)
• Maintenance/support team

Assistant Professor: Miki Patel


Cont..
2. Hardware Resources
• Hardware resources are required for development and execution.
• Examples:
• servers
• computers/laptops
• network devices (router/switch)
• storage devices
• backup systems
• Estimation includes:
• number of systems required
• processing capacity, RAM, storage
• server requirement and load

Assistant Professor: Miki Patel


Cont..

3. Software Resources / Tools


• Software tools used for building, testing, and managing project.
• Examples:
• IDE: VS Code, Eclipse
• DBMS: MySQL, Oracle
• Version Control: Git, GitHub
• Testing Tools: Selenium, JMeter
• Project Tools: Jira, Trello
• Estimation includes:
• tool licenses cost
• number of users/licenses
• installation and training requirement
Assistant Professor: Miki Patel
Cont..

4. Time Resource
• Time is critical for scheduling.
• Includes:
• project duration
• deadlines/milestones
• task-wise time
• Tools for time estimation:
• Gantt chart
• PERT chart
• CPM

Assistant Professor: Miki Patel


Cont..

5. Budget/Cost Resources 6. Infrastructure / Facilities


• Finance required for all resources. • Resources related to work environment.
• Includes: • Examples:
• salaries • office space
• hardware/software purchase • internet connection
• cloud/server cost • meeting rooms
• maintenance cost • electricity and backup
• training cost

Assistant Professor: Miki Patel Unit – 2


Resource Estimation

• Resource estimation is the process of predicting:


• Effort (person-month / person-hours)
• Cost
• Time
• Number of staff
• Required tools and infrastructure

Assistant Professor: Miki Patel


Cont..

• Steps of Resource Estimation:

Step 1: Understand Project Scope


• analyze requirements (SRS)
• identify modules and functions

Step 2: Prepare Work Breakdown Structure (WBS)


• divide project into tasks:
• analysis, design, coding, testing, deployment
• helps to estimate each task properly

Assistant Professor: Miki Patel


Cont..

Step 3: Estimate Effort


• Effort = total amount of work required.
• Common units:
• person-hours
• person-days
• person-months
• Example:
• If work needs 10 person-month effort:
• 5 people → 2 months
• 2 people → 5 months

Assistant Professor: Miki Patel


Cont..

Step 4: Estimate People (Team Size)


• decide team members according to effort and timeline
• select skill-based staffing
Step 5: Estimate Hardware/Software Needs
• number of systems and tools required
• licenses and cloud environment
Step 6: Estimate Cost
• Cost includes:
• salary cost
• tools/hardware cost
• maintenance & training

Assistant Professor: Miki Patel


Cont..

Step 7: Risk Buffer (Contingency)


• allocate extra resources for risks
• Example:
• 10–20% extra budget/time.

Assistant Professor: Miki Patel


Techniques/Methods for Resource Estimation

1) Expert Judgment
• Estimate based on experienced people (project manager/team lead).
• Advantage: Quick
• Disadvantage: can be biased/inaccurate
2) Analogous Estimation
• Estimate based on previous similar projects.
• Example: If earlier project required 5 months with 4 people, similar new
project can be estimated around same.

Assistant Professor: Miki Patel


Cont..
3) Top-Down Estimation
• Estimate whole project first, then break into tasks.
• Advantage: Fast
• Disadvantage: Less detailed
4) Bottom-Up Estimation
• Estimate each module/task, then sum total.
• Advantage: More accurate
• Disadvantage: Takes more time
5) Algorithmic Models (Formal Estimation)
• Used for accurate estimation.
• Examples:
• COCOMO model and LOC estimation

Assistant Professor: Miki Patel


Cont..

6) Effort, Schedule, and Staffing Relation


• Basic Formula:
Effort = People × Time
• Example:
• If estimated effort = 24 person-month
• Possible staffing:
• 6 people × 4 months
• 4 people × 6 months
• But in real projects:
• adding more people doesn’t always reduce time due to communication
overhead.

Assistant Professor: Miki Patel


Cont..

7) Importance of Resource Estimation


• Benefits:
• better project planning and scheduling
• proper budgeting
• avoids overstaffing or understaffing
• improves project success rate
• helps management decisions
• In Software Project Management (SPM), a resource is anything required to
complete the project successfully.
• Resource estimation means predicting how many resources are needed, for
how long, and at what cost.

Assistant Professor: Miki Patel Unit – 2


3. LOC and FP Estimation

• In Software Project Management, estimation is used to predict:


• Effort (person-months)
• Cost
• Time
• Resources
• Two popular estimation techniques are:
1. LOC Estimation (Lines of Code)
2. FP Estimation (Function Point)
Assistant Professor: Miki Patel
LOC Estimation (Lines of Code)

• LOC stands for Line of Code.


• A LOC is any line of text in a code that is not a comment or blank line, in any
case of the number of statements or fragments of statements on the line.
• LOC clearly consists of all lines containing program header files, declaration
of any variable, and executable and non-executable statements.
• As Lines of Code (LOC) only counts the volume of code, you can only use it
to compare or estimate projects that use the same language and are coded using
the same coding standards.

Assistant Professor: Miki Patel


Cont..

• LOC estimation is a method of estimating software size by predicting the total


number of lines of source code that will be written in the project.
• It measures software size using:
• KLOC = 1000 lines of code
• Example:
• If project is estimated 50,000 LOC
• KLOC = 50
• LOC is Suitable?
• Small/medium projects
• Projects with known language and past data
• Traditional development projects

Assistant Professor: Miki Patel


Cont..

• Steps in LOC Estimation


Step 1: Estimate total LOC
• Based on experience / similar past projects
• OR break into modules and estimate each module LOC
Step 2: Convert LOC to effort
• Effort is estimated using productivity:
𝐿𝑂𝐶
𝐸𝑓𝑓𝑜𝑟𝑡 =
𝑃𝑟𝑜𝑑𝑢𝑐𝑡𝑖𝑣𝑖𝑡𝑦
• Where productivity = LOC/person-month
Step 3: Cost estimation
𝐶𝑜𝑠𝑡 = 𝐸𝑓𝑓𝑜𝑟𝑡 × 𝐶𝑜𝑠𝑡 𝑝𝑒𝑟 𝑝𝑒𝑟𝑠𝑜𝑛 𝑚𝑜𝑛𝑡ℎ

Assistant Professor: Miki Patel


Cont..

• Example:
• If estimated LOC = 40,000
• Productivity = 4000 LOC / person-month
• 𝑬𝒇𝒇𝒐𝒓𝒕 = = 𝟏𝟎 person−months

Assistant Professor: Miki Patel


Cont..

• Example:

• If LOC is simply a count of the numbers of lines, then the above function
shown contains 11 lines of code (LOC).
• But when comments and blank lines are ignored, the function shown above
contains 9 lines of code (LOC).

Assistant Professor: Miki Patel


Cont..

• Advantages of LOC Estimation


• Simple and widely used
• Helps compare productivity
• Works well for traditional projects
• Disadvantages of LOC Estimation
• Depends on programming language (C code lines ≠ Java code lines)
• Hard to estimate early (before coding)
• Not suitable for reusable components
• Doesn’t measure functionality directly

Assistant Professor: Miki Patel Unit – 2


FP Estimation (Function Point)

• FP Stands for Function Point.


• A FP is a unit of measurement to express the amount of business functionality,
an information system (as a product) provides to a user.
• FPs measure software size.
• They are widely accepted as an industry standard for functional sizing.
• It measures:
• what the system does (functions/features)
• FP estimation is language independent.

Assistant Professor: Miki Patel


Cont..

• Function Point (FP) is a method to estimate software size based on


functionality delivered to the user, not on code size.

• Function Types Used in FP:

1. External Inputs (EI)

2. External Outputs (EO)

3. External Inquiries (EQ)

4. Internal Logical Files (ILF)

5. External Interface Files (EIF)

Assistant Professor: Miki Patel


Cont..
• The FPA functional units are shown in Fig:

Assistant Professor: Miki Patel


Cont..
1) External Inputs (EI)
• Inputs entering the system.
• Example:
• login form input
• registration input
• add student record
2) External Outputs (EO)
• Outputs generated by system.
• Example:
• report generation
• invoice print
• result display
Assistant Professor: Miki Patel
Cont..
3) External Inquiries (EQ)
• Input + immediate output (simple query).
• Example:
• search student → display details

4) Internal Logical Files (ILF)


• Files/databases maintained by the system.
• Example:
• Student database table
• Product table

Assistant Professor: Miki Patel


Cont..
5) External Interface Files (EIF)
• External files used but not maintained by system.
• Example:
• bank database used for verification
• external API data

Assistant Professor: Miki Patel


Cont..
• Advantages of FP Estimation
• Independent of programming language
• Can be estimated early (requirement stage)
• Measures user functionality
• Better for modern development
• Disadvantages of FP Estimation
• More complex than LOC method
• Requires trained experts
• Calculation takes time
• Subjective ratings may affect result

Assistant Professor: Miki Patel


Cont..
• Difference between LOC Estimation and FP Estimation
Parameter LOC Estimation (Lines of Code) FP Estimation (Function Point)
Estimates software size based on number of Estimates software size based on system
Meaning
code lines functionality
Unit LOC / KLOC (1000 LOC) Function Points (FP)
User functions/features
Based On Program code length
(EI, EO, EQ, ILF, EIF)
Language Dependency Language dependent Language independent
Accuracy Less accurate in early stages More accurate for early estimation
Directly measures user-required
Customer Perspective Not directly related to user needs
functionality
Includes complexity using VAF
Complexity Handling Difficult to handle complexity
(Value Adjustment Factor)
Suitable For Small/traditional projects Medium/large and modern projects
Not good for reuse and different coding
Main Problem Needs experts and complex calculation
styles

Assistant Professor: Miki Patel Unit – 2


4. Effort Estimation

• Effort Estimation is the process of predicting the total amount of work


required to develop a software project.
• It is generally measured in:
• Person-Hours
• Person-Days
• Person-Months
• Person-Years
• Effort estimation helps to decide how many people are needed and how much
time and cost will be required.
Assistant Professor: Miki Patel
Cont..
• Why Effort Estimation is Needed? (Importance)
• Effort estimation is important because it helps to:
1. Plan project schedule
2. Estimate project cost/budget
3. Decide team size
4. Allocate resources
5. Set milestones and deadlines
6. Reduce risk of project failure
7. Manage client expectations

Assistant Professor: Miki Patel


Cont..
• Effort Estimation Process (Steps)
1) Understand Requirements
• Study SRS carefully
• Identify project scope, modules, constraints
2) Divide Project into Tasks (WBS)
• WBS = Work Breakdown Structure
• Split project into small tasks:
• requirement analysis
• design
• coding
• testing
• deployment
Assistant Professor: Miki Patel
Cont..
5) Estimate Cost and Schedule
• Effort converts into:
• team size
• project duration
• total cost
• Basic Formula
• Effort formula:
𝐸𝑓𝑓𝑜𝑟𝑡 = 𝑃𝑒𝑜𝑝𝑙𝑒 × 𝑇𝑖𝑚𝑒
• Example:
• If 5 people work for 4 months:
𝐸𝑓𝑓𝑜𝑟𝑡 = 5 × 4 = 20 𝑝𝑒𝑟𝑠𝑜𝑛 − 𝑚𝑜𝑛𝑡ℎ𝑠

Assistant Professor: Miki Patel


Cont..
• Factors Affecting Effort Estimation
1) Project Size
• Large project → more effort
• Small project → less effort
2) Complexity
• More complex algorithms and security needs increase effort.
3) Team Capability
• Experienced developers reduce effort; inexperienced team increases effort.
4) Tools and Technology
• Using automation tools, frameworks, and reusable components reduces effort.

Assistant Professor: Miki Patel


Cont..
5) Requirement Changes
• Frequent changes increase effort and cost.
6) Risk Level
• High risk project needs more planning/testing → more effort.

Assistant Professor: Miki Patel


Cont..
• Techniques/Methods of Effort Estimation

1) Expert Judgment Method


• Estimate is based on experienced people (project manager/team lead)
• Common in companies
• Advantages:
• simple and fast
• Disadvantages:
• subjective and may be biased

Assistant Professor: Miki Patel


Cont..
2) Analogous Estimation
• Estimate using data from previous similar projects
• Example:
• If earlier project took 12 months with 6 people, similar project will take close
effort.
• Advantage:
• fast and practical
• Disadvantage:
• not accurate if project is different

Assistant Professor: Miki Patel


Cont..
3) Decomposition Techniques
• Project is divided into modules, then effort is estimated.
(A) Top-Down Estimation
• Estimate total project effort first, then divide into modules
• Advantage: quick
• disadvantage: less detailed
(B) Bottom-Up Estimation
• Estimate effort for each module/task and sum total
• Advantage: more accurate
• disadvantage: time-consuming

Assistant Professor: Miki Patel


Cont..
4) Algorithmic/Model Based Estimation
• Uses mathematical models.
• Examples:
• COCOMO Model
• Putnam Model (SLIM)
• Advantage:
• more systematic and accurate
• Disadvantage:
• needs good input data

Assistant Professor: Miki Patel


Cont..
• Example of Effort Estimation (Simple)
• Assume:
• Estimated size = 30,000 LOC
• Productivity = 3000 LOC per person-month

30000
𝐸𝑓𝑓𝑜𝑟𝑡 = = 10 𝑝𝑒𝑟𝑠𝑜𝑛 − 𝑚𝑜𝑛𝑡ℎ𝑠
3000

• If team size = 5 persons


𝐸𝑓𝑓𝑜𝑟𝑡 10
𝑇𝑖𝑚𝑒 = = = 2 𝑚𝑜𝑛𝑡ℎ𝑠
𝑃𝑒𝑜𝑝𝑙𝑒 5

Assistant Professor: Miki Patel Unit – 2


5. COCOMO Estimation Model

• COCOMO stands for Constructive Cost Model.


• The COCOMO model is a widely used software cost and effort estimation
model developed by Barry W. Boehm (1981).
• It helps to estimate:
• Effort (in Person-Months)
• Development Time (in Months)
• Number of people required
• Project cost

Assistant Professor: Miki Patel


Cont..

• COCOMO estimation is mainly based on the software size in KLOC (Kilo


Lines of Code).
• Why COCOMO Model is Used?
• COCOMO is used to:
1. estimate project effort and time accurately
2. plan manpower and budget
3. manage project schedule
4. reduce risk of wrong estimation

Assistant Professor: Miki Patel


Cont..
• Types of COCOMO Models
• COCOMO has three levels:
1) Basic COCOMO
• simple model
• depends only on KLOC
2) Intermediate COCOMO
• depends on KLOC + cost drivers (factors)
3) Detailed COCOMO
• most advanced
• considers each phase of SDLC separately

Assistant Professor: Miki Patel


Cont..
• Basic COCOMO Model
• Effort Estimation Formula:
𝐸 = 𝑎 × 𝐾𝐿𝑂𝐶)

• Where:
• E = effort (person-months)
• KLOC = size of software in 1000 LOC
• a, b = constants depending on project type
• Development Time Formula: • Team Size:
𝑇 = 𝑐 × 𝐸) 𝐸
𝑃𝑒𝑜𝑝𝑙𝑒 =
𝑇
• Where: T = development time in months
• c, d = constants
Assistant Professor: Miki Patel
Cont..
• Project Types in COCOMO
1) Organic Mode 3) Embedded Mode
• small and simple projects • very complex projects
• experienced team • strict hardware/software
• flexible requirements constraints
• Example: payroll system, small web app • Example: aircraft control system,
medical device software
2) Semi-Detached Mode
• medium complexity projects
• team has mixed experience
• Example: medium size management system

Assistant Professor: Miki Patel


Cont..
• Intermediate COCOMO Model
• Intermediate model improves Basic COCOMO by adding Cost Drivers.
• Effort Formula:
𝐸 = 𝑎 × 𝐾𝐿𝑂𝐶) × 𝐸𝐴𝐹
• Where:
• EAF = Effort Adjustment Factor
• EAF is calculated based on various cost drivers such as:
• product complexity
• required reliability
• team capability
• development tools
• execution time constraints
Assistant Professor: Miki Patel
Cont..
• Detailed COCOMO Model
• This model is most detailed and accurate.
• Effort estimation is done phase-wise:
• requirement analysis
• design
• coding
• testing
• Takes into account cost drivers for each phase.
• Used for large and complex projects.

Assistant Professor: Miki Patel


Cont..
• Advantages of COCOMO Model
• Easy to use and understand
• Gives effort and time estimation
• Useful for project planning
• Works well if KLOC is known
• Disadvantages of COCOMO Model
• Depends heavily on correct KLOC estimation
• Not suitable for modern reusable/software component-based development
• Less accurate when requirements change frequently
• Difficult to estimate LOC early in project

Assistant Professor: Miki Patel Unit – 2


6. Risk Analysis

• Risk Analysis is the process of identifying, evaluating, and managing risks


that may negatively affect a software projects:
• cost
• schedule (time)
• quality
• performance
• A risk is an uncertain future event that can cause project failure if it happens.

Assistant Professor: Miki Patel


Cont..
• Objectives of Risk Analysis
• Identify possible risks early
• Estimate risk probability and impact
• Plan actions to reduce or avoid risks
• Minimize loss and ensure project success
• Steps in Risk Analysis Process:
1. Risk Identification
2. Risk Assessment / Risk Estimation
3. Risk Prioritization
4. Risk Planning (Risk Mitigation)
5. Risk Monitoring and Control

Assistant Professor: Miki Patel


Cont..
1) Risk Identification 2) Risk Assessment / Risk Estimation
• Find all possible risks in the project. • Measure how serious the risk is.
• Examples: • Includes:
• unclear requirements • Probability (chance of happening)
• shortage of skilled developers • Impact (damage if it happens)
• delay in resources • Often risk level is calculated as:
• technology failure RE = 𝑷𝒓𝒐𝒃𝒂𝒃𝒊𝒍𝒊𝒕𝒚 × 𝑳𝒐𝒔𝒔
*RE = 𝑅𝑖𝑠𝑘 𝐸𝑥𝑝𝑜𝑠𝑢𝑟𝑒

Assistant Professor: Miki Patel


Cont..
3) Risk Prioritization 5) Risk Monitoring and Control
• Arrange risks based on importance: • continuously track risks
• High risk • review risk status
• Medium risk • take corrective actions when needed
• Low risk
4) Risk Planning (Risk Mitigation)
• Prepare strategies to reduce risk.
• Common plans:
• Avoid risk
• Reduce risk
• Transfer risk
• Accept risk

Assistant Professor: Miki Patel Unit – 2


Cont..
• Types of Risks in Software Projects
1) Project Risks
• Affect time, cost, and schedule.
• Example: delay in delivery
2) Technical Risks
• Affect technology and performance.
• Example: new technology fails
3) Business Risks
• Affect organization and business value.
• Example: market demand decreases

Assistant Professor: Miki Patel


Cont..
• Principle of Risk Management:
• Global Perspective:
• In this, we review the bigger system description, design, and implementation.
• We look at the chance and the impact the risk is going to have.
• Take a forward-looking view:
• Consider the threat which may appear in the future and create future plans
for directing the next events.
• Open Communication:
• This is to allow the free flow of communications between the client and the
team members so that they have certainty about the risks.

Assistant Professor: Miki Patel


Cont..
• Integrated management:
• In this method risk management is made an integral part of project
management.
• Continuous process:
• In this phase, the risks are tracked continuously throughout the risk
management paradigm.

Assistant Professor: Miki Patel


Cont..
• Examples of Common Software Project Risks
• Frequent Requirement Changes
• Unrealistic Deadlines
• Poor Communication
• Lack of Testing
• Staff Turnover
• Budget Issues
• Importance of Risk Analysis
• reduces chances of project failure
• improves planning
• helps in decision making
• ensures timely delivery

Assistant Professor: Miki Patel Unit – 2


7. Software Project Scheduling

• Software Project Scheduling is the process of planning project


activities/tasks and deciding:
• when each task will start and finish
• who will perform it
• how long it will take
• so that the project is completed on time.
• It is an important part of Software Project Management.

Assistant Professor: Miki Patel


Cont..

• Objectives of Project Scheduling


• Complete project within deadline
• Proper allocation of resources and manpower
• Break project into manageable tasks
• Track and control project progress
• Reduce delays and project risks
• Importance of Project Scheduling
• avoids missed deadlines
• improves team coordination
• ensures proper planning
• helps project monitoring
• reduces project cost and time overrun
Assistant Professor: Miki Patel
Cont..

• Steps in Software Project Scheduling


1) Identify Project Tasks
• list all activities required in project
2) Work Breakdown Structure (WBS)
• divide project into small modules/tasks
• Example: Requirement, Design, Coding, Testing, Deployment
3) Estimate Duration for Each Task
• decide time required for each task
4) Identify Task Dependencies
• which task depends on other tasks
• Example: design after requirement

Assistant Professor: Miki Patel


Cont..

5) Allocate Resources
• assign team members and tools to tasks
6) Prepare Project Schedule
• Using scheduling tools:
• Gantt Chart
• PERT Chart
• CPM
7) Monitoring and Control
• compare planned schedule vs actual progress
• take corrective action if delay occurs

Assistant Professor: Miki Patel Unit – 2


Cont..
• Tools/Techniques Used in Scheduling
1) Gantt Chart
• graphical timeline chart
• shows tasks with start date and end date
• easy to understand and track progress
2) PERT Chart (Program Evaluation Review Technique)
• network diagram method
• shows task dependencies
• useful for uncertain time estimation
3) CPM (Critical Path Method)
• identifies longest path of tasks
• calculates critical path
• delay in critical path delays whole project
Assistant Professor: Miki Patel
Cont..

• Gantt Chart:
• The purpose of Gantt chart is to emphasize scope of individual tasks.

• Hence set of tasks is given as input to Gantt chart.

• Gantt chart is also known as timeline chart.

• It can be developed for entire project or it can be developed for individual


functions.

• In most of projects, after generation of timeline chart, project tables are prepared.

• In project tables, all tasks are listed in proper manner along with start date and
end date and information related to it.

Assistant Professor: Miki Patel


Cont..

• Gantt chart represents following things:


• All the tasks are listed at leftmost column.
• The horizontal bars indicate or represent required time by corresponding
particular task.
• The diamonds indicate milestones.

Assistant Professor: Miki Patel


Cont..

• Example: Gantt chart to plan, schedule, and execute their projects.

Assistant Professor: Miki Patel


Cont..

• Advantages:
• Simplify Project:
• Gantt charts are generally used for simplifying complex projects.
• Provide Efficiency:
• It brings efficiency in planning and allows team to better coordinate
project activities.
• Ease at understanding:
• It makes it for easy stakeholders to understand timeline and brings clarity
of dates.
• Visualize project:
• It helps in clearly visualizing project management, project tasks
involved.

Assistant Professor: Miki Patel


Cont..

• Disadvantages:
• Sometimes, using Gantt chart makes project more complex.
• The size of bar chart dost not necessarily indicate amount of work done in
project.
• Gantt charts and projects are needed to be updated on regular basis.
• It is not possible or difficult to view this chart on one sheet of paper

Assistant Professor: Miki Patel Unit – 2


Cont..

• Advantages of Software Project Scheduling


• Timely completion of project
• Helps finish the project within deadline.
• Proper task planning
• Breaks project into smaller tasks using WBS.
• Better resource utilization
• Efficient use of manpower, tools, and budget.
• Easy monitoring and control
• Progress can be tracked and delays can be identified early.
• Reduces project risks
• Early planning reduces chances of failure and uncertainty.

Assistant Professor: Miki Patel


Cont..

• Disadvantages of Software Project Scheduling


• Time-consuming process
• Preparing detailed schedule needs time and effort.
• Difficult with changing requirements
• Frequent changes disturb the schedule.
• May become inaccurate
• Wrong time estimation leads to wrong schedule.
• Dependency problems
• Delay in one task affects many other tasks.
• Needs skilled project manager
• Proper scheduling requires experience and management skill.

Assistant Professor: Miki Patel Unit – 2


Teaching and Examination Scheme

Subject Code: 10270603 Subject Name Credit: 4


Semester: VI Software Engineering & Design Hours: 5
Department: Computer Science and Engineering

Assistant Professor: Miki Patel


Faculty Name:
Assistant Professor: Miki Patel
Email id:
[Link]@[Link]

Assistant Professor: Miki Patel Unit – 2

You might also like