Title: ITOM 6231 Special Topics in ITOM Project Management Section 4
1ITOM 6231 Special Topics in ITOMProject
Management (Section 4)
2Estimating the Project
3Effective project estimation is essential for
project planning and establishing a strong
foundation for software development
- What is project estimation?
- Defines the size, effort, schedule and cost
- Challenging and important aspect of software
development - Process of gradual refinement
- How does it effect the project plan?
- Staffing
- Quality assurance
- Milestones
- Why is it essential for software development?
- Clarify customer expectations (features, etc.)
- Cost of each feature
- Timeframe for features
- Provides a measurement of quality
4Although project estimation is critical to the
success of a project, it is often underemphasized
or even overlooked
- Even though it can be frustrating, it is a
crucial for a good foundation to project the
first base-line - Project estimation is a process of gradual
refinement estimates are fuzzy at first - Still only guesses, they are not to be set in
stone - Should only commit to a certain range and not a
definite target date - Organizations should collect and analyze
historical data to generate more precise
estimates for new projects - Accepting realistic schedules can be difficult
- Stakeholder buy-in of what can and can not be
done - Although difficult to tell a customer that its
not possible to deliver within their timeframe,
its better to do it immediately than wait and
miss deadlines - If they are informed early enough, they can work
out contingency plans - Missed deadlines result in fire-fighting to
overcome the late delivery - The customer will respect project managers more
if they are honest and up-front, rather than if
they miss deadlines and cause the customer
greater pain later on
5Precise project estimation is based on a detailed
understanding of what the project requirements
and implementation risks
- High level estimates can be given for a project
after the initial stages (I.e., inception) better
estimates can be formulated - For high-level estimates
- Scope out and understand all product features
- Clarify all uncertainties regarding requirements
- Present the estimate as uncertain
- Functionality, performance and cost pick any
two - Map out a high-level milestone strategy as part
of the estimate (the Phase plan) let the
detailed plans drive modifications to the
estimate (the Iteration plans) - Estimates usually make assumptions tackle the
risks to these assumptions early (iterative
development)
6Project estimation can be broken down into four
key areas
Size
Schedule
Effort
Cost
- Start with a description of the features (I.e.,
scope document or proposal) - Outline the project as a Phase plan
- Estimate the number of function points
- Estimate the LOCs
- Utilize estimation tools and existing metrics
- Re-estimate as more scope information is
determined - Modify Phase plan based on Iteration plan progress
- Using size estimates, estimate effort based on
LOCs or FPs - Use collected metrics from similar projects or
industry standards - Use estimation software to create an effort
estimate based on LOC and FP metrics - Estimate effort in man days or man hours
- Determine resource availability
- Determine critical path
- Establish a Phase plan
- Prepare a Gantt chart for the first and second
iteration plans - Add time for vacations, sick days, administrative
tasks and unforeseen issues - Prepare a total schedule estimate
- Determine staffing plan against a calendar
- Use effort and schedule estimates to calculate
labor cost by multiplying hourly/daily cost - Determine if software, hardware or other
equipment will be required and estimate the cost - Make sure that sufficient time has been allowed
in the schedule estimate for the procurement of
the equipment - Sum all costs and provide an overall cost estimate
7Once the project estimate has been generated, the
refinement process can begin
- Prepare multiple versions of the estimate/Phase
plan and analyze the results or trade-offs
between them - Get the right people involved to help with
refinement decisions - Increasing schedule normally lowers overall cost
- Most projects have a critical time-frame
- If the schedule needs to be shortened it can only
be done in three ways - Reduce the functionality (size) and therefore
reduce the effort required - Increase the number of staff on the project (only
an option if more tasks can be implemented
concurrently) - Keep the current staff level, but with a heavier
daily work load (this does not reduce effort
however and may result in lower quality) - Higher skilled resources may have minimal impact
- Shrinking a project may not be affordable
- Adding more staff/longer hours may increase costs
significantly - New people at the end of a project may delay the
project - Overtime helps in the short-term, but hurts in
the long-term - Strive for the nominal schedule, not the shortest
schedule
8The cost of achieving the efficient schedule is
much less than the cost of achieving the shortest
possible schedule
9Function point analysis is one method of
determining project size
- What is function point (FP) analysis?
- FP analysis is a formal count of inputs, outputs,
external queries, internal logical files and
external interface files, plus a series of
measurements of a system's overall complexity - A standard method two FP analysts should come up
with similar estimates - Function points measure software by quantifying
its functionality provided to the user based on
logical design - It is a process of gradual refinement with
estimates becoming more accurate as the project
nears completion - How does it benefit the project metrics?
- A vehicle to estimate cost and resources required
for software development and maintenance - A tool to determine the size of a purchased
application package by counting all the functions
included in the package - A tool to measure the units of a product to
support quality and productivity analysis - A normalization factor for software comparison
10What can function points give you?
The average output for a windows client-server
application programmer might end up being about
12 function points per month, at a cost of around
850 each. If the total project count is 500
function points, you can make a reasonable
assessment that you have a project that requires
42 man-months to build, with an estimated cost of
425,000."
Doug Grimsted, CEO, Geneer
11An example data function point analysis card
12Movies!
13Top Principles of a Modern Software Process
- Risk mitigation approach architecture-first
approach balance requirements, the
architecturally significant design decisions and
lifecycle planning before committing to
full-scale development do the hard stuff
first - Small phases (i.e., Iterative life-cycle process)
plan end-to-end proof-of-concepts, prototypes
and pilots provide appropriately scope
development efforts continuous life vs. single
life smaller projects have much greater chance
of success break problems into small projects - Transparency keep no secrets about the project
status or issues everyone from the project team,
management and client sponsors know the state of
the project focus on solutions not blame - Managed scope define project outcomes know
where you are going know when you are changing
the destination understand implications of scope
changes to resources, schedule, costs - Demonstration-based approach provides early
visibility to artifacts, executables, etc.
a.k.a. horizontal vs. vertical development plan
towards tangible project deliverables and
outcomes understand completion state of all
deliverables
14Top Principles of a Modern Software Process
(contd)
- Rich communications supports rich semantics and
comprehensive system investigation more
objective and effective than ad-hoc
representations visual representations followed
by formatted followed by narratives (e.g.,
graphics then tables then paragraphs) - Progressive Elaboration Planning understand the
big picture and how you will get there allow the
detailed plan to grow with the project plan when
you have the best information have the plan
reflect the reality of the project - Objective quality control/smart metrics apply
metrics to accurately track progress of the
project use only metrics required by the project
and management minimize the impact of data
collection and reporting - Tool supported process encourage the use of
tools and techniques to aid in the
synchronization of documentation, code, etc - Configurable process no single process is
appropriate for all projects it must be
flexible process should also adapt during a
project to meet additional demands
15From the Earth to the Moon Episode 5 (Spider)
1998
The Apollo Lunar Module was the lander portion of
the Apollo spacecraft built for the US Apollo
program to achieve the transit from moon orbit to
the surface and back. The module was also known
as the LM from the manufacturer designation (yet
pronounced "LEM" from NASA's early name for it,
Lunar Excursion Module). The module was designed
to carry two crew in a 6.65 m³ space. The total
module was 6.4 m high and 4.3 m across, resting
on four legs. It consisted of two stages the
descent stage module and the ascent stage. The
total mass of the module was 15,264 kg with the
majority of that (10,334 kg) in the descent
stage.
16The Pentagon Wars 1998
The role of the M2 Infantry Fighting Vehicle is
to transport infantry on the battlefield, to
provide fire cover to dismounted troops and to
suppress enemy tanks and fighting vehicles. The
M2 carries three crew, commander, gunner and
driver, plus six fully equipped infantry men. The
M3 performs scout missions and carries three crew
plus two scouts. 14 minutes testing 24
minutes requirements 35 minutes staff meeting
17Assignment for next time
- Project kick-off document
- 1 page overview of your project (i.e.,
background/key features) - 1 page on the business case
- 1 page on key features
- 1 page on scope around the key features for first
phase - 1 page on key measurable outcomes
- 1 page on risks
- 1 page on project organization
- Should be done in PowerPoint
- Be prepared to give your presentation to the
class - Provide a hard-copy to me at the start of class
- Have an electronic copy ready (email me or
provide a thumb-drive) - Each presenter would be given 10-20 minutes to
walk through their project