Top Banner
Learning Objective ...to give an appreciation for and to introduce project management and to place it into context and give some of the fundamentals to project management project management including organizing organizing, planning planning and scheduling scheduling software projects. Frederick T Sheldon Assistant Professor of Computer Science Washington State University Project Management
25

Software Engineering Principles Chapter 3 From Software Engineering by I. Sommerville, 1996. Slide 1 project managementorganizing planning scheduling Learning.

Dec 24, 2015

Download

Documents

Laura Sanders
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Software Engineering Principles Chapter 3 From Software Engineering by I. Sommerville, 1996. Slide 1 project managementorganizing planning scheduling Learning.

Software Engineering Principles Chapter 3

From Software Engineering by I. Sommerville, 1996. Slide 1

Learning Objective...to give an appreciation for and to introduce project

management and to place it into context and give some of the fundamentals to project managementproject management including organizingorganizing,

planningplanning and schedulingscheduling software projects.

Frederick T SheldonAssistant Professor of Computer Science

Washington State University

Project Management

Page 2: Software Engineering Principles Chapter 3 From Software Engineering by I. Sommerville, 1996. Slide 1 project managementorganizing planning scheduling Learning.

Software Engineering Principles Chapter 3

From Software Engineering by I. Sommerville, 1996. Slide 2

Project management

Organizing, planning and scheduling software projects

Patently!

Page 3: Software Engineering Principles Chapter 3 From Software Engineering by I. Sommerville, 1996. Slide 1 project managementorganizing planning scheduling Learning.

Software Engineering Principles Chapter 3

From Software Engineering by I. Sommerville, 1996. Slide 3

Objectives

To introduce software project management and to describe its distinctive characteristics

To discuss project planning and the planning process

To show how graphical schedule representations are used by project management

Page 4: Software Engineering Principles Chapter 3 From Software Engineering by I. Sommerville, 1996. Slide 1 project managementorganizing planning scheduling Learning.

Software Engineering Principles Chapter 3

From Software Engineering by I. Sommerville, 1996. Slide 4

Topics covered

Management activities

Project planning

Activity organization

Project scheduling

Page 5: Software Engineering Principles Chapter 3 From Software Engineering by I. Sommerville, 1996. Slide 1 project managementorganizing planning scheduling Learning.

Software Engineering Principles Chapter 3

From Software Engineering by I. Sommerville, 1996. Slide 5

Concerned with activities involved in ensuring that software is delivered on time (according to schedule)...

...And in accordance with the requirements of the organizations developing and procuring the software

Software project management

Page 6: Software Engineering Principles Chapter 3 From Software Engineering by I. Sommerville, 1996. Slide 1 project managementorganizing planning scheduling Learning.

Software Engineering Principles Chapter 3

From Software Engineering by I. Sommerville, 1996. Slide 6

Software engineering is an economic activity and therefore is subject to economic, non-technical constraints

Well-managed projects sometimes fail. Badly managed projects inevitably fail

The objective of the course is to introduce management activities rather than teach you to be managers. You can only learn to manage by managing (experiential learning)

Why is management important?

Page 7: Software Engineering Principles Chapter 3 From Software Engineering by I. Sommerville, 1996. Slide 1 project managementorganizing planning scheduling Learning.

Software Engineering Principles Chapter 3

From Software Engineering by I. Sommerville, 1996. Slide 7

The product is intangible The product is uniquely flexible Software engineering is not recognized as an

engineering discipline (as much as others) with the same status as mechanical, electrical engineering, etc.

The software development process is not standardized

Most software projects are one-off projects

Software management distinctions

Page 8: Software Engineering Principles Chapter 3 From Software Engineering by I. Sommerville, 1996. Slide 1 project managementorganizing planning scheduling Learning.

Software Engineering Principles Chapter 3

From Software Engineering by I. Sommerville, 1996. Slide 8

Proposal writing

Project costing

Project planning and scheduling

Project monitoring and reviews

Personnel selection and evaluation

Report writing and presentations

Management activities

Page 9: Software Engineering Principles Chapter 3 From Software Engineering by I. Sommerville, 1996. Slide 1 project managementorganizing planning scheduling Learning.

Software Engineering Principles Chapter 3

From Software Engineering by I. Sommerville, 1996. Slide 9

