estimating projects (pmp)

Upload: veraserum

Post on 01-Jun-2018

222 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/9/2019 Estimating Projects (PMP)

    1/112

    Project Estimation and

    scheduling Outline:

     – Estimation overview

     – Cocomo: concepts, process and tool.

     – Detailed schedule/planning terminology and processes

     – Planning ools !"# Project$

  • 8/9/2019 Estimating Projects (PMP)

    2/112

    Estimation

    %he single most important tas& o' a project: setting realistic e(pectations.

    )nrealistic e(pectations *ased on

    inaccurate estimates are the single largest

    cause o' so'tware 'ailure.+utrell, #ha'er and #ha'er, %-uality #o'tware Project "anagement+

  • 8/9/2019 Estimating Projects (PMP)

    3/112

    Why its important to you!

    Program development o' large so'tware systems

    normally e(perience 012

    cost overruns and a 32 schedule slip

    342 o' large projects deliver56O7869

    ;ey reasons5poor management and inaccurate

    estimations o' development cost and schedule

    8' not meeting schedules, developers o'ten pay

    the price

  • 8/9/2019 Estimating Projects (PMP)

    4/112

    he Pro*lems

    Predicting so'tware cost

    Predicting so'tware schedule

    Controlling so'tware ris& 

    "anaging/trac&ing project as it progresses

  • 8/9/2019 Estimating Projects (PMP)

    5/112

    undamental estimation

  • 8/9/2019 Estimating Projects (PMP)

    6/112

  • 8/9/2019 Estimating Projects (PMP)

    7/112

    Costing and pricing

    Estimates are made to discover the cost, to thedeveloper, o' producing a so'tware system.

    here is not a simple relationship *etween the

    development cost and the price charged to thecustomer.

    @roader organisational, economic, political and

     *usiness considerations in'luence the pricecharged.

  • 8/9/2019 Estimating Projects (PMP)

    8/112

    #o'tware pricing 'actors

  • 8/9/2019 Estimating Projects (PMP)

    9/112

     6ature o' Estimates

    "an "onths !or Person "onths$, de'ined as 34man0hours o' direct0charged la*or 

    #chedule in months !reell0managed program

  • 8/9/2019 Estimating Projects (PMP)

    10/112

    A Common !su*jective$

    estimation models

    E(pert Budgment nalogy

    Par&insons law

    Price to win

  • 8/9/2019 Estimating Projects (PMP)

    11/112

    E(pert judgment

     One or more e(perts in *oth so'twaredevelopment and the application domain use their

    e(perience to predict so'tware costs. Processiterates until some consensus is reached.

    dvantages: elatively cheap estimation method.Can *e accurate i' e(perts have direct e(perienceo' similar systems

    Disadvantages: Fery inaccurate i' there are noe(perts

  • 8/9/2019 Estimating Projects (PMP)

    12/112

    Estimation *y analogy

    he cost o' a project is computed *y comparing

    the project to a similar project in the same

    application domain  dvantages: "ay *e accurate i' project data

    availa*le and people/tools the same

      Disadvantages: 8mpossi*le i' no compara*le project has *een tac&led. 6eeds systematically

    maintained cost data*ase

  • 8/9/2019 Estimating Projects (PMP)

    13/112

    Par&insonGs Haw

     he project costs whatever resources are

    availa*le

     dvantages: 6o overspend

     Disadvantages: #ystem is usually un'inished

  • 8/9/2019 Estimating Projects (PMP)

    14/112

  • 8/9/2019 Estimating Projects (PMP)

    15/112

    op0down and *ottom0up estimation

    ny o' these approaches may *e used top0downor *ottom0up.

    op0down

     –  #tart at the system level and assess the overallsystem 'unctionality and how this is deliveredthrough su*0systems.

    @ottom0up

     –  #tart at the component level and estimate the e''ortre

  • 8/9/2019 Estimating Projects (PMP)

    16/112

    op0down estimation

    )sa*le without &nowledge o' the systemarchitecture and the components that might *e

     part o' the system.

    a&es into account costs such as integration,con'iguration management and documentation.

    Can underestimate the cost o' solving di''icult

    low0level technical pro*lems.

  • 8/9/2019 Estimating Projects (PMP)

    17/112

    @ottom0up estimation

    )sa*le when the architecture o' the system is&nown and components identi'ied.

    his can *e an accurate method i' the system has

     *een designed in detail. 8t may underestimate the costs o' system level

    activities such as integration and documentation.

  • 8/9/2019 Estimating Projects (PMP)

    18/112

    Estimation methods

    Each method has strengths and wea&nesses. Estimation should *e *ased on several methods.

    8' these do not return appro(imately the same

    result, then you have insu''icient in'ormationavaila*le to ma&e an estimate.

    #ome action should *e ta&en to 'ind out more in

    order to ma&e more accurate estimates.

    Pricing to win is sometimes the only applica*le

    method.

  • 8/9/2019 Estimating Projects (PMP)

    19/112

    Pricing to win

    his approach may seem unethical and un0 *usinessli&e.

    7owever, when detailed in'ormation is lac&ing it

    may *e the only appropriate strategy. he project cost is agreed on the *asis o' an

    outline proposal and the development isconstrained *y that cost.

    detailed speci'ication may *e negotiated or anevolutionary approach used 'or systemdevelopment.

  • 8/9/2019 Estimating Projects (PMP)

    20/112

    lgorithmic cost modeling

     Cost is estimated as a mathematical 'unction o' product, project and process attri*utes whose

    values are estimated *y project managers

      he 'unction is derived 'rom a study o' historicalcosting data

      "ost commonly used product attri*ute 'or cost

    estimation is HOC !code siJe$  "ost models are *asically similar *ut with

    di''erent attri*ute values

  • 8/9/2019 Estimating Projects (PMP)

    21/112

    Criteria 'or a 9ood "odel

    De'inedKclear what is estimated ccurate

    O*jectiveKavoids su*jective 'actors

    esults understanda*le Detailed

    #ta*leKsecond order relationships

    ight #cope

    Easy to )se

    CausalK'uture data not re

  • 8/9/2019 Estimating Projects (PMP)

    22/112

    measure o' the rate at which individualengineers involved in so'tware development

     produce so'tware and associated

    documentation.  6ot

  • 8/9/2019 Estimating Projects (PMP)

    23/112

    #iJe related measures *ased on some output 'romthe so'tware process. his may *e lines o'

    delivered source code, o*ject code instructions,

    etc. unction0related measures *ased on an estimate

    o' the 'unctionality o' the delivered so'tware.

    unction0points are the *est &nown o' this type o'measure.

    Productivity measures

  • 8/9/2019 Estimating Projects (PMP)

    24/112

    Estimating the siJe o' the measure !e.g. how many'unction points$.

    Estimating the total num*er o' programmer

    months that have elapsed. Estimating contractor productivity !e.g.

    documentation team$ and incorporating this

    estimate in overall estimate.

    "easurement pro*lems

  • 8/9/2019 Estimating Projects (PMP)

    25/112

    >hatGs a line o' code= –  he measure was 'irst proposed when programs were typed

    on cards with one line per card?

     –  7ow does this correspond to statements as in Bava which can

    span several lines or where there can *e several statementson one line.

    >hat programs should *e counted as part o' the system=

    his model assumes that there is a linear relationship

     *etween system siJe and volume o' documentation. &ey thing to understand a*out early estimates is that

    the uncertainty is more important than the initial line –dont see one estimate, see& justi'ia*le *ounds.

    Hines o' code

  • 8/9/2019 Estimating Projects (PMP)

    26/112

    he lower level the language, the more productive the programmer  –  he same 'unctionality ta&es more code to

    implement in a lower0level language than in a high0level language.

    he more ver*ose the programmer, the higherthe productivity

     –  "easures o' productivity *ased on lines o' codesuggest that programmers who write ver*ose codeare more productive than programmers who writecompact code.

    Productivity comparisons

  • 8/9/2019 Estimating Projects (PMP)

    27/112

    #ystem development times

  • 8/9/2019 Estimating Projects (PMP)

    28/112

    Empirical Model (COCOMO)

    Provide computational means 'or deriving #/> costestimates as 'unctions o' varia*les !major cost drivers$

    unctions used contain constants derived 'rom

    statistical analysis o' data 'rom past projects: – can only *e used i' data 'rom past projects is availa*le

     – must *e calibrated to re'lect local environment

     – relies on initial siJe and cost 'actor estimates which

    themselves are

  • 8/9/2019 Estimating Projects (PMP)

    29/112

    COCOMO

    COCO"O !CO 6#)C8FE CO# "ODEH$

    0irst pu*lished *y Dr. @arry @oehm, 3LM3

    8nteractive cost estimation so'tware pac&age thatmodels the cost, e''ort and schedule 'or a new

    so'tware development activity. –  Can *e used on new systems or upgrades

    Derived 'rom statistical regression o' data 'rom a

     *ase o' N1 past projects ! 0 43, D#8s$

  • 8/9/2019 Estimating Projects (PMP)

    30/112

    >here to ind CoCo"o

    http://sunset.usc.ede Or do a 9oogle search on @arry @oehm.

  • 8/9/2019 Estimating Projects (PMP)

    31/112

    Productivity Hevels

    ends to *e constant 'or a given programmingshop developing a speci'ic product.

    3 #HOC/"" 'or li'e0critical code

    1 #HOC/"" 'or )# 9overnment

  • 8/9/2019 Estimating Projects (PMP)

    32/112

     6ominal Project Pro'iles

    #iJe #HOC

    M#HOC

    1#HOC

    3M#HOC

    "" 4 3 L3 1L

    #chedule"onths

    4 M 3A A

    #ta'' 3.3 . N.4 3N

    #HOC/""

    A 1N 14 1

  • 8/9/2019 Estimating Projects (PMP)

    33/112

    8nput Data

    Delivered ; source lines o' code!;#HOC$ Farious scale 'actors:

     – E(perience

     – Process maturity

     – e

  • 8/9/2019 Estimating Projects (PMP)

    34/112

    COCOMO

    )ses @asic E''ort E

  • 8/9/2019 Estimating Projects (PMP)

    35/112

    COCOMO Mode & Model

    hree development environments !modes$ – Organic "ode

     – #emidetached "ode

     – Em*edded "ode

    hree increasingly comple( models

     – @asic "odel – 8ntermediate "odel

     – Detailed "odel

  • 8/9/2019 Estimating Projects (PMP)

    36/112

    COCOMO Modes

    Organic "ode –  Developed in 'amiliar, sta*le environment

     –  Product similar to previously developed product

     – T4, D#8s !e(: accounting system$

    #emidetached "ode –  somewhere *etween Organic and Em*edded

    Em*edded "ode

     –  new product re

  • 8/9/2019 Estimating Projects (PMP)

    37/112

    COCOMO Models

    @asic "odel –  )sed 'or early rough, estimates o' project cost, per'ormance,

    and schedule

     –  ccuracy: within a 'actor o' o' actuals N2 o' time

    8ntermediate "odel –  )ses E''ort djustment actor !E$ 'm 34 cost drivers

     –  Doesnt account 'or 3 0 2 o' cost !trng, maint, D, etc$

     –  ccuracy: within 2 o' actuals NM2 o' time

    Detailed "odel –  )ses di''erent E''ort "ultipliers 'or each phase o' project

    !every*ody uses intermediate model$

    B i M d l

  • 8/9/2019 Estimating Projects (PMP)

    38/112

    Basic Model

    Effort Equation (COCOMO 8)

    E''ortQ!siJe$e(ponent

     –  is a constant *ased on the developmental mode

    S organic Q .A

    S semi Q 1.

    S em*edded Q 1.N

     –  #iJe Q 3s #ource Hines o' Code !;#HOC$

     –  E(ponent is constant given mode

    S organic Q 3.4

    S semi Q 3.3

    S em*edded Q 3.

    B i M d l

  • 8/9/2019 Estimating Projects (PMP)

    39/112

    Basic Model

    chedule Equation (COCOMO 8)

    "DEF !"inimum time to develop$ Q.4R!E''ort$e(ponent

    .4 is constant 'or all modes

    E(ponent *ased on mode – organic Q .1M

     – semi Q .14

     – em*edded Q .1

     6ote that "DEF does not depend on num*er o'

     people assigned.

  • 8/9/2019 Estimating Projects (PMP)

    40/112

    Counting;#HOC

  • 8/9/2019 Estimating Projects (PMP)

    41/112

    #till how to estimate ;#HOC

    9et %e(perts+ to provide estimates. –  @etter i' estimates are *ased on so'tware re

  • 8/9/2019 Estimating Projects (PMP)

    42/112

    #ome *eginners guidelines

    S good estimate is de'enda*le i' the siJe o' the product is identi'ied inreasona*le terms that ma&e sense 'or the application. >ithout seriouse(perience, estimating Hines o' Code 'or a su*stantial application can *e meaningless, so stic& to what ma&es sense. @ottom up is *etter 'or *eginners.

    S n estimate is de'enda*le i' it is clear how it was achieved. 8' the

    estimate simply came 'rom #>9, or whatever sugar0coated term youwould li&e to give 'or an unde'enda*le num*er$, that in'ormation itsel'gives us an understanding o' the legitimacy we can apply to thenum*ers, and we should e(pect a large uncertainty.

    S 8' it was achieved *y ta&ing the *usiness targets and simply suggestingwe can 'it all the wor& into the availa*le time, we can send the

    estimator *ac& to the drawing *oard.S good estimate allows all the sta&eholders to understand what went

    into the estimate, and agree on the uncertainty associated with thatestimate. >ith that, realistic decisions can *e made. 8' there is any *lac& magic along the way, or i' there is a suggestion that you canaccurately predict, you are in 'or trou*le.

  • 8/9/2019 Estimating Projects (PMP)

    43/112

    @asic COCO"O assumptions

    8mplicit productivity estimate   Organic mode Q 3N HOC/day

      Em*edded mode Q A HOC/day

      ime re

  • 8/9/2019 Estimating Projects (PMP)

    44/112

    8ntermediate COCO"O

     a&es *asic COCO"O as starting point   8denti'ies personnel, product, computer and

     project attri*utes which a''ect cost and

    development time. "ultiplies *asic cost *y attri*ute multipliers

    which may increase or decrease costs

  • 8/9/2019 Estimating Projects (PMP)

    45/112

    ttri*utes

    Personnel attri*utes nalyst capa*ility

    Firtual machine e(perience

    Programmer capa*ility

    Programming language e(perience pplication e(perience

    Product attri*utes   elia*ility re

  • 8/9/2019 Estimating Projects (PMP)

    46/112

    "ore ttri*utes

    Computer attri*utes E(ecution time constraints

    #torage constraints

    Firtual machine volatility

    Computer turnaround time

    Project attri*utes

    "odern programming practices

    #o'tware tools

    e

  • 8/9/2019 Estimating Projects (PMP)

    47/112

    "ntermediate Model

    Effort Equation !COCOMO 8)

    E''ortQER!siJe$e(ponent

     – E !e''ort adjustment 'actor$ is the product o' e''ortmultipliers corresponding to each cost driver rating

     –  is a constant *ased on the developmental modeS organic Q 1.

    S semi Q 1.

    Sem*edded Q .M

     – #iJe Q 3s Delivered #ource 8nstruction !;D#8$

     – E(ponent is constant given mode

  • 8/9/2019 Estimating Projects (PMP)

    48/112

    COCOMO COST DRIVERSRatings range: VL, L, N, H, VH, XH

    RELY Reliability   PCAP Programmer Capability

    DATA Database Size   AEXP  Applications Experience

    CPLX Complexity   PEXP Platform Experience

    RUSE Required Reusability   LTEX Language and Tool Experience

    DOCU Documentation   PCON Personnel ContinuityTIME Execution Time Constant   TOOL se of Soft!are Tools

    STOR "ain Storage Constraint   SITE "ultisite De#elopment

    PVOL Platform $olatility   SCED Required Sc%edule

    ACAP  Analyst Capability

    Gone:VIRT,TURN,MDDP,VEXP New: RUSE, DOCU, PVOL, PCON

    E l COCOMO

  • 8/9/2019 Estimating Projects (PMP)

    49/112

    E#ample COCOMO$%' and $OO d*ustments

    COCO"O M3 ating H 6 7 F7

    COCO"O "ultiplier:

    CPHV 3. 3.34 3.1 3.1

    COCO" "ultiplier:

    OOH 3.A 3.3 3.

  • 8/9/2019 Estimating Projects (PMP)

    50/112

    "ntermediate Model E#ample

    +i,hly comple# intermediate or,anic pro*ect-ith hi,h tool use.

    Estimate 1 D#8s

    CPHV Q 3.1 !F7$OOH Q 3.3 !H$

    E Q 3.1R3.3 Q 3.A1

    E''ort Q 3.A1 R 1. R 13./4 Q 3A.4 man months"DEF Q .4 R 3A.4/.1M Q N.L months

    #ta'' re

  • 8/9/2019 Estimating Projects (PMP)

    51/112

    E(ample with %options+

    Em*edded so'tware system on microcomputer hardware. @asic COCO"O predicts a A4 person0month e''ort

    re

  • 8/9/2019 Estimating Projects (PMP)

    52/112

    Option: 7ardware 8nvestment

    Processor capacity and store dou*led   8"E and #O multipliers Q 3

    E(tra investment o' W1, re

  • 8/9/2019 Estimating Projects (PMP)

    53/112

    Cocomo in practice !ML projects$ Canned Hanguage "ultipliers were accurate – can

     *e tuned/cali*rated 'or a company.

    "odeling personnel 'actors, and creatingoptions/scenarios can *e a valua*le tool.

    ssumptions and is&s should *e 'actored into the

    model

    ool Demonstration

  • 8/9/2019 Estimating Projects (PMP)

    54/112

    ool Demonstration!we* *ased version$

    http://sunset.usc.edu/research/COCO"O88/e(pertXcocomo/e(pertXcocomo.html

    http://sunset.usc.edu/research/COCO"O88/e(pertXcocomo/e(pertXcocomo.html

    8ts ree and easy to use. #o )se it

    Iou can also get a standalone win1 version

  • 8/9/2019 Estimating Projects (PMP)

    55/112

    ree CoCo"o ools

    COCO"O 88 0 his program is an implementation o' the 3LM3 COCO"O 8ntermediate"odel. 8t predicts so'tware development e''ort, schedule and e''ort distri*ution. 8t is availa*le'or #unO# or "# >indows and can *e downloaded 'or 'ree. he COCO"O 88 model is anupdate o' COCO"O 3LM3 to address so'tware development practiceGs in the 3LLGs and Gs.

    evised 8ntermediate COCO"O !EF8C$ is availa*le 'or downloading 'rom the )#ir orce Cost nalysis gency !C$.

    ") COCO"O is an on0line version o' COCO"O 'rom e(as Y" )niversity. gile COCO"O 0 he Center continues to do research on gile COCO"O 88 a cost

    estimation tool that is *ased on COCO"O 88. 8t uses analogy *ased estimation to generateaccurate results while *eing very simple to use and easy to learn.

    COCO# 0 he )#C Center is actively conducting research in the area o' o''0the0shel'so'tware integration cost modelling. Our new cost model COCO# !COnstructive CO#$,

    'ocuses on estimating the cost, e''ort, and schedule associated with using commercial o''0the0shel' !CO#$ components in a so'tware development project. hough still e(perimental,COCO# is a model complementary to COCO"O 88, capturing costs that traditionally have *een outside the scope o' COCO"O. 8deally, once 'ully 'ormulated and validated, COCO#will *e used in concert with COCO"O to provide a complete so'tware development cost

    estimation solution. 

  • 8/9/2019 Estimating Projects (PMP)

    56/112

    esources

    #o'tware Cost Estimating >ith COCO"O 88 – @oehm,*ts, @rown, Chulani, Clar&, 7orowitJ, "adachy, ei'er, #teece 8#@6:0310NNL0

    COCO"O 88 0 http://sunset.usc.edu/research/COCO"O88/

     6# Cost Estimating >e* #ite 0 http://www3.jsc.nasa.gov/*u/COCO"O.html

    Hongstreet Consulting 0 http://www.i'pug.com/'reemanual.htm

    @arry @oehm @io 0 http://sunset.usc.edu/esearchX9roup/*arry.html

  • 8/9/2019 Estimating Projects (PMP)

    57/112

    Conclusions

    E(perience shows that seat0o'0the0pants estimates o' costand schedule are 420 42 o' the actual time/cost. hisamount o' error is enough to get a manager 'ired in manycompanies.

    Hac& o' hands0on e(perience is associated with massivecost overruns.

    echnical ris&s are associated with massive costoverruns.

    Do your estimates care'ully ;eep them up0to0date

    "anage to them

  • 8/9/2019 Estimating Projects (PMP)

    58/112

    Project #cheduling/Planning

    COCO"O his high0level resource estimation. oactually do project need more re'ined plan.

  • 8/9/2019 Estimating Projects (PMP)

    59/112

  • 8/9/2019 Estimating Projects (PMP)

    60/112

    Estimation

    7istory is your *est ally – Especially when using HOC, 'unction points, etc.

    )se multiple methods i' possi*le

     – his reduces your ris&  – 8' using %e(perts+, use two

    9et *uy0in

    emem*er: its an iterative process

    ;now your %presentation+ techni

  • 8/9/2019 Estimating Projects (PMP)

    61/112

    Estimation

    @ottom0up

    S "ore wor& to create *ut more accurate

    S O'ten with E(pert Budgment at the tas& level

    op0downS

    )sed in the earliest phasesS )sually with/as nalogy or E(pert Budgment

    nalogyS Comparison with previous project: 'ormal or in'ormal

    E(pert BudgmentS Fia sta'' mem*ers who will do the wor& S "ost common techni

  • 8/9/2019 Estimating Projects (PMP)

    62/112

    Estimation

    Parametric "ethods –  ;now the trade0o''s o': HOC Y unction Points

    unction Points –  @ene'it: relatively independent o' the technology used to

    develop the system –  >e will re0visit this *rie'ly later in semester !when discussing

    %so'tware metrics+$

     –  Fariants: >E@"O !no need to &now this 'or e(am$

    e0)se Estimation –  #ee -#P" outline

    ) Calgary

  • 8/9/2019 Estimating Projects (PMP)

    63/112

    Iour Early Phase Processes

    8nitial Planning:

    S >hy –  #O>, Charter 

    S >hat/7ow !partial/3st pass$ –  >@#

     –  Other planning documents[ #o'tware Development Plan, is& "gmt., C'g. "gmt.

    EstimatingS #iJe !

  • 8/9/2019 Estimating Projects (PMP)

    64/112

    i l

  • 8/9/2019 Estimating Projects (PMP)

    65/112

    erminology

    Precedence:S tas& that must occur *e'ore another is said to have

     precedence o' the other 

    Concurrence:S Concurrent tas&s are those that can occur at the same time

    !in parallel$

    Heads Y Hag ime

    S Delays *etween activitiesS ime re

  • 8/9/2019 Estimating Projects (PMP)

    66/112

    erminology

    "ilestones – 7ave a duration o' Jero

     – 8denti'y critical points in your schedule

     – #hown as inverted triangle or a diamond – O'ten used at %review+ or %delivery+ times

    S Or at end or *eginning o' phases

    S E(: #o'tware e

  • 8/9/2019 Estimating Projects (PMP)

    67/112

    erminology

    E(ample"ilestones

    i l

  • 8/9/2019 Estimating Projects (PMP)

    68/112

    erminology

    #lac& Y loat – loat Y #lac&: synonymous terms

     – ree #lac&  –  #lac& an activity has *e'ore it delays ne(t tas& 

     – otal #lac&  –  #lac& an activity has *e'ore delaying whole project

     – #lac& ime # Q H – E

    S E Q earliest time an event can ta&e place

    S H Q latest date it can occur w/o e(tending projects

    completion date

    # h d li h i

  • 8/9/2019 Estimating Projects (PMP)

    69/112

    #cheduling echni

  • 8/9/2019 Estimating Projects (PMP)

    70/112

     6etwor& Diagrams

    Developed in the 3L4s graphical representation o' the tas&s necessary

    to complete a project

    FisualiJes the 'low o' tas&s Y relationships

    " th ti l l i

  • 8/9/2019 Estimating Projects (PMP)

    71/112

    "athematical nalysis

    PE – Program Evaluation and eview echni

  • 8/9/2019 Estimating Projects (PMP)

    72/112

    "#0Project E(ample

    6 t & Di

  • 8/9/2019 Estimating Projects (PMP)

    73/112

     6etwor& Diagrams

    wo classic 'ormats – O: ctivity on rrow

     – O6: ctivity on 6ode

    Each tas& la*eled withS 8denti'ier !usually a letter/code$

    S Duration !in std. unit li&e days$

    here are other variations o' la*eling here is 3 start Y 3 end event

    ime goes 'rom le't to right

    6 d t

  • 8/9/2019 Estimating Projects (PMP)

    74/112

     6ode ormats

    6 t & Di

  • 8/9/2019 Estimating Projects (PMP)

    75/112

     6etwor& Diagrams

    O consists o' S Circles representing Events

     –  #uch as Zstart or Zend o' a given tas& 

    S Hines representing as&s

     –  hing *eing done Z@uild )8S a.&.a. rrow Diagramming "ethod !D"$

    O6S as&s on 6odes

     –  6odes can *e circles or rectangles !usually latter$ –  as& in'ormation written on node

    S rrows are dependencies *etween tas&s

    S a.&.a. Precedence Diagramming "ethod !PD"$

    C iti l P th

    http://sunset.usc.edu/research/COCOMOII/expert_cocomo/expert_cocomo2000.html

  • 8/9/2019 Estimating Projects (PMP)

    76/112

    Critical Path

    %he speci'ic set o' se

  • 8/9/2019 Estimating Projects (PMP)

    77/112

    Critical Path E(ample

    CP"

  • 8/9/2019 Estimating Projects (PMP)

    78/112

    CP"

    Critical Path "ethod – he process 'or determining and optimiJing the

    critical path

     6on0CP tas&s can start earlier or later w/oimpacting completion date

     6ote: Critical Path may change to another as you

    shorten the current #hould *e done in conjunction with the you Y the

    'unctional manager 

    A as& Dependency ypes

  • 8/9/2019 Estimating Projects (PMP)

    79/112

    A as& Dependency ypes

    Mandatory Dependencies

    S %7ard logic+ dependencies

    S  6ature o' the wor& dictates an ordering

    S E(: Coding has to precede testing

    S E(: )8 design precedes )8 implementation

    /iscretionary DependenciesS %#o't logic+ dependencies

    S Determined *y the project management teamS Process0driven

    S E(: Discretionary order o' creating certain modules

    A as& Dependency ypes

  • 8/9/2019 Estimating Projects (PMP)

    80/112

    A as& Dependency ypes

    E#ternal Dependencies

    S Outside o' the project itsel' 

    S E(: elease o' 1rd party product? contract signo'' 

    S E(: sta&eholders, suppliers, I;, year end

    esource DependenciesS wo tas& rely on the same resource

    S E(: Iou have only one D@ *ut multiple D@ tas&s

    as& Dependency elationships

  • 8/9/2019 Estimating Projects (PMP)

    81/112

    as& Dependency elationships

    inish0to0#tart !#$ –  @ cannot start till 'inishes

     –  : Construct 'ence? @: Paint ence

    #tart0to0#tart !##$ –  @ cannot start till starts

     –  : Pour 'oundation? @: Hevel concrete

    inish0to0inish !$ –  @ cannot 'inish till 'inishes

     –  : dd wiring? @: 8nspect electrical

    #tart0to0inish !#$ –  @ cannot 'inish till starts !rare$

    E(ample #tep 3

  • 8/9/2019 Estimating Projects (PMP)

    82/112

    E(ample #tep 3

    "ilestone Chart

  • 8/9/2019 Estimating Projects (PMP)

    83/112

    "ilestone Chart

    #ometimes called a %*ar charts+

    #imple 9antt chart

     – Either showing just highest summary *ars

     – Or milestones only

    @ar Chart

  • 8/9/2019 Estimating Projects (PMP)

    84/112

    @ar Chart

    9antt Chart

    http://pages.cpsc.ucalgary.ca/~hongd/SENG/621/report2.htmlhttp://misc/QSPM/Chapter_10.ppt#COCOMO%2081%20%20II%20Converting%20Size%20Estimateshttp://www.stsc.hill.af.mil/crosstalk/2002/jun/reifer.asphttp://fpex.doc/

  • 8/9/2019 Estimating Projects (PMP)

    85/112

    9antt Chart

    9antt Chart

  • 8/9/2019 Estimating Projects (PMP)

    86/112

    9antt Chart

    Disadvantages –  Does not show interdependencies well

     –  Does not uncertainty o' a given activity !as does PE$

    dvantages

     –  Easily understood

     –  Easily created and maintained

     6ote: #o'tware now shows dependencies among tas&s in

    9antt charts –  8n the %old+ days 9antt charts did not show these dependencies,

     *ar charts typically do not. "odern 9antt charts do show them.

    educing Project Duration

  • 8/9/2019 Estimating Projects (PMP)

    87/112

    educing Project Duration

    7ow can you shorten the schedule=

    Fia

     – educing scope !or

  • 8/9/2019 Estimating Projects (PMP)

    88/112

    Compression echni

  • 8/9/2019 Estimating Projects (PMP)

    89/112

    "ythical "an "onth

  • 8/9/2019 Estimating Projects (PMP)

    90/112

    "ythical "an0"onth

    %Cost varies as product o' men and months, progress does not.+

    %7ence the man0month as a unit 'or measuring the

    siJe o' jo* is a dangerous and deceptive myth+ eliance on hunches and guesses

     – >hat is Zgutless estimating=

    he myth o' additional manpower  – @roo&s Haw

     – % Adding manpower to a late project makes it later +

    "ythical "an0"onth

  • 8/9/2019 Estimating Projects (PMP)

    91/112

    "ythical "an0"onth

    Optimism –  %ll programmers are optimists+

     –  3st 'alse assumption: %all will go well+ or %each tas& ta&es only

    as long as it Zought to ta&e+

     –  he i(: Consider the larger pro*a*ilities Cost !overhead$ o' communication !and training$

    S 7is 'ormula: n!n03$/

     –  7ow long does a 3 month project ta&e=

     –  3 person: 3 month

     –  persons Q months ! man0months e(tra$

     –  1 persons Q 4 months !e man0months e(tra$

     –  i(: dont assume adding people will solve the pro*lem

  • 8/9/2019 Estimating Projects (PMP)

    92/112

    "ythical "an0"onth

  • 8/9/2019 Estimating Projects (PMP)

    93/112

    "ythical "an0"onth

    -: %7ow does a project get to *e a year late+= – : %One day at a time+

    #tudies

     – Each tas&: twice as long as estimated – Only 42 o' wor& wee& was programming

    i(es

     –  6o %'uJJy+ milestones !get the %true+ status$ – educe the role o' con'lict

     – 8denti'y the %true status+

    Planning and #cheduling ools

  • 8/9/2019 Estimating Projects (PMP)

    94/112

    Planning and #cheduling ools

    @ig variety o' products, 'rom simple/single project toenterprise resource management

    #ee 'or instance: –  http://www.colum*ia.edu/jm3/\Other#o'tware

     –  http://www.startwright.com/project3.htm #ome 'ree tools to play with:

     –  9anttproject !java *ased$

     –  #ome tools on linu(

    ree evaluation –  8ntellysis project des&top

     –  astrac& #chedule

    "#0Project

  • 8/9/2019 Estimating Projects (PMP)

    95/112

    "# Project

    "id0mar&et leader  7as appro(. 42 overall mar&et share

    0M2 "#0Project users never used automated project

    trac&ing prior !a %'irst+ tool$

     6ot a mid/high0end tool 'or EP" !Enterprise Project

    "gmt.$

    >hile in this class you can get a 'ree copy though "#

    cademic lliance – email me i' interested.

    Project Pros

  • 8/9/2019 Estimating Projects (PMP)

    96/112

    Project Pros

    Easy outlining o' tas&s including support 'or hierarchical>or& *rea&down structures !>@#$

    esource management

    ccuracy: *aseline vs. actual? various calculations

    Easy charting and graphics

    Cost management

    Capture historical data

  • 8/9/2019 Estimating Projects (PMP)

    97/112

  • 8/9/2019 Estimating Projects (PMP)

    98/112

    he "#0Project Process

  • 8/9/2019 Estimating Projects (PMP)

    99/112

    he "# Project Process

    "ove >@# into a Project outline !in as& #heet$

    dd resources !team mem*ers or roles$

    dd costs 'or resources

    ssign resources to tas&s Esta*lish dependencies

    e'ine and optimiJe

    Create baseline

    Track progress (enter actuals, etc.)

    Create Iour Project

  • 8/9/2019 Estimating Projects (PMP)

    100/112

    Create Iour Project

    ile/6ew #etup start date

    #etup calendar 

     –  "enu: Project/Project 8n'ormation

     –  O'ten le't with de'ault settings

     –  7ours, holidays

    Enter >@#

  • 8/9/2019 Estimating Projects (PMP)

    101/112

    Enter >@#

    Outlining

    #u*0tas&s and summary tas&s

    Do not enter start/end dates 'or each

    Bust start with as& 6ame and Duration 'or each )se 8ndent/Outdent *uttons to de'ine summary

    tas&s and su*tas&s

    Iou can enter speci'ic #tart/End dates *ut dontmost o' the time

    Esta*lish Durations

  • 8/9/2019 Estimating Projects (PMP)

    102/112

    Esta*lish Durations

    ;now the a**reviations –  h/d/w/m

     –  D is de'ault

    Can use partial

     –  .4d is a hal'0day tas& 

    Elapsed durations

    Estimated durations

     –  Put a Z= a'ter duration

    D)8O6 Q >O; !*ut initial de'ault is that it is$

    dd esources

  • 8/9/2019 Estimating Projects (PMP)

    103/112

    dd esources

    >or& esources –  People

    S !can *e 2 o' a person. ll resources split e

  • 8/9/2019 Estimating Projects (PMP)

    104/112

    esource #heet

    Can add new resources here –  Or directly in the tas& entry sheetS @eware o' mis0spellings !Project will create near0duplicates$

    #etup costs

     –  #uch as annual salary !put Zyr a'ter Z#td. ate$

    E''ort0Driven #cheduling

  • 8/9/2019 Estimating Projects (PMP)

    105/112

    o t ve #c edu g

    "#0Project de'ault Duration R )nits Q >or& 

    S Duration Q >or& / )nits !D Q >/)$

    S >or& Q Duration R )nits !> Q DR)$

    S )nits Q >or& / Duration !) Q >/D$ dding more resources to a tas& shortens duration

    Can *e changed on a per0tas& *asisS 8n the advanced ta* o' as& 8n'ormation dialog *o(

    S as& ype setting

    @eware the "ythical "an0monthS 9ood 'or laying *ric&s, not always so 'or so'tware development

    Hin& as&s

  • 8/9/2019 Estimating Projects (PMP)

    106/112

    On tool*ar: Hin& Y )nlin& *uttons –  9ood 'or many at once

    Or via 9antt chart

     –  Drag 'rom one tas& to another 

    "ilestones

  • 8/9/2019 Estimating Projects (PMP)

    107/112

    _ero duration tas&s 8nsert tas& Znormally *ut put in duration

    Common 'or reports, unctional module/test

    completions, etc.

     – 9ood #E practice says milestones ")# *e

    measura*le and well spread through the project. 

    "a&e ssignments

  • 8/9/2019 Estimating Projects (PMP)

    108/112

    g

    pproach 3. )sing as& #heet –  )sing esource 6ames column –  Iou can create new ones *y just typing0in here

    . )sing ssign esources dialog *o(

     –  9ood 'or multiple resources –  7ighlight tas&, ools/esources or tool*ar *utton

    1. )sing as& 8n'ormation dialog –  esources ta*

    A. as& Entry view –  Fiew/"ore Fiews/as& Entry

     –  Or as& Entry view on esource "gmt. tool*ar 

    #ave @aseline

  • 8/9/2019 Estimating Projects (PMP)

    109/112

    #aves all current in'ormation a*out your project –  Dates, resource assignments, durations, costs

  • 8/9/2019 Estimating Projects (PMP)

    110/112

    Project

  • 8/9/2019 Estimating Projects (PMP)

    111/112

    j

    1 Editions: #tandard, Pro'essional, #erver  "# Project #erver

     –  !@s never used server or newer$ @ased on docs.

    S )pgrade o' old %Project Central+

    S 8ncludes %Project >e* ccess+, we*0*ased )8 !partial$S >or&group and resource noti'ication 'eatures

    S e

  • 8/9/2019 Estimating Projects (PMP)

    112/112

    j

    "#0Project Pro'essional –  %@uild eam+ 'eatureS #&ills0*ased resource matching

     –  esource Pools: with s&ill set trac&ing

     –  esource #u*stitution >iJard %Project 9uide+ 'eature

     –  CustomiJa*le %process component+