Kuliah 3- Estimation.pdf

download Kuliah 3- Estimation.pdf

of 52

Transcript of Kuliah 3- Estimation.pdf

  • 8/18/2019 Kuliah 3- Estimation.pdf

    1/52

    Estimation

    Eddy Gunawan, S.T.P, M.T.I

  • 8/18/2019 Kuliah 3- Estimation.pdf

    2/52

    What is estimation?The project manager must set expectations

    about the time required to complete thesoftware among the stakeholders, the team,and the organization’s management.

    http://www.stellman-greene.com2

    ose expec a ons are no rea s c rom ebeginning of the project, the stakeholders willnot trust the team or the project manager.

  • 8/18/2019 Kuliah 3- Estimation.pdf

    3/52

    Estimation AccuracyDefinition phase

    50-100% inaccurateAnalysis PhaseAccuracy of the estimation is double

    -Design

    About 10% inaccurate

  • 8/18/2019 Kuliah 3- Estimation.pdf

    4/52

    Elements of a Sound EstimateTo generate a sound estimate, a projectmanager must have:

    A work breakdown structure (WBS), or a list of taskswhich, if completed, will produce the final productAn effort estimate for each task

    http://www.stellman-greene.com4

    A list of assumptions which were necessary formaking the estimateConsensus among the project team that theestimate is accurate

  • 8/18/2019 Kuliah 3- Estimation.pdf

    5/52

    Assumptions Make Estimates MoreAccurate

    Team members make assumptions about thework to be done in order to deal withincomplete information

    Any time an estimate must be based on a decisionthat has not yet been made, team members canassume the answer for the sake of the estimate

    http://www.stellman-greene.com5

    Assumptions must be written down so that if theyprove to be incorrect and cause the estimate to beinaccurate, everyone understands what happenedAssumptions bring the team together very early onin the project so they can make progress onimportant decisions that will affect development

  • 8/18/2019 Kuliah 3- Estimation.pdf

    6/52

    Estimation Joke

  • 8/18/2019 Kuliah 3- Estimation.pdf

    7/52

    Work Breakdown StructuresThe key to any plan is breaking the requiredactivities into smaller and smaller pieces.A WBS begins by listing the major components ofthe project.

    breaking the project up into the major pieces is tostart with phases of software developmentLower levels of the WBS are obtained bybreaking down each piece at the level above intoits component activities

  • 8/18/2019 Kuliah 3- Estimation.pdf

    8/52

  • 8/18/2019 Kuliah 3- Estimation.pdf

    9/52

    WBS Numbering SystemLevel 0 or project title, is 0.0

    Each level 1 item is N.0 , ex: 1.0 , 2.0 etcEach level 2 item below level 1 item N.0 isnumbered N.1, N.2, etc.

  • 8/18/2019 Kuliah 3- Estimation.pdf

    10/52

    WBS Numbering System Example

  • 8/18/2019 Kuliah 3- Estimation.pdf

    11/52

    When Do You Stop?The lowest level entries are the tasks, or activitiesin the project. You can stop breaking down a taskif the following is true :

    1. Some person (or group for a larger project) cantake responsibility for the task.

    2. You can get a rough estimate of the effortneeded to perform the activity involved.3. You can schedule the task. Calender duration

    and its precedents is clear.4. The task must be small and able to be

    completed

  • 8/18/2019 Kuliah 3- Estimation.pdf

    12/52

    WBS with estimation example

  • 8/18/2019 Kuliah 3- Estimation.pdf

    13/52

    WBS for Software ImplementationProject

  • 8/18/2019 Kuliah 3- Estimation.pdf

    14/52

    WBS for Software ImplementationProject (cont’)

  • 8/18/2019 Kuliah 3- Estimation.pdf

    15/52

    WBS for Software ImplementationProject (cont’)

  • 8/18/2019 Kuliah 3- Estimation.pdf

    16/52

    WBS for Web Design Project

  • 8/18/2019 Kuliah 3- Estimation.pdf

    17/52

    WBS for Web Design Project (cont’)

  • 8/18/2019 Kuliah 3- Estimation.pdf

    18/52

    WBS for Web Design Project (cont’)

  • 8/18/2019 Kuliah 3- Estimation.pdf

    19/52

    Estimation techniques

    Use of professional judgment

    Use of historyUse of formulas

  • 8/18/2019 Kuliah 3- Estimation.pdf

    20/52

    Wideband Delphi Wideband Delphi is a process that a team canuse to generate an estimate

    The project manager chooses an estimation team,and gains consensus among that team on theresults

    http://www.stellman-greene.com20

    because it consists of a straightforward set of stepsthat can be performed the same way each time

  • 8/18/2019 Kuliah 3- Estimation.pdf

    21/52

    The Wideband Delphi ProcessStep 1: Choose the team

    The project manager selects the estimation teamand a moderator. The team should consist of 3 to 7project team members.

    The moderator should be familiar with the Delphi process,but should not have a stake in the outcome of the session if

    http://www.stellman-greene.com21

    possible.If possible, the project manager should not be themoderator because he should ideally be part of theestimation team.

  • 8/18/2019 Kuliah 3- Estimation.pdf

    22/52

    The Wideband Delphi ProcessStep 2: Kickoff Meeting

    The project manager must make sure that eachteam member understands the Delphi process, hasread the vision and scope document and any otherdocumentation, and is familiar with the project

    http://www.stellman-greene.com22

    background and needs.The team brainstorms and writes downassumptions.The team generates a WBS with 10-20 tasks.The team agrees on a unit of estimation.

  • 8/18/2019 Kuliah 3- Estimation.pdf

    23/52

    The Wideband Delphi ProcessStep 3: Individual Preparation

    Each team member independently generates a setof preparation results.For each task, the team member writes down anestimate for the effort re uired to com lete the task,

    http://www.stellman-greene.com23

    and any additional assumptions he needed to makein order to generate the estimate.

  • 8/18/2019 Kuliah 3- Estimation.pdf

    24/52

    Individual Preparation result

  • 8/18/2019 Kuliah 3- Estimation.pdf

    25/52

    The Wideband Delphi ProcessStep 4: Estimation Session

    During the estimation session, the team comes to aconsensus on the effort required for each task in theWBS.Each team member fills out an estimation form

    http://www.stellman-greene.com25

    which contains his estimates.The rest of the estimation session is divided intorounds during which each estimation team memberrevises her estimates based on a group discussion.Individual numbers are not dicsussed.

  • 8/18/2019 Kuliah 3- Estimation.pdf

    26/52

  • 8/18/2019 Kuliah 3- Estimation.pdf

    27/52

    The Wideband Delphi Process

    Step 4: Estimation Session (continued)The moderator collects the estimation forms andplots the sum of the effort from each form on a line:

    http://www.stellman-greene.com 27

  • 8/18/2019 Kuliah 3- Estimation.pdf

    28/52

    The Wideband Delphi ProcessStep 4: Estimation Session (continued)

    The team resolves any issues or disagreements that are brought up.Individual estimate times are not discussed. These disagreements areusually about the tasks themselves. Disagreements are often resolved byadding assumptions.

    The estimators all revise their individual estimates. The moderatorupdates the plot with the new total:

    http://www.stellman-greene.com 28

  • 8/18/2019 Kuliah 3- Estimation.pdf

    29/52

    The Wideband Delphi ProcessStep 4: Estimation Session (continued):

    The moderator leads the team through several rounds of

    estimates to gain consensus on the estimates. The estimationsession continues until the estimates converge or the team isunwilling to revise estimates.

    Step 5: Assemble Tasks

    http://www.stellman-greene.com29

    The project manager works with the team to collect theestimates from the team members at the end of the meetingand compiles the final task list, estimates and assumptions.

    Step 6: Review ResultsThe project manager reviews the final task list with theestimation team.

  • 8/18/2019 Kuliah 3- Estimation.pdf

    30/52

  • 8/18/2019 Kuliah 3- Estimation.pdf

    31/52

    Other Estimation TechniquesPROBE, or Proxy Based Estimating

    PROBE is based on the idea that if an engineer is building acomponent similar to one he built previously, then it will take about

    the same effort as it did in the past.Individual engineers use a database to maintain a history of the effortthey have put into their past projects.A formula based on linear regression is used to calculate the estimatefor each task from this history.

    http://www.stellman-greene.com31

    COCOMO IIIn Constructive Cost Model, or COCOMO, projects are summarizedusing a set of variables that must be provided as input for a modelthat is based on the results of a large number of projects across theindustry.The output of the model is a set of size and effort estimates that can

    be developed into a project schedule.

  • 8/18/2019 Kuliah 3- Estimation.pdf

    32/52

    COCOMO VersionsCO (Constructive) CO (Cost) MO (Model)First version: 1981 by Dr. Barry Boehm

    Now known now as “COCOMO 81”

    Second version: ADA Cocomo (ADA 87);parameterized exponent reflecting moremodern practices and their economies of

    scale.Current Version: Cocomo II (circa 2000)Regression formula, with data taken fromhistorical projects and current projectcharacteristics.

    ocomo :

  • 8/18/2019 Kuliah 3- Estimation.pdf

    33/52

    ocomo :Limitations as years progressed

    Software reuse

    Application generation programsObject oriented approaches

    ,translation)Rapid development

  • 8/18/2019 Kuliah 3- Estimation.pdf

    34/52

    Other Estimation TechniquesThe Planning Game

    The Planning Game is the software project planning methodfrom Extreme Programming (XP), a lightweight developmentmethodology developed by Kent Beck in the 1990s atChrysler.It is a full planning process that combines estimation withidentifying the scope of the project and the tasks required to

    http://www.stellman-greene.com34

    .

    The Planning Game is highly iterative. The scope isestablished by having Development and Business worktogether to interactively write “user stories” written on indexcards to describe the scope. Each story is given an estimate of1, 2 or 3 weeks. This process is repeated continuouslythroughout the project.

  • 8/18/2019 Kuliah 3- Estimation.pdf

    35/52

    Estimating ProgrammingOne formula approach that has been verysuccessful for estimating the programming phaseis a simplified function point approach

    D = C x (G + J)

    Where :D is the task durationC is the complexity factorG is the general experience factorJ is the job knowledge factor

  • 8/18/2019 Kuliah 3- Estimation.pdf

    36/52

    Complexity factorTo derive complexity factor of a task :

    Break it down to smallest posible repeatable functionswithin taskAdd up the complexity of each function (function points)

    Function points :User input

    User displayPeripheral I/ORestructuring dataCondition checkingCalculationBranchingCalling

  • 8/18/2019 Kuliah 3- Estimation.pdf

    37/52

    Weighting Factors for ProgramComplexity

  • 8/18/2019 Kuliah 3- Estimation.pdf

    38/52

    Weighting Factors for ProgramComplexity (cont’)

  • 8/18/2019 Kuliah 3- Estimation.pdf

    39/52

    Productivity FactorsProductivity is influence by :

    General years of experienceknowledge of the jobInterest level

    Etc

  • 8/18/2019 Kuliah 3- Estimation.pdf

    40/52

    Factors for Job Knowledge (J)

  • 8/18/2019 Kuliah 3- Estimation.pdf

    41/52

    ExampleLet us estimate how long it would take to write a particularPASCAL program. The numbers in parenthesis arereferences to lines in the calculation below.(1)T'he program prompts the user for something, (2)readsthe user response,(3)validates it, (4)reads a record from disk. (5)calculates a

    ,

    back to disk, (7)displays the result to the user, and (8)callsanother module (returns).(9)The programmer has two years of experience, is a goodbut average programmerwho has (10)fair knowledge of this particular application,but no knowledge of relatedapplications. (1 1)Some job knowledge is needed to do this

    job.

  • 8/18/2019 Kuliah 3- Estimation.pdf

    42/52

    Function Factor

    (1) User display (simple) 2

    (2) User input (simple) 2(3) Condition checking (complex) 4

    (4) Peripheral input (simple) 4

    a cu a on s mp e

    (6) Peripheral output (simple) 4

    (7) User display (simple) 2

    (8) Calling (simple) 3

    Total Complexity 23

  • 8/18/2019 Kuliah 3- Estimation.pdf

    43/52

    General experience G(9) Programmer is average (2 yrs. Exp) G=1.00

    Job knowledge J(10) Fair knowledge of application, no knowledge,

    = .

    Plugging all this into Formula :Duration = 23 x (1.00 + 0.75) = 40.25 person days

    It will take particular person 40 days to design,document, code an test this program

  • 8/18/2019 Kuliah 3- Estimation.pdf

    44/52

    Estimating The Analysis PhaseEstimating analysis is very difficult because it issuch a human oriented activity.

  • 8/18/2019 Kuliah 3- Estimation.pdf

    45/52

    Analysis Estimating Worksheet

    l k h

  • 8/18/2019 Kuliah 3- Estimation.pdf

    46/52

    Analysis Estimating Worksheet

    (cont’)

  • 8/18/2019 Kuliah 3- Estimation.pdf

    47/52

    Example of Estimating Analysis

    E l f E i i A l i

  • 8/18/2019 Kuliah 3- Estimation.pdf

    48/52

    Example of Estimating Analysis

    (cont’)

  • 8/18/2019 Kuliah 3- Estimation.pdf

    49/52

    Ratio

  • 8/18/2019 Kuliah 3- Estimation.pdf

    50/52

    Estimating Rule of ThumbNever ask an inexperienced person to estimateEstimate in a group if you can afford themanpowerNever force an estimate on a professional suchas programmer

    Never take an average of different estimatesGranularize down to one week or lessAlways add for contingencyAlways quote a range when giving estimates tomanagers or clientUse your ‘gut feel’

  • 8/18/2019 Kuliah 3- Estimation.pdf

    51/52

    ReferenceAndrew Stellman dan Jennifer Greene (2005),Applied Software Project Management, Edisi ke-1, O’Reilly Media Inc.2. John J. Rakos (1990), Software Project

    ,

    Prentice Hall.

  • 8/18/2019 Kuliah 3- Estimation.pdf

    52/52

    Tugas 2Melanjutkan tugas 1, dari vision, scope danproject plan dari tugas 1, buatlah :

    1. Work breakdown structure project2. Estimasi project

    Tugas dikumpulkan pada perkuliahan berikutnya.