effort estimation, requirement analysis

Upload: gphonsa

Post on 13-Apr-2018

227 views

Category:

Documents


0 download

TRANSCRIPT

  • 7/27/2019 Effort Estimation, Requirement Analysis

    1/44

    A S S I S T A N T P R O F E S S O R

    L P U , P U N J A B

    Software Project Management

  • 7/27/2019 Effort Estimation, Requirement Analysis

    2/44

    Till far we have studied

    Whats a project?

    What makes software projects different

    Project Perspectives

    Software Management Basics

  • 7/27/2019 Effort Estimation, Requirement Analysis

    3/44

    1.1 What is a Project?

    Project is a temporary endeavor undertaken to create aunique product or service.

    Project is a well defined set of tasks or activities thatmust be completed in order to meet the projects goal.

    Non routine tasks : Planning reqd. Sp. Objective to be met/ sp. Products to be created Predetermined time span Work is done for others Work is carried out in several phases Resource constraints Projects could be large and/or complex

  • 7/27/2019 Effort Estimation, Requirement Analysis

    4/44

    1.2 Project vs Programme

    Project is a nonrepetitive set of activities leading tosingular product or service and gets over in a limited /finite time frame Great wall of China Suez Canal

    Taj Mahal Programme is a repetitive array of activities carried out

    on a longer/ indefinite time frame to accomplish manyno of similar / dissimilar projects

    Identify : project or programme ???? putting a robot vehicle on Mars to search for sign of

    life Writing an operating system

  • 7/27/2019 Effort Estimation, Requirement Analysis

    5/44

    1.3 Project Success or Failure

    A project success is usually measured in terms ofwhether it is completed within specified time and understipulated budget

    If it exceeds uncontrollably it is termed as a failure.

    However there is more to a projects success than just itscompletion within time and budget

    Meeting customer specifications Degree of customer satisfactions

    Level of success in the market place

    Result in greater revenue and profits

  • 7/27/2019 Effort Estimation, Requirement Analysis

    6/44

    1.4 Software project vs other project

    Invisibility,A bridge or road can actually be seen.With software, progress is not immediately visible.

    Complexity,Per dollar, pound or euro spent,

    software products contain more complexity thanother engineered artefacts.

    Conformity,Software developers have toconform to the requirements of human clients

    Flexibility,The ease with which software can bechanged is usually seen as one of its strengths.

  • 7/27/2019 Effort Estimation, Requirement Analysis

    7/44

    1.5 Type of Software

    System Software

    Real time Software

    Business Software

    Engg. N scientific Software Embedded Software

    PC based Software

    Web based Software AI based Software

    Open source Software

  • 7/27/2019 Effort Estimation, Requirement Analysis

    8/44

    1.6 Problem with software project

    poor estimates and plans;

    lack of quality standards and measures;

    lack of guidance about making organizational

    decisions; lack of techniques to make progress visible;

    poor role definition who does what?

    incorrect success criteria.

  • 7/27/2019 Effort Estimation, Requirement Analysis

    9/44

    1.7 Why Projects need to be Managed ?

    Because resources are limited

    Because project has to be delivered within time and budget

    Therefore in order to maximise output (with regard toproject delivery) with the limited input resource ,managerial attention is needed.

  • 7/27/2019 Effort Estimation, Requirement Analysis

    10/44

    1.8 Project Management (Defn.)

    PMI defines Project Management as the Art of directing

    and coordinating human and material resources through

    out the life of a project by using modern management

    techniques to achieve predetermined objectives of scope,

    cost, time, quality and participant satisfaction

  • 7/27/2019 Effort Estimation, Requirement Analysis

    11/44

    1.9 Activities in Software Project Management

    There are four broad phases in any project life cycle

    1. Preplanning--- Conceptualization, Formulation and Selection(Project feasibility study, Project Scoping)

    2. Planning--- Task definition and break ups, resource estimation

    3. Scheduling and Control--- Resource allocation, task execution,feedback and review

    4. Implementation and Termination--- Project completion,closure and hand over.

  • 7/27/2019 Effort Estimation, Requirement Analysis

    12/44

  • 7/27/2019 Effort Estimation, Requirement Analysis

    13/44

    13

    1.10 Step Wise Project planning

    1. Identify

    project objectives

    2. Identify projectinfrastructure

    3. Analyseproject

    characteristics

    4. Identify products

    and activities

    5. Estimate effort

    for activity

    8. Review/ publicize

    plan

    6. Identify activity

    risks

    7. Allocate

    resources

    9. Execute plan

    10. Lower level

    planning

    Review

    Lowerleveldetail

    For eachactivity

    0.Selectproject

  • 7/27/2019 Effort Estimation, Requirement Analysis

    14/44

    A project scenario

    LPU Shopping mall Project Where to setup ..

    Which brand

    Facilities

    Stakeholders Virtual money

  • 7/27/2019 Effort Estimation, Requirement Analysis

    15/44

    Step 1 establish project scope andobjectives

    1.1 Identify objectives and measures of effectiveness how do we know if we have succeeded?

    1.2 Establish a project authority who is the boss?

    1.3 Identify all stakeholders in the project and their interests who will be affected/involved in the project?

    1.4 Modify objectives in the light of stakeholder analysis do we need to do things to win over stakeholders?

    1.5 Establish methods of communication with all parties how do we keep in contact?

  • 7/27/2019 Effort Estimation, Requirement Analysis

    16/44

    Step 2 Establish project infrastructure

    2.1 Establish link between project and any strategicplan

    why did they want the project?

    2.2 Identify installation standards and procedures what standards do we have to follow?

    Software life cycle??

    2.3. Identify project team organization where do I fit in?

  • 7/27/2019 Effort Estimation, Requirement Analysis

    17/44

    Step 3 Analysis of project characteristics

    3.1 Distinguish the project as either objective or product-based. Is there more than one way of achieving success?

    3.2 Analyse other project characteristics (including quality basedones) what is different about this project?

    Identify high level project risks what could go wrong? what can we do to stop it?

    Take into account user requirements concerning implementation

    Select development methodology and life cycle approach waterfall? Increments? Prototypes?

    Review overall resource estimates does all this increase the cost?

  • 7/27/2019 Effort Estimation, Requirement Analysis

    18/44

    Step 4 Identify project productsand activities

    4.1 Identify and describe project products - whatdo we have to produce? What will be the deliverables

  • 7/27/2019 Effort Estimation, Requirement Analysis

    19/44

    19

    Products

    The result of an activity

    Could be (among other things) physical thing (installed pc),

    a document (logical data structure)

    a person (trained user)

    a new version of an old product (updated software)

    The following are NOT normally products: activities (e.g. training, design, testing )

    events (e.g. interviews completed)

    Products CAN BE deliverableor intermediate

  • 7/27/2019 Effort Estimation, Requirement Analysis

    20/44

    Product breakdown structure(PBS)

    Main product have sets of component products Product are grouped into those relating to the system

    as whole and those related to individual module.

    ProjectProducts

    SystemProject

    ModuleProducts

    ManagementProjects

    ProgressReport

    Module CodeModuleDesign doc

    Testedintegratedsoftware

    Overallspecification

  • 7/27/2019 Effort Estimation, Requirement Analysis

    21/44

    21

    Product description (PD)

    Product name/identity Description - what is it?

    Derivation - what is itbased on?

    Composition - what doesit contain?

    Format: form of theproduct

    Relevant standards Quality criteria

    PDs can usually be re-used from one project toanother.

  • 7/27/2019 Effort Estimation, Requirement Analysis

    22/44

    Step 4 continued

    4.2 Document Generic Product flows

    Need of other product to exit first before theircreation

    Product flow diagram (PFD) Shows the order in which the products have to be completed. Defines a method of working

    22

    User

    Requirement

    Overall systemSpecificationModule

    design

    Integratedsystem test case

    Module code

    Integrated

    software

  • 7/27/2019 Effort Estimation, Requirement Analysis

    23/44

    23

    Step 4.3 Recognize product instances

    The project breakdown structure (PBS ) andProject flow diagram(PFD) will probably haveidentified generic products e.g. software modules

    It might be possible to identify specific instances e.g.module A, module B

    But in many cases this will have to be left to later,

    more detailed, planning

  • 7/27/2019 Effort Estimation, Requirement Analysis

    24/44

    24

    4.4. Produce ideal activity network

    Identify the activities needed to create each productin the PFD

    More than one activity might be needed to create a

    single product Draw up activity network

  • 7/27/2019 Effort Estimation, Requirement Analysis

    25/44

    25

    An ideal activity

    Specify overall

    systemDesign

    Module A

    Design Integration

    Test case

    DesignModule B

    Code module

    A

    Test Integration

    software

    Code moduleB

  • 7/27/2019 Effort Estimation, Requirement Analysis

    26/44

  • 7/27/2019 Effort Estimation, Requirement Analysis

    27/44

  • 7/27/2019 Effort Estimation, Requirement Analysis

    28/44

  • 7/27/2019 Effort Estimation, Requirement Analysis

    29/44

  • 7/27/2019 Effort Estimation, Requirement Analysis

    30/44

    30

    Step 4.5 Add check-points if neededDesign

    module A

    Designmodule B

    Designsystem

    Design

    module C

    Codemodule A

    Codemodule B

    Code

    module C

    Testsystem

    Designmodule A

    Designmodule B

    Designsystem

    Designmodule C

    Codemodule A

    Codemodule B

    Codemodule C

    Testsystem

    Check-point

    put in a

    check point

  • 7/27/2019 Effort Estimation, Requirement Analysis

    31/44

    31

    Step 5:Estimate effort for each activity

    5.1 Carry out bottom-up estimates Estimation of staff effort required

    distinguish carefully between effortand elapsedtime

    Effort : Total number of staff-hours (or days etc) needed tocomplete a task

    Elapsed: time between the start and end of the task.

    5.2. Revise plan to create controllable activities

    break up very long activities into a series of smaller onesas we cant judge the status in long activities

    bundle up very short activities (create check lists)

  • 7/27/2019 Effort Estimation, Requirement Analysis

    32/44

    32

    Step 6: Identify activity risks

    6.1.Identify and quantify risks for activities damage if risk occurs (measure in time lost or money)

    likelihood if risk occurring

    Identify the assumptions : client requirement is clear

    6.2. Plan risk reduction and contingencymeasures

    risk reduction: activity to stop risk occurring

    contingency: action if risk does occur Eg : contracting staff

  • 7/27/2019 Effort Estimation, Requirement Analysis

    33/44

    33

    6.3 Adjust overall plans and estimates to takeaccount of risks

    e.g. add new activities which reduce risks associated withother activities e.g. training, pilot trials, information

    gathering

  • 7/27/2019 Effort Estimation, Requirement Analysis

    34/44

    34

    Step 7: Allocate resources

    7.1 Identify and allocate resources to activities Eg staff need for each activities

    7.2 Revise plans and estimates to take into accountresource constraints More than one task assigned to staff

    e.g. staff not being available until a later date

    non-project activities

    LT = lead tester

  • 7/27/2019 Effort Estimation, Requirement Analysis

    35/44

    The McGraw-Hill Companies, 200535

    Gantt charts

    Select subjects

    Design

    questionnaire

    Book machine

    Conduct tests

    Analyse results

    Weekcommencing

    5 12 19 26MARCH

    APRIL

    9 16

    Plan testing

    2

    Draft changes

    LT

    TA

    LT

    TA

    LT

    LT

    TA

    TA = testing assistant

  • 7/27/2019 Effort Estimation, Requirement Analysis

    36/44

    36

    Step 8: Review/publicise plan

    8.1 Review quality aspects of project plan

    Each task should have quality criteria

    Quality check has to be passed

    8.2 Document plan and obtain agreement Proper documentation

    Agreement of all parties

    Step 9 and 10: Execute planand create lower level plans

  • 7/27/2019 Effort Estimation, Requirement Analysis

    37/44

    Step 9 &10: Execute plan/ low levelof planning

    Make provisional plan for distant task

    Execute plan

    S Wi P j l i

  • 7/27/2019 Effort Estimation, Requirement Analysis

    38/44

    38

    Step Wise Project planning

    1. Identify

    project objectives

    2. Identify projectinfrastructure

    3. Analyseproject

    characteristics

    4. Identify products

    and activities

    5. Estimate effort

    for activity

    8. Review/ publicize

    plan

    6. Identify activity

    risks

    7. Allocate

    resources

    9. Execute plan

    10. Lower level

    planning

    Review

    Lowerleveldetail

    For eachactivity

    0.Selectproject

  • 7/27/2019 Effort Estimation, Requirement Analysis

    39/44

    Draw up a product breakdown structure ofa computer.

    d t b kd t t f

  • 7/27/2019 Effort Estimation, Requirement Analysis

    40/44

    a product breakdown structure ofa computer.

  • 7/27/2019 Effort Estimation, Requirement Analysis

    41/44

    Scenario

    There is a garden shed in a garden. The project is todismantle the shed and reassemble it in the gardenof a close neighbour. The shed has some rottenpieces. When the shed has been dismantled, theserotten pieces must be identified and replacementsordered from the company that supplied the originalshed. New fixtures and fittings (screws, nuts and

    bolts, glue etc.) for all pieces will be needed, so a listof the requirements is to be made as the shed isdismantled. The neighbour has said that he willprepare the site for the sheds new location as part of

    his own, separate project.

  • 7/27/2019 Effort Estimation, Requirement Analysis

    42/44

    product breakdown structure of the old shed

  • 7/27/2019 Effort Estimation, Requirement Analysis

    43/44

    Product Flow Diagram

  • 7/27/2019 Effort Estimation, Requirement Analysis

    44/44

    Develop a project planning for Course SchedulingSystem in LPU .

    Course scheduling software is meant to create aschedule for courses in a department, given thepreferences of professors and the information on

    available rooms and timeslots for courses