These activities are not peculiar to software management

Many techniques of engineering project management are equally applicable to software project management

Technically complex engineering systems tend to suffer from the same problems as software systems

Management commonalties

Page 10: Software Engineering Principles Chapter 3 From Software Engineering by I. Sommerville, 1996. Slide 1 project managementorganizing planning scheduling Learning.

Software Engineering Principles Chapter 3

From Software Engineering by I. Sommerville, 1996. Slide 10

Project staffing

May not be possible to appoint the ideal people to work on a project Project budget may not allow for the use of highly-paid staff

Staff with the appropriate experience may not be available

An organization may wish to develop employee skills

(...welcome to the farm team) on a software project

...And there are many other gotcha’s!

Page 11: Software Engineering Principles Chapter 3 From Software Engineering by I. Sommerville, 1996. Slide 1 project managementorganizing planning scheduling Learning.

Software Engineering Principles Chapter 3

From Software Engineering by I. Sommerville, 1996. Slide 11

Project 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

Page 12: Software Engineering Principles Chapter 3 From Software Engineering by I. Sommerville, 1996. Slide 1 project managementorganizing planning scheduling Learning.

Software Engineering Principles Chapter 3

From Software Engineering by I. Sommerville, 1996. Slide 12

Types of project plan

Plan DescriptionQuality plan Describes the quality procedures and

standards 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 effortrequired.

Staff development plan. Describes how the skills and experience ofthe project team members will bedeveloped.

Page 13: Software Engineering Principles Chapter 3 From Software Engineering by I. Sommerville, 1996. Slide 1 project managementorganizing planning scheduling Learning.

Software Engineering Principles Chapter 3

From Software Engineering by I. Sommerville, 1996. Slide 13

Project planning process

E s t a b l i s h t h e p r o j e c t c o n s t r a i n t s

M a k e i n i t i a l a s s e s s m e n t s o f t h e p r o j e c t p a r a m e t e r s

D e f i n e p r o j e c t m i l e s t o n e s a n d d e l i v e r a b l e s

w h i l e p r o j e c t h a s n o t b e e n c o m p l e t e d o r c a n c e l l e d l o o p

D r a w u p p r o j e c t s c h e d u l e

I n i t i a t e a c t i v i t i e s a c c o r d i n g t o s c h e d u l e

W a i t ( f o r a w h i l e )

R e v i e w p r o j e c t p r o g r e s s

R e v i s e e s t i m a t e s o f p r o j e c t p a r a m e t e r s

U p d a t e t h e p r o j e c t s c h e d u l e

R e - n e g o t i a t e p r o j e c t c o n s t r a i n t s a n d d e l i v e r a b l e s

i f ( p r o b l e m s a r i s e ) t h e n

I n i t i a t e t e c h n i c a l r e v i e w a n d p o s s i b l e r e v i s i o n

e n d i f

e n d l o o p

Page 14: Software Engineering Principles Chapter 3 From Software Engineering by I. Sommerville, 1996. Slide 1 project managementorganizing planning scheduling Learning.

Software Engineering Principles Chapter 3

From Software Engineering by I. Sommerville, 1996. Slide 14

Project plan structure Introduction Project organization Risk analysis Hardware and software resource requirements Work breakdown Project schedule Monitoring and reporting mechanisms (e.g.,

status reports and meetings)

Page 15: Software Engineering Principles Chapter 3 From Software Engineering by I. Sommerville, 1996. Slide 1 project managementorganizing planning scheduling Learning.

Software Engineering Principles Chapter 3

From Software Engineering by I. Sommerville, 1996. Slide 15

Activity organization Activities in a project should be organized to

produce tangible outputs for management to judge progress!

Milestones are the end-point of a process activity Deliverables are project results delivered to

customers The waterfall process allows for the straightforward The waterfall process allows for the straightforward

definition of progress milestonesdefinition of progress milestones

Page 16: Software Engineering Principles Chapter 3 From Software Engineering by I. Sommerville, 1996. Slide 1 project managementorganizing planning scheduling Learning.

Software Engineering Principles Chapter 3

From Software Engineering by I. Sommerville, 1996. Slide 16

Milestones and deliverables

