CS 451 Software Engineering - Drexel Universityyfcai/CS451/slides/ProjectManagement-1.pdfCS 451...

22
Drexel University 1 CS 451 Software Engineering Yuanfang Cai Room 104, University Crossings 215.895.0298 [email protected]

Transcript of CS 451 Software Engineering - Drexel Universityyfcai/CS451/slides/ProjectManagement-1.pdfCS 451...

Page 1: CS 451 Software Engineering - Drexel Universityyfcai/CS451/slides/ProjectManagement-1.pdfCS 451 Software Engineering Yuanfang Cai . Room 104, University Crossings . 215.895.0298 .

Drexel University 1

CS 451 Software Engineering

Yuanfang Cai

Room 104, University Crossings

215.895.0298

[email protected]

Page 2: CS 451 Software Engineering - Drexel Universityyfcai/CS451/slides/ProjectManagement-1.pdfCS 451 Software Engineering Yuanfang Cai . Room 104, University Crossings . 215.895.0298 .

Drexel University 2

Project Management - Topics

Schedules And Gantt Charts

Project Milestones

How to Organize Your Team Surgical or Democratic Team?

Page 3: CS 451 Software Engineering - Drexel Universityyfcai/CS451/slides/ProjectManagement-1.pdfCS 451 Software Engineering Yuanfang Cai . Room 104, University Crossings . 215.895.0298 .

Drexel University

Schedules And Gantt Charts

3

Page 4: CS 451 Software Engineering - Drexel Universityyfcai/CS451/slides/ProjectManagement-1.pdfCS 451 Software Engineering Yuanfang Cai . Room 104, University Crossings . 215.895.0298 .

Drexel University 4

Schedules And Gantt Charts

What is a schedule? A schedule is:

A listing of planned events Properties:

Ordered by time Shows dependencies between tasks Might show assignment of tasks to personnel

Planned events tied to milestones

Page 5: CS 451 Software Engineering - Drexel Universityyfcai/CS451/slides/ProjectManagement-1.pdfCS 451 Software Engineering Yuanfang Cai . Room 104, University Crossings . 215.895.0298 .

Drexel University 5

How To Make A Project Schedule Identify the individual component tasks for each

phase or spiral Estimate the size of tasks and amount of time

required Identify dependencies between tasks:

What inputs are required for each task? In what previous task are these inputs created?

Define milestones: High-level milestones Intermediate milestones Low-level milestones (separate personal schedule

document)

Page 6: CS 451 Software Engineering - Drexel Universityyfcai/CS451/slides/ProjectManagement-1.pdfCS 451 Software Engineering Yuanfang Cai . Room 104, University Crossings . 215.895.0298 .

Drexel University 6

Gantt Charts A tabular notation to document schedule Rows represent task ids and names (listed in

order). Columns—many variations and many optional

notations: Start-date column, end-date column Task duration column (how long? Hours, days, etc.) Task assignment column (who is doing this?) Task completion: percentage-complete column, or a

line through the task bar

Page 7: CS 451 Software Engineering - Drexel Universityyfcai/CS451/slides/ProjectManagement-1.pdfCS 451 Software Engineering Yuanfang Cai . Room 104, University Crossings . 215.895.0298 .

Drexel University 7

Page 8: CS 451 Software Engineering - Drexel Universityyfcai/CS451/slides/ProjectManagement-1.pdfCS 451 Software Engineering Yuanfang Cai . Room 104, University Crossings . 215.895.0298 .

Drexel University 8

Gantt Charts Columns—many variations and many optional

notations (continued): Timeline—may be in terms of days, weeks, months,

quarters, etc. In the timeline, a task bar indicates duration of task. Milestones (aka checkpoints) shown like a task and a

task bar, but with a special symbol. Summary “tasks” and bars: higher-level name showing

a collection of related tasks (e.g. requirements analysis, or any “phase” or spiral)

Vertical line showing today's date

Page 9: CS 451 Software Engineering - Drexel Universityyfcai/CS451/slides/ProjectManagement-1.pdfCS 451 Software Engineering Yuanfang Cai . Room 104, University Crossings . 215.895.0298 .

Drexel University 9

Comments On Example Chart Two “summary” tasks: requirements analysis

and requirements specification (note the yellow triangles on the ends of the bars)

Timeline: days in a month Duration column: in days, hours Purple-lines in task bars indicate how much is

completed Vertical line shows today's date (task 3 is late!)

Page 10: CS 451 Software Engineering - Drexel Universityyfcai/CS451/slides/ProjectManagement-1.pdfCS 451 Software Engineering Yuanfang Cai . Room 104, University Crossings . 215.895.0298 .

Drexel University 10

Comments On Example Chart Milestones: black diamonds, duration of zero “Who” column shows personnel assignments Task dependencies: arrows from one task to

another: First task must be completed before the second

starts Milestones depend on preceding task(s) Tool automatically adjusts chart according to

durations, dependencies

Page 11: CS 451 Software Engineering - Drexel Universityyfcai/CS451/slides/ProjectManagement-1.pdfCS 451 Software Engineering Yuanfang Cai . Room 104, University Crossings . 215.895.0298 .

