Unit 3 Managing SoftwareProjects
Unit 3 Managing SoftwareProjects
Unit 3 Managing SoftwareProjects
Prepared By
Prof. Mital Sarvaiya
Computer Engineering
BHGCET - Rajkot
Topics:
1. Software Sizing
2. Problem based Estimation LOC (Lines of Code) based, FP (Function Point)
based
3. Process based Estimation
4. Estimation with Use-cases
Software Project Estimations continue…
1) Software Sizing:
• “Fuzzy logic” sizing
– This approach uses the approximate reasoning techniques that are
the cornerstone of fuzzy logic.
• Function Point sizing
– The planner develops estimates of the information domain
characteristics
• Standard Component sizing
– Estimate the number of occurrences of each standard component
– Use historical project data to determine the delivered LOC size per
standard component.
Software Project Estimations continue…
• Change sizing
– Used when changes are being made to existing software
– Estimate the number and type of modifications that must be
accomplished
– An effort ratio is then used to estimate each type of change and the
size of the change
Software Project Estimations continue…
• Compare the resulting values to those obtained by way of the LOC and
FP estimates
• If both sets of estimates agree, then your numbers are highly reliable
• Otherwise, conduct further investigation and analysis concerning the
function and activity breakdown
Software Project Estimations continue…
Feasibility Study:
Feasibility study explores system requirements to determine project feasibility.
There are several fields of a feasibility study including economic feasibility,
operational feasibility, technical feasibility. The goal is to determine whether
the system can be implemented or not. The process of feasibility study takes
as input the required details as specified by the user and other domain-specific
details. The output of this process simply tells whether the project should be
undertaken or not and if yes, what would the constraints be. Additionally, all
the risks and their potential effects on the projects are also evaluated before a
decision to start the project is taken.
Software Project Planning(MS Project Tool) continue…
Project Planning:
A detailed plan stating a stepwise strategy to achieve the listed objectives is an
integral part of any project. Planning consists of the following activities:
• Set objectives or goals
• Develop strategies
• Develop project policies
• Determine courses of action
• Making planning decisions
• Set procedures and rules for the project
• Develop a software project plan
Software Project Planning(MS Project Tool) continue…
• Prepare budget
• Conduct risk management
• Document software project plans
• This step also involves the construction of a work breakdown structure(WBS). It
also includes size, effort, schedule, and cost estimation using various techniques.
Project Execution:
A project is executed by choosing an appropriate software development lifecycle
model(SDLC). It includes a number of steps including requirements analysis,
design, coding, testing and implementation, testing, delivery, and maintenance.
There are a number of factors that need to be considered while doing so including
the size of the system, the nature of the project, time and budget constraints, domain
requirements, etc. An inappropriate SDLC can lead to the failure of the project.
Software Project Planning(MS Project Tool) continue…
Project Termination:
There can be several reasons for the termination of a project. Though
expecting a project to terminate after successful completion is conventional,
but at times, a project may also terminate without completion. Projects have to
be closed down when the requirements are not fulfilled according to given
time and cost constraints. Some of the reasons for failure include:
• Fast-changing technology
• Project running out of time
• Organizational politics
• Too much change in customer requirements
• Project exceeding budget or funds
• Once the project is terminated, a post-performance analysis is done. Also, a
final report is published describing the experiences, lessons learned,
recommendations for handling future projects.
Software Project Planning(MS Project Tool) continue…
There are many other software packages for project management in addition to
MS Project. Most of these new additions are online portals for project
management activities where the project members have access to project details
and progress from anywhere.
Project Scheduling & Tracking
• Compartmentalization
– The product and process must be decomposed into a manageable
number of activities and tasks
• Interdependency
– Tasks that can be completed in parallel must be separated from those
that must completed serially
• Time Allocation
– Every task has start and completion dates that take the task
interdependencies into account
Project Scheduling & Tracking continue…
• Effort Validation
– Project manager must ensure that on any given day there are enough
staff members assigned to complete the tasks within the time
estimated in the project plan
• Define Responsibilities
– Every scheduled task needs to be assigned to a specific team member
• Define Outcomes
– Every task in the schedule needs to have a defined outcome (usually
a work product or deliverable)
• Defined Milestones
– A milestone is accomplished when one or more work products from
an engg task have passed quality review
Project Scheduling & Tracking continue…
Effort Distribution
• General guideline: 40-20-40 rule
– 40% or more of all effort allocated to analysis and design tasks
– 20% of effort allocated to programming
– 40% of effort allocated to testing
• Characteristics of each project dictate the distribution of effort
Project Scheduling & Tracking continue…
• Both PERT and CPM provide quantitative tools that allow you to:
– Determine the critical path—the chain of tasks that determines the
duration of the project
– Establish “most likely” time estimates for individual tasks by
applying statistical models
– Calculate “boundary times” that define a “time window” for a
particular task
Project Scheduling & Tracking continue…
• The project schedule provides a road map for a software project manager.
• It defines the tasks and milestones.
• Several ways to track a project schedule:
– Conducting periodic project status meeting
– Evaluating the review results in the software process
– Determine if formal project milestones have been accomplished
– Compare actual start date to planned start date for each task
– Informal meeting with practitioners
– Using earned value analysis to assess progress quantitatively
• Project manager takes the control of the schedule in the aspects of
– Project Staffing, Project Problems, Project Resources, Reviews, Project
Budget
Project Scheduling & Tracking continue…
Risk Identification
• Risk identification is a systematic attempt to specify threats to the
project plan
• By identifying known and predictable risks, the project manager takes a
first step toward,
– avoiding them when possible
– controlling them when necessary
• Generic Risks
– Risks that are a potential threat to every software project
• Product-specific Risks
– Risks that can be identified only by clear understanding of the
technology, the people and the environment, that is specific to the
software that is to be built
Risk Analysis & Management(Risk Identification, Risk Projection, Risk
Refinement, Risk Mitigation) continue…
RMMM
• Risk Mitigation, Monitoring, and Management (RMMM)
• An effective strategy for dealing with risk must consider three issues
– Risk mitigation (i.e., avoidance)
– Risk monitoring
– Risk management and contingency planning
RMMM
• Risk Mitigation is a problem avoidance activity
• Risk Monitoring is a project tracking activity
• Risk Management includes contingency plans that risk will occur
Risk Analysis & Management(Risk Identification, Risk Projection, Risk
Refinement, Risk Mitigation) continue…
Risk Mitigation
• Risk mitigation (avoidance) is the primary strategy and is achieved
through a plan
• For Ex., Risk of high staff turnover
• To mitigate this risk, you would develop a strategy for reducing turnover.
• The possible steps to be taken are:
– Meet with current staff to determine causes for turnover (e.g., poor
working conditions, low pay, and competitive job market)
– Mitigate those causes that are under your control before the project
starts
– Once the project commences, assume turnover will occur and
develop techniques to ensure continuity when people leave
Risk Analysis & Management(Risk Identification, Risk Projection, Risk
Refinement, Risk Mitigation) continue…
• https://www.youtube.com/watch?v=r2qkxbCSsvE
Thank You(^_^)