EvaluationreportPrototypedevelopmentRequirementsdefinitionRequirementsanalysisFeasibilityreportFeasibilitystudy ArchitecturaldesignDesignstudyRequirementsspecificationRequirementsspecificationACTIVITIESMILESTONES

Page 17: Software Engineering Principles Chapter 3 From Software Engineering by I. Sommerville, 1996. Slide 1 project managementorganizing planning scheduling Learning.

Software Engineering Principles Chapter 3

From Software Engineering by I. Sommerville, 1996. Slide 17

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 for another to complete

Dependent on project managers intuition and experience (oh – oh . . .)

Page 18: Software Engineering Principles Chapter 3 From Software Engineering by I. Sommerville, 1996. Slide 1 project managementorganizing planning scheduling Learning.

Software Engineering Principles Chapter 3

From Software Engineering by I. Sommerville, 1996. Slide 18

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

Page 19: Software Engineering Principles Chapter 3 From Software Engineering by I. Sommerville, 1996. Slide 1 project managementorganizing planning scheduling Learning.

Software Engineering Principles Chapter 3

From Software Engineering by I. Sommerville, 1996. Slide 19

Bar charts and activity networks

Graphical notations used to illustrate the project schedule

Show project breakdown into tasks. Tasks should not be too small. They should take about a week or two (there is some overhead / task)

Activity charts show task dependencies and the the critical path

Bar charts show schedule against calendar time

Page 20: Software Engineering Principles Chapter 3 From Software Engineering by I. Sommerville, 1996. Slide 1 project managementorganizing planning scheduling Learning.

Software Engineering Principles Chapter 3

From Software Engineering by I. Sommerville, 1996. Slide 20

Task durations and dependenciesTask Duration

(days)Dependencies

T1 8T2 15T3 15 T1T4 10T5 10 T2, T4T6 5 T1, T2T7 20 T1T8 25 T4T9 15 T3, T6T10 15 T5, T7T11 7 T9T12 10 T11

Page 21: Software Engineering Principles Chapter 3 From Software Engineering by I. Sommerville, 1996. Slide 1 project managementorganizing planning scheduling Learning.

Software Engineering Principles Chapter 3

From Software Engineering by I. Sommerville, 1996. Slide 21

Activity network

startT2M3T6FinishT10M7T5T7M2T4M5 T8

4/7/948 days14/7/9415 days4/8/9415 days25/8/947 days5/9/9410 days19/9/9415 days11/8/94

25 days10 days20 days5 days25/7/9415 days25/7/9418/7/9410 days

T1M1T3T9M6T11M8T12M4

Page 22: Software Engineering Principles Chapter 3 From Software Engineering by I. Sommerville, 1996. Slide 1 project managementorganizing planning scheduling Learning.

Software Engineering Principles Chapter 3

From Software Engineering by I. Sommerville, 1996. Slide 22

Activity timeline4/711/718/725/71/88/815/822/829/85/912/919/9T4T1T2M1T7T3M5T8M3M2T6T5M4T9M7T10M6T11M8T12

Start

Finish

Page 23: Software Engineering Principles Chapter 3 From Software Engineering by I. Sommerville, 1996. Slide 1 project managementorganizing planning scheduling Learning.

Software Engineering Principles Chapter 3

From Software Engineering by I. Sommerville, 1996. Slide 23

Staff allocation4/711/718/725/1/88/815/822/829/85/912/919/9T4T8 T11T12T1T3T9T2T6T10T7T5FredJaneAnneMaryJim

Page 24: Software Engineering Principles Chapter 3 From Software Engineering by I. Sommerville, 1996. Slide 1 project managementorganizing planning scheduling Learning.

Software Engineering Principles Chapter 3

From Software Engineering by I. Sommerville, 1996. Slide 24

Key points Good project management is essential for project

success The intangible nature of software causes

problems for management Managers have diverse roles but their most

significant activities are planning, estimating and scheduling

Planning and estimating are iterative processes which continue throughout the course of a project

Page 25: Software Engineering Principles Chapter 3 From Software Engineering by I. Sommerville, 1996. Slide 1 project managementorganizing planning scheduling Learning.

Software Engineering Principles Chapter 3

From Software Engineering by I. Sommerville, 1996. Slide 25

A project milestone is a predictable state where some formal report of progress is presented to management.

Activity charts and bar charts are graphical representations of a project schedule (...how do they differ?)

Key points