Drexel University 11

Tool Support For Gantt Charts

Microsoft Project: Data file standard: MPX Files (“Ms Project

eXchange”) Visio:

Known As “Project Timeline” Diagram Can Import/export Data In Mpx Format

Page 12: CS 451 Software Engineering - Drexel Universityyfcai/CS451/slides/ProjectManagement-1.pdfCS 451 Software Engineering Yuanfang Cai . Room 104, University Crossings . 215.895.0298 .

Drexel University

Project Milestones

12

Page 13: CS 451 Software Engineering - Drexel Universityyfcai/CS451/slides/ProjectManagement-1.pdfCS 451 Software Engineering Yuanfang Cai . Room 104, University Crossings . 215.895.0298 .

Drexel University 13

Advice On Milestones For team projects Milestones often tied to sign-off (after review) of major

work-products, such as: Project management plan document Software requirements specification (SRS) document Design document Stage 1 code released (stage 2,...) Final product released

Milestones Must Be Visible To Management, Possibly Customer

Page 14: CS 451 Software Engineering - Drexel Universityyfcai/CS451/slides/ProjectManagement-1.pdfCS 451 Software Engineering Yuanfang Cai . Room 104, University Crossings . 215.895.0298 .

Drexel University 14

Milestones

Part of top-down approach Break large project into small problems, each of

which can be estimated and planned A milestone is:

An objectively identifiable point in a project Good checkpoints are:

Clear, unambiguous, crisp, verifiable Binary: done or not done

Page 15: CS 451 Software Engineering - Drexel Universityyfcai/CS451/slides/ProjectManagement-1.pdfCS 451 Software Engineering Yuanfang Cai . Room 104, University Crossings . 215.895.0298 .

Drexel University 15

Milestones

“Coding is 90% complete”: In terms of time, or loc? How do you know?

“Program is designed”: What’s this mean? In your head, or on paper? Has it been reviewed, agreed upon?

Page 16: CS 451 Software Engineering - Drexel Universityyfcai/CS451/slides/ProjectManagement-1.pdfCS 451 Software Engineering Yuanfang Cai . Room 104, University Crossings . 215.895.0298 .

Drexel University 16

Milestones—Good Examples

Design document reviewed Design document signed-off by management System software successfully passes integration

test data suite Specification document approved by customer All risks determined at last process review

addressed and resolved

Page 17: CS 451 Software Engineering - Drexel Universityyfcai/CS451/slides/ProjectManagement-1.pdfCS 451 Software Engineering Yuanfang Cai . Room 104, University Crossings . 215.895.0298 .

Drexel University

How to Organize Your Team

17

Page 18: CS 451 Software Engineering - Drexel Universityyfcai/CS451/slides/ProjectManagement-1.pdfCS 451 Software Engineering Yuanfang Cai . Room 104, University Crossings . 215.895.0298 .

Drexel University 18

Group/Team Structure Differences between programmers:

Productivity: 10:1 Program Speed: 5:1

What if we only hire top people?

Efficiency + Conceptual Integrity vs. Large System

Page 19: CS 451 Software Engineering - Drexel Universityyfcai/CS451/slides/ProjectManagement-1.pdfCS 451 Software Engineering Yuanfang Cai . Room 104, University Crossings . 215.895.0298 .

Drexel University 19

Group/Team Structure Democratic Team or Surgical Team? A Surgical Team

The Surgeon –-Chief architect, Design and Impl The Copilot ---Impl, Testing, etc The Administrator ---Version control, plan, testing The Program clerk The Editor Two Secretaries The Tool Smith The Tester The language Laywer

Page 20: CS 451 Software Engineering - Drexel Universityyfcai/CS451/slides/ProjectManagement-1.pdfCS 451 Software Engineering Yuanfang Cai . Room 104, University Crossings . 215.895.0298 .

Drexel University

Summary How to plan your project using a Gantt Chart

The concept of milestone

Surgical Team vs. Democratic Team

20

Page 21: CS 451 Software Engineering - Drexel Universityyfcai/CS451/slides/ProjectManagement-1.pdfCS 451 Software Engineering Yuanfang Cai . Room 104, University Crossings . 215.895.0298 .

Drexel University

Reminder: Reading Homework:

"No Silver Bullet: Essence and Accidents of Software Engineering", by Frederick P. Brooks.

"The Mythical Man Month" by Frederick P. Brooks. Next Tuesday Quiz on papers Term project presentation

21

Page 22: CS 451 Software Engineering - Drexel Universityyfcai/CS451/slides/ProjectManagement-1.pdfCS 451 Software Engineering Yuanfang Cai . Room 104, University Crossings . 215.895.0298 .

Drexel University

Term Project Presentation Project description

List all the functions of the project What are the input/output How will the user interact with it Web based? Standalone App? Mobile App?

Team member roles The Surgeon –-Chief architect, Design, Document and Impl The Copilot ---Impl, Testing, Document, etc The Administrator ---Version control, plan, testing The Tester

Project plan in a Gantt Chart with at least 4 milestones

22