Scheduling and Planning

Embed Size (px)

Citation preview

  • 8/8/2019 Scheduling and Planning

    1/21

    60-499: Project Management: Techniques & Tools

    An Introduction

    Planning & Scheduling

  • 8/8/2019 Scheduling and Planning

    2/21

    60-499Project Management

    What is a plan?

    A project plan is a network of dependent andindependent tasks} A plan may also contain descriptions of persona

    A persona is a fictitious representation of a real person

    } The plan may also include assignments of tasks to variouspersona

    An important part of the project plan is the networkdiagram, which shows task flow and task dependencies

  • 8/8/2019 Scheduling and Planning

    3/21

    60-499Project Management

    What is a schedule?

    A schedule is a description of start and end times for all

    the WBS tasks

    } The schedule accommodates the plan

    } The schedule specifies all dates in terms of offsets from the start

    date} Ideally, the start date is a parameter which can be changed if the

    project start is delayed

    This way, real dates can be seen

    However, dates are not hardcoded so they can be easily changed

    An important part of the schedule is the Gantt chart

  • 8/8/2019 Scheduling and Planning

    4/21

    60-499: Project Management: Techniques & Tools

    Planning

    Planning & Scheduling

  • 8/8/2019 Scheduling and Planning

    5/21

    60-499Project Management

    Network Diagram

    A network diagram shows task/activity flow

    Flow from one task to another may indicate:

    } Dependencies between the tasks

    } Chronological ordering between the tasks

    Parallel task flows indicate task independence

    } It is not necessarily the case that tasks may be done in parallel,

    but it is possible

  • 8/8/2019 Scheduling and Planning

    6/21

    60-499Project Management

    Task/Activity Dependencies

    Finish to start: One task/activity must finish before the othertask/activity can start} e.g. Order PCs must finish before Install IDE begins

    Start to start: One task/activity must have started before the othertask/activity can start} e.g. Design AI module must start before Implement AI module begins

    Start to finish: One task/activity must start before anothertask/activity can finish} e.g. Ensure successful handoff to Team B cannot finish until Team B

    begins work

    Finish to finish: One task/activity must finish before anothertask/activity can finish} e.g. User documentation screenshots must finish after User interface

    implementation

  • 8/8/2019 Scheduling and Planning

    7/21

    60-499Project Management

    Network Diagram

    Many notations exist, but a UML behaviour diagram is common

    Here is an example network diagram showing start to finish

    dependencies

    Collaborate with project

    managers to find availabletimes for employees

    Make deal with

    Susan Carlson

    Submit budget approval

    form to accounts payable

    Finalize trip timewith employees

    Have employeessign waivers

    Register for seminars

    on the finalized dates

  • 8/8/2019 Scheduling and Planning

    8/21

    60-499Project Management Personas

    A persona is a fictitious representation of a real person

    } e.g. Java DeveloperA

    } This could match either George Smith orArin Kumal

    } The plan will not mention people by name, however

    A persona has certain skills} e.g. Familiar with OOP, Java, modular programming, coding

    standards, documentation, etc.

    A persona can be assigned responsibilities, such as

    tasks from theWB

    S

  • 8/8/2019 Scheduling and Planning

    9/21

    60-499Project Management

    Why not use real names?

    People might not be available when the project begins

    } A project may go over schedule

    } Our project start may be delayed

    Replacement people will resent not being the first choice

    if they see the other names

    The fact is, many project managers create a plan with

    real people in mind

    } They may write out somewhere else who Java Developer I is,and who Network Admin is, etc.

  • 8/8/2019 Scheduling and Planning

    10/21

    60-499Project Management

    Task Assignment

    Another part of the project plan is the task assignment

    } This includes a description of all team members

    These are normally personas

    The persona description will include a reasonable set of expected

    skills that the real person should have

    } For each task, a team member is assigned

    This is done after the network diagram, so that work can

    be distributed evenly

  • 8/8/2019 Scheduling and Planning

    11/21

    60-499Project Management

    Task Assignment

    User interface expert:} Is an experienced Java developer

    } Is familiar with user interaction patterns

    } Has experience in developing user interfaces in large projects

    Java developer I:} Has had at least 1 year in Java programming experience

    } Possibly, is Java Certified

    } Understands the object-oriented paradigm, such as inheritance

    } Understands the companys coding and documentation standards

    Java developer II:} etc.

    Database developer:} etc.

    Database admin:} etc.

    Server admin:} etc.

  • 8/8/2019 Scheduling and Planning

    12/21

    60-499Project Management

    Task Assignment

    User interface expert

    Java developer I

    Java developer II

    Database developer

    Database admin Server admin

    Task Team Member

    Create visual prototypes of the UI User interface expert

    Write code to persist registration data Database developer

    Write code to generate MD5 of password Java developer I

    etc

  • 8/8/2019 Scheduling and Planning

    13/21

    60-499: Project Management: Techniques & Tools

    Schedules

    Planning & Scheduling

  • 8/8/2019 Scheduling and Planning

    14/21

    60-499Project Management Schedules

    A schedule is an implementation of the project plan} However, in industry lingo, a projectplan documentnormally

    includes the schedule

    A common schedule representation is a Gantt chart} A Gantt chart is a graphical depiction of the task flow, with dates

    } Dates are shown as the x-axis, so questions about start/endtimes can be answered

    e.g. Relative start times of parallel tasks

    e.g. Completion of all of an activitys tasks

    e.g. Chronological dependencies between tasks

    However, other formats are possible:} A calendar, showing tasks started, active, and completing

    } A list of task descriptions, including start and expected end dates

  • 8/8/2019 Scheduling and Planning

    15/21

    60-499Project Management Gantt Charts

    Visual representation can help when a project manager

    needs an overview:

    September October November December

    User Interface

    Prototype

    RegistrationPersistence

    Code to Gen.Password MD5

    etc

    RegistrationDialog

    etc

  • 8/8/2019 Scheduling and Planning

    16/21

    60-499: Project Management: Techniques & Tools

    A Practical Guide

    Planning & Scheduling

  • 8/8/2019 Scheduling and Planning

    17/21

    60-499Project Management Creating a Schedule

    In practice, a PM will use a project management tool to

    do much of their work:

    } Microsoft Project

    } Gantt Project

    } Open Workbench} OmniPlan

    All of these applications let you easily create:

    } Gantt charts

    } Task descriptions

    } Calendar views

  • 8/8/2019 Scheduling and Planning

    18/21

    60-499Project Management Using Microsoft Project

    UsingMicrosoft Project to create a schedule is easy:

    Step 1: Enter the tasks:

    } Enter the task name

    } Enter the start time

    } Enter either the duration or expected end time

    } Enter dependencies, if any

  • 8/8/2019 Scheduling and Planning

    19/21

    60-499Project Management Using Microsoft Project

    MS Project generates the Gantt chart for you automatically, on the

    right:

  • 8/8/2019 Scheduling and Planning

    20/21

    60-499Project Management Using Microsoft Project

    MS Project allows you to change dates whenever you want

    Thus, you can push back the start date if the project is delayed

    The entire schedule is shifted over in response

    You can add/change dependencies as you wish as well

    Next to tasks is a space for resources} Here is one place where you could put in persona names

    e.g. Java developer I

  • 8/8/2019 Scheduling and Planning

    21/21

    60-499Project Management Common Schedule Problems

    Problems with estimates or deadlines:} Customer or upper management set deadline without team consultation

    } Schedule is based on best case estimates

    } Target date moved up without re-adjustment to scope, resources, or schedule

    Problems with requirements:} Schedule omits necessary tasks

    } Project size is impossible within allotted time

    } Project is larger than estimated

    } Effort is greater than estimated

    Problems with schedule management:} Schedule was based on specific team members that will not be available

    } Schedule slips are ignored when schedule is re-evaluated (velocity)

    } Delays in tasks result in delays in dependent tasks

    } Unfamiliar territory causes unexpected delays Problems with productivity:

    } Demotivated personnel (e.g. schedule pressure)

    } Weak personnel

    } Friction between team members