spm (16-17 october 2009)

Upload: muhammad-bilal

Post on 07-Apr-2018

216 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/6/2019 SPM (16-17 october 2009)

    1/57

    Software Engineering ConceptSoftware Engineering Concept

    Software Project Management (SPM)Software Project Management (SPM)

  • 8/6/2019 SPM (16-17 october 2009)

    2/57

    Software, Project, ManagementSoftware, Project, Management

    SoftwareSoftware

    A computer program.A computer program.

    ProjectProject

    Dictionary definitions of project includes:- A specific plan or design.

    - A plan is undertaken.

    The process of planning, designing and implementing computer systems is

    called a project.

    A Project is a series of steps designed to coordinate the achievement of a

    specific goal. A definite start and end point

    ManagementManagement

    Management in all business and human organization activity is simply the act

    of getting people together to accomplish desired goals and objectives.

  • 8/6/2019 SPM (16-17 october 2009)

    3/57

    Software ProjectsSoftware Projects

    size

    delivery deadline

    budgets and costs

    application domain

    technology to be implemented

    system constraints

    user requirements

    available resources

    Factors that influence the end result ...

  • 8/6/2019 SPM (16-17 october 2009)

    4/57

    an unrealistic deadline is established

    changing customer requirements

    an honest underestimate of effort

    Delays in Implementation

    technical difficulties

    miscommunication among project staff

    failure in project management

    Why Projects Fail?Why Projects Fail?

  • 8/6/2019 SPM (16-17 october 2009)

    5/57

    Project RisksProject Risks

    Each project faces risks.

    The main project risk factors are

    - Experience factors.

    - Planning factors.

    - Technology factors.

    - External factors.

    -- Requirements factorsRequirements factors

  • 8/6/2019 SPM (16-17 october 2009)

    6/57

    ManagementManagement

    Management ElementsManagement Elements

  • 8/6/2019 SPM (16-17 october 2009)

    7/57

    ManagementManagement

    Management is consist of seven Functions:.

    Planning

    Organizing

    Leading

    Coordination

    Controlling

    Staffing

    Motivation

  • 8/6/2019 SPM (16-17 october 2009)

    8/57

    Project ManagementProject Management

    Project management is the process of planning, organizing, staffing,

    monitoring, controlling, and leading a software project.

    The project management is technique used by the manager to ensure

    successful completion of a project.

    Every project has a project managerwho leads the team and is theinterface of the project to the outside world.

    Good planning is essential to succeed.

    The major planning activities are:

    Define Products to be delivered.

    Define Activities (work packages).

    Estimate Resources and Duration.

    Define Activity Network.

    Define Schedule and Total Cost.

  • 8/6/2019 SPM (16-17 october 2009)

    9/57

    Project Management PhasesProject Management Phases

  • 8/6/2019 SPM (16-17 october 2009)

    10/57

    People the most important element of a successful project

    Product the software to be built

    Process the set of framework activities and software engineering tasks to

    get the job done

    Project all work required to make the product a reality

    The 4 PsThe 4 Ps

  • 8/6/2019 SPM (16-17 october 2009)

    11/57

    Project Management Concerns

    staffing?

    cost esti ation?

    project scheduling?

    project onitoring?

    other resources?

    custo er co unication?

    risk assess ent?

    product quality?

    easure ent?

  • 8/6/2019 SPM (16-17 october 2009)

    12/57

    The Project Manager

    The project manager ...

    ... produces the Software Project Management Plan (SPMP).

    ... defines the roles in the project and allocates staff to them.

    Examples of roles are: project manager, software librarian,

    programmer, team leader, test engineer, quality assurance engineer.

    ... controls the project by informing staff of their part in the plan.

    ... leads the project by taking the major decisions and by motivating

    staff to perform well.

    ... monitors the project by measuring progress.

    ... reports progress to the initiator and senior management.

  • 8/6/2019 SPM (16-17 october 2009)

    13/57

    The Project Manager

    The project manager is also responsible for the major technical

    decisions, for example concerning methods and tools, design and

    coding standards, software requirements, etc.

    The project manageridentifies the people the project deals with and

    ensures that a single named contact exists both within the project teamand each external group.

  • 8/6/2019 SPM (16-17 october 2009)

    14/57

    Software Project Management

    Software project management is a sub-discipline of project

    management in which software projects are planned, monitored and

    controlled.

    Software project management drives all software development in the

    world today.

    It is the unifying structure that brings programmers and customers

    together to create new products.

  • 8/6/2019 SPM (16-17 october 2009)

    15/57

    Project Planning

    DETERMINE THE OVERALL OBJECTIVES

    DETERMINE PRIMARY ACTIVITIES

    DETERMINE PRECEDENCE HIERARCHY

    CREATE A PROJECT SCHEDULE NETWORK

  • 8/6/2019 SPM (16-17 october 2009)

    16/57

    Project PlanningProject Planning

    Probably the most time-consuming project management activity

    Continuous activity from initial concept through to system delivery. Plans

    must be regularly revised as new information becomes available

    Various different types of plan may be developed to support the main

    software project plan that is concerned with schedule and budget

    The major planning activities are:

    Define Products to be delivered.

    Define Activities (work packages).

    Estimate Resources and Duration.Define Activity Network.

    Define Schedule and Total Cost.

  • 8/6/2019 SPM (16-17 october 2009)

    17/57

    Project Planning

    Define Products

    The first planning activity is to define the products to be delivered.

    Define Activities

    First a process model is defined:

    Choose a life cycle (waterfall, incremental).

    Define a process model for each phase: define the inputs and

    outputs of each activity.

    There are examples of the process models for the- The Software Requirements Definition Phase.

    - TheArchitectural Design Phase.

    - The Detailed Design and Production Phase.

    Select methods and tools.

  • 8/6/2019 SPM (16-17 october 2009)

    18/57

    Project Planning

    Estimate Resources and Duration

    Define the roles in the project.

    Examples of roles are:

    - project manager,- programmer,

    Some common estimation methods are:

    1. COCOMO (Constructive Cost Model): uses the estimated

    lines of codeas input to calculate the effort.

    2. Function Point Analysis: performs a cost calculation by

    counting things

    like the number of inputs, outputs and stores.

  • 8/6/2019 SPM (16-17 october 2009)

    19/57

    Project Planning

    Define Activity Network

    An activity network consists of nodes representing the work

    packages with arrows linking them.

    The critical path is the longest path through the network in terms ofduration.

    The float time of a work package is the difference between the earliest

    and latest start times for this package. It is the amount of time the

    activity can be moved without affecting the total duration of the project.

    Define Schedule and Total Cost

    The activity network constraints the schedule but does not yet define it.

  • 8/6/2019 SPM (16-17 october 2009)

    20/57

    The project manager decides upon the actual start and end times of

    each work packages.

    Things to consider:

    o Comply with time and resource constraints.

    o Minimize the total cost.

    o Minimize the fragmentation of resource allocations.

    o Allow for any risks that may affect the project.o AGantt chart is the usual way to present a project schedule. Work

    packages are along the vertical axis, time along the horizontal axis.

    oThe chart displays work packages (grey horizontal bars) and

    milestones (squares).

  • 8/6/2019 SPM (16-17 october 2009)

    21/57

    Project Plan

    Theproject plan defines the work that will be done on the project and

    who will do it. It consists of:

    A statement of work (SOW) that describes all work products that will

    be produced and a list of people who will perform that work

    A resource list that contains a list of all resources that will be needed

    for the product and their availability

    A work breakdown structure This is a list of tasks which, if performed,

    will generate all of the work products needed to build the software.

    An estimate of the effort required for each task in the WBS is

    generated.

  • 8/6/2019 SPM (16-17 october 2009)

    22/57

    Project Plan

    A project schedule is created by assigning resources and determining

    the calendar time required for each task.

    A risk plan that identifies any risks that might be encountered and

    indicates how those risks would be handled should they occur

    Estimates and projectschedules will be discussed in detail

    in laterslides.

  • 8/6/2019 SPM (16-17 october 2009)

    23/57

    Types of project plan

    Plan Description

    Quality plan Describes the quality procedures andstandards that will be used in a project.

    Validation plan Describes the approach, resources and

    schedule used for system validation.Configurationmanagement plan

    Describes the configuration managementprocedures and structures to be used.

    Maintenance plan Predicts the maintenance requirements ofthe system, maintenance costs and effort

    required.Staff development plan. Describes how the skills and experience of

    the project team members will bedeveloped.

  • 8/6/2019 SPM (16-17 october 2009)

    24/57

    Project plan structure

    Introduction

    Project organisation

    Risk analysis

    Hardware and software resource requirements

    Work breakdown

    Project schedule

    Monitoring and reporting mechanisms

  • 8/6/2019 SPM (16-17 october 2009)

    25/57

    Project Scheduling

    Split project into tasks and estimate time and resources required to

    complete each task

    Organize tasks concurrently to make optimal use of workforce

    Minimize task dependencies to avoid delays caused by one task waiting foranother to complete

    Dependent on project managers intuition and experience

  • 8/6/2019 SPM (16-17 october 2009)

    26/57

    Objectives of Project Scheduling

    Effective time Management.

    Determine sequence of elements

    Determine necessary resources

    Monitor project progress

  • 8/6/2019 SPM (16-17 october 2009)

    27/57

    PRIMARY COMPONENTS IN A SCHEDULE

    ACTIVITIES

    o SPECIFIC FUNCTION

    o FINITE DURATION

    MILESTONES

    o TARGET DELIVERABLE

    o 0 DURATION

    Evaluationreport

    Prototypedevelopment

    Requirementsdefinition

    Requirementsanalysis

    Feasibilityreport

    Feasibilitystudy

    Architecturaldesign

    Designstudy

    Requirementsspecification

    Requirementsspecification

    ACTIVITIES

    MILESTONES

  • 8/6/2019 SPM (16-17 october 2009)

    28/57

    Scheduling Problems

    Estimating the difficulty of problems and hence the cost of developing a

    solution is hard

    Productivity is not proportional to the number of people working on a task

    Adding people to a late project makes it later because of communication

    overheads

    The unexpected always happens.

    Always allow contingency in planning

  • 8/6/2019 SPM (16-17 october 2009)

    29/57

    Project Scheduling Tools

    Program

    Evaluation

    and Review

    Technique(PERT)

    Critical

    Path

    Method

    (CPM)

    Gantt Chart

  • 8/6/2019 SPM (16-17 october 2009)

    30/57

    Project Scheduling Tools

    CPM (CRITICAL PATH METHOD)

    Used Nodes forEvents (Activities and Milestones)

    Activities are connected with Arrows

    PERT(PROJECT EVALUATION AND REVIEWTECHNIQUE)

    PERT is a CPM Method that shows Longest and Shortest Times

    Uses Arrows Precedence And determine Float

    Timelines orGantt chat

    AGantt chart is the usual way to present a project schedule.

    Work packages are along the vertical axis, time along the horizontal

    axis.

  • 8/6/2019 SPM (16-17 october 2009)

    31/57

    CPM (Critical Path Method)

    The critical path is the path between the start event and end event which

    takes the longest time.

    Note that:

    o No task on the critical path can take longer without extending the end dateof the project.

    o Tasks on the critical path are called critical tasks.

    o No critical task can have any slack.

    o Tasks on the critical path must be carefully monitored.

  • 8/6/2019 SPM (16-17 october 2009)

    32/57

    CPM (Critical Path Method)

    Terminology Earliest Start time (ES)

    Latest Start time (LS)

    Earliest Finish time (EF),

    Duration (D)

    EF = ES + D Latest Finish (LF) LF = LS + D

    Total Float (TF) TF = LS - ES

    (Slack between the earliest and latest start times)

    On CP, the total float is zero.

    CPM Example

  • 8/6/2019 SPM (16-17 october 2009)

    33/57

    CPM (Critical Path Method)Earliest Start Times Established

    Event Activity ES

    1 A, B 0 Project Start

    2 C, D, F 0 + 3 = 3 Need A complete

    3 E, G 3 + 4 = 7 Need A & D complete

    4 I 7 + 5 = 12 Use longest path @ merge

    5 H 7 + 6 = 13 Use longest path

    6 J 13 + 3 = 16

    7 K 16 + 2 = 18

    8 End 18 + 2 = 20

  • 8/6/2019 SPM (16-17 october 2009)

    34/57

    CPM (Critical Path Method)

    Event Activity LS Event Activity LS

    8 end 20 5-2 F 13 3 = 10

    8-7 K 20 2 = 18 4-3 E 16 3 - 5 = 8

    7-6 J 18 2 = 16 4-2 C 16 3 - 5 = 8

    6-5 H 16 - 3 = 13 4-1 B 16 3 - 4 = 9

    6-4 I 16 3 = 13 3-2 D 16 3 6 - 4 = 3

    5-3 G 13 6 = 7 2-1 A 3 - 3 = 0

    Calculation of the latest start times (Starting at Project completion)

  • 8/6/2019 SPM (16-17 october 2009)

    35/57

    CPM (Critical Path Method)

    Summary of Boundary timetable

    Activity scriptio uratio T

    A 3 0 0 3 3 0

    B 4 0 9 4 13 9

    C 3 3 10 6 13 7

    D 4 3 3 7 7 0

    E 5 7 8 12 13 1

    F 3 3 10 6 13 7

    G 6 7 7 13 13 0

    H 3 13 13 16 16 0

    I 3 12 13 15 16 1

    J 2 16 16 18 18 0

    K T st 2 18 18 20 20 0

  • 8/6/2019 SPM (16-17 october 2009)

    36/57

    Example 2 (CPM)

    In the example above the critical path can be described by events 1,3 and 5 or bytasks B,D.

    This is because the time to reach the end event (5) on this path is longer than any

    other path. This means that task B must take no longer than 2 days and task D no

    longer than 5 days or the end date for event E will need to be extended.

    The duration of the other path is 6 days. Because the critical path is 7 days, thereis slack (or float) of one day on the other path.

    This means that this path can take 1 day longer than planned.

    That is, any one task on this path (A,C orE) can take 1 day longer than expected.

    Note this slack must be shared between the tasks on this other path. They can not

    all take an extra day

    1

    2 4

    5

    3

    A

    2d

    B

    2d

    C

    2d

    E

    2d

    D

    5d

  • 8/6/2019 SPM (16-17 october 2009)

    37/57

    PERT (Project Evaluation & Review Technique)

    simple PERT chart comprises circles (nodes) to represent events within

    the development lifecycle

    For example completion of tasks, and lines (edges) which represent the the tasks.

    The lines are additionally labeled by the estimated duration of the task.

    A real PERT chart shows earliest time to completion, latest time to

    completion, and slack in the circles also.

  • 8/6/2019 SPM (16-17 october 2009)

    38/57

    How to construct a PERT chart

    The basic steps to constructing a PERT chart are:

    Identify tasks and estimate duration of times

    Identify a single start and end event Arrange events in sequence (give events a unique number)

    Establish start and finish times of each task. Keep in mind the

    estimates made for duration and effort.

    Determine float

    Revise

  • 8/6/2019 SPM (16-17 october 2009)

    39/57

    As an example of using a PERT chart, consider the following simple

    chart showing a project with tasks A,B,C,D and EThis diagram states that tasks A,B,C and E will take 2 days (assume d is

    abbreviation for days) and task D has a planned duration of 5 days.

    Task D is dependent on completion of task B, etc.

    1

    2 4

    5

    3

    A

    2d

    B

    2d

    C

    2d

    E

    2d

    D

    5d

  • 8/6/2019 SPM (16-17 october 2009)

    40/57

    Both techniques (PERT and CPM) are driven by information already

    developed in earlier project planning activities: Estimates of efforts

    Decomposition of product function

    selection of appropriate process model and task set

    Decomposition of tasks

    Both PERT and CPM provides quantitative tools to

    determine the critical path

    Decomposition of product function

    calculate boundary time (window) for a particular task

    Decomposition of tasks

  • 8/6/2019 SPM (16-17 october 2009)

    41/57

    GANTT charts are a project planning tool that can be used to represent

    the timing of tasks required to complete a project.

    -It describes similar information to a PERT chart.

    Here is one that was produced automatically with a project management tool

    from the PERT chart info above:

    Gantt chart is the usual way to present a project schedule. Work packages

    are along the vertical axis, time along the horizontal axis.

    Gantt Chart

  • 8/6/2019 SPM (16-17 october 2009)

    42/57

  • 8/6/2019 SPM (16-17 october 2009)

    43/57

    Gantt Chart

    Th bar or Ga tt Chart is a widely used simple project schedulingtechnique.

    Advantages include:

    Direct correlation with time.

    Straight forward relationship with projects involving a limited numberoftasks.

    Straight forward integration of subtasks having separate schedulingcharts.

    Time schedule is flexible and is expanded to show tasks of shor ternature.

    Progress against theplan is easily reflected.

    Disadvantage includes:

    That it does not convey the complex interrelationships that may occurbetween tasks.

  • 8/6/2019 SPM (16-17 october 2009)

    44/57

    Milestone Chart

    A Milestone chart is similar to a Gantt Chart with the emphasis placedon task completion.

    It embodies the same simplified techniques as does the Gantt chart.

    It does not portray the interrelationships between tasks and hence

    does not identify the critical path.

  • 8/6/2019 SPM (16-17 october 2009)

    45/57

    Project Tracking

    It is a road map for the Software Project

    It defines the tasks and milestones

  • 8/6/2019 SPM (16-17 october 2009)

    46/57

    Project Tracking

    Tracking can be done by:

    Conducting periodic project status meetings

    Evaluating the results of all reviews

    Determining whether milestones were reached by the scheduled

    date

    Compare actual start date to planned start date

    Meeting informally with professionals to get their subjective

    opinion

    Using earned value analysis

  • 8/6/2019 SPM (16-17 october 2009)

    47/57

    Project Tracking

    Tracking can be done by:

    Conducting periodic project status meetings

    Evaluating the results of all reviews

    Determining whether milestones were reached by the scheduled

    date

    Compare actual start date to planned start date

    Meeting informally with professionals to get their subjective

    opinion

    Using earned value analysis

    earned value is useful as it provides a quantitative

    technique of assessing progress on the project as

    a whole

  • 8/6/2019 SPM (16-17 october 2009)

    48/57

    Tracking the Project ScheduleTracking the Project Schedule

    Project is on

    schedule and

    within budget

    Problem

    diagnosed

    Additional

    resources focussedon problem area

    ProjectTracking

    Staff may be

    redeployed

    Project Schedule

    can be redefined

  • 8/6/2019 SPM (16-17 october 2009)

    49/57

    Metrics, Measurement and

    Models

  • 8/6/2019 SPM (16-17 october 2009)

    50/57

    Metrics

    Product

    Metrics

    Process

    Metrics

    Product metrics measure the product.

    Metric is a quantitative measure.

    Process metrics measure the

    performance of the developmentprocess.

  • 8/6/2019 SPM (16-17 october 2009)

    51/57

    Metrics

    Quantifiable measure

    Used to measure different characteristic of a software system or the

    software development process

    the most common metrics are:

    - LOC (Lines of code)

    - Function Points

    Two types

    - Product Metrics (Used quantify characteristic of the product being

    developed i.e., software)- Process Metrics (Used quantify characteristic of the environment)

  • 8/6/2019 SPM (16-17 october 2009)

    52/57

    LOC (Lines of code)

    Quantifying properties of the software

    specify the size of the software

    Give more precise characterization to the common notions of small,

    large or very large projects. Like,

    Size: Small Medium Large Very Large

    LOC: 32k

  • 8/6/2019 SPM (16-17 october 2009)

    53/57

    Function Point (FP)

    Can be applied at the requirements stage

    Used to predict the size or the cost of the system

    Asses the project productivity.

    Using function points for cost, size and productivity is called FP Analysis

    What is Function Point Analysis (FPA)?

    It is designed to estimate and measure the time, and thereby the cost, of

    developing new software applications and maintaining existing software

    applications.

    It is also useful in comparing and highlighting opportunities for

    productivity improvements in software development.

  • 8/6/2019 SPM (16-17 october 2009)

    54/57

    How is Function Point Analysis done?

    Working from the project design specifications, the following system

    functions are measured (counted): Inputs

    Outputs

    Files

    Inquires

    Interfaces

    These function-point counts are then weighed (multiplied) by their

    degree of complexity:

    Simple Average Complex

    Inputs 2 4 6Outputs 3 5 7

    Files 5 10 15

    Inquires 2 4 6

    Interfaces 4 7 10

  • 8/6/2019 SPM (16-17 october 2009)

    55/57

    A simple example:

    inputs

    3 simple X 2 = 6

    4 average X 4 = 16

    1 complex X 6 = 6

    outputs

    6 average X 5 = 302 complex X 7 = 14

    files

    5 complex X 15 = 75

    inquiries

    8 average X 4 = 32

    interfaces

    3 average X 7 = 21

    4 complex X 10 = 40

    Unadjusted function points 240

  • 8/6/2019 SPM (16-17 october 2009)

    56/57

    Continuing our example . . .

    Complex internal processing = 3

    Code to be reusable = 2High performance = 4

    Multiple sites = 3

    Distributed processing = 5

    Project adjustment factor = 17

    Adjustment calculation:

    Adjusted FP = Unadjusted FP X [0.65 + (adjustment factor X 0.01)]

    = 240 X [0.65 + ( 17 X 0.01)]

    = 240 X [0.82]= 197 Adjusted function points

  • 8/6/2019 SPM (16-17 october 2009)

    57/57

    Q & A