ProjectManagement

Download Report

Transcript ProjectManagement

Project Management

Based on Sommerville’s “Software Engineering” textbook

Software Project Management

• • Aimed to ensure that the software is delivered on time, within budget and schedule constraints, and satisfies the requirements of the client Management of software projects is different from other types of management because: • • • • Software is not tangible Software processes are relatively new and still “under trial” Larger software projects are usually “one-off” projects Computer technology evolves very rapidly 2

Management Activities

• • • • • • • Writing proposals Planning the project Scheduling the project Estimating the cost of the project Monitoring and reviewing the project’s progress Selecting, hiring, and evaluating personnel Writing reports and giving presentations 3

Project Planning

• • • A

project plan

should be drawn at the start of the project. This plan drives the project and needs to be continuously adjusted The role of the project manager is to anticipate possible problems and be prepared with solutions for these problems Other plans that need be developed: • Quality plan • • Validation and verification plan Configuration management plan • • Maintenance plan Staff development plan 4

5

Project Planning

• • • Milestone = end-point of a specific, distinct software process activity or task (for each milestone a report should be presented to the management) Deliverable = project result delivered to the client In order to establish milestones the phases of the software process need be divided in basic activities/tasks. Example for requirements engineering

ACT IVITIES

Feasibility study Requir ements analysis Prototype development Design study Requir ements specification Feasibility report Requir ements definition Evaluation report

MILESTONES

Architectural design Requir ements specification

Project Scheduling……

• Software managers: • • • • • • • Divide the project in activities/tasks Estimate time and resources needed to finish the project Allocate resources to tasks Try to employ efficiently all the project personnel Minimize dependencies between tasks and teams Prepare contingency plans Rely on experience and intuition 6

7

Scheduling Process

Identify activities Software requirements Identify activity dependencies Estimate resources for activities Allocate people to activities Create project charts Activity charts and bar charts

Project Scheduling

Graphical notations used in software project scheduling:

• • • Tables: summary description of tasks Bar charts : show schedule against the time Activity charts : graphs that depict dependencies between tasks and indicate the critical path (the longest path in the activity graph) 8

9

Tabular description of tasks

Task

T1 T2 T3 T4 T5 T6 T7 T8 T9 T10 T11 T12

Duration (days)

8 15 15 10 10 5 20 25 15 15 7 10

Dependencies

T1 (M1) T2, T4 (M2) T1, T2 (M3) T1 (M1) T4 (M5) T3, T6 (M4) T5, T7 (M7) T9 (M6) T11 (M8)

Activity Chart

10 1 4 /7 /0 3 M 1 4 /7 /0 3 st art 8 day s T 1 15 day s T 2 2 5 /7 /0 3 M 3 10 da y s T 4 25 /7 /0 3 M 2 1 8 /7 /0 3 M 5 15 da y s T 7 T 3 5 day s T 6 2 0 day s 10 day s T 5 4 /8/ 03 M 4 15 da y s T 9 2 5 /8/ 03 M 6 11 /8/ 03 M 7 7 day s T 11 5 /9/ 03 15 da y s T 10 10 da ys M 8 T 12 2 5 day s T 8 19 /9/ 03 Fini sh

Gannt Chart

11 • Example of bar chart or Gannt chart T 4 T 1 T 2 4/ 7 St art 11/ 7 18 /7 M1 T 7 T 3 M5 T 8 25 /7 M3 M2 T 6 T 5 1/ 8 8/ 8 T 9 M4 M7 T 10 15 /8 22 /8 29 /8 M6 T 11 T 12 5/ 9 12 /9 19 /9 M8 Fi nish

12

Staff Allocation Chart

4/7 11/7 18/7 25/ 1/8 Fred T4 T8 8/8 15/8 22/8 29/8 5/9 12/9 19/9 T11 T12 Jane T1 T3 T9 Anne T2 T6 T10 Jim M ary T7 T5

Risk Management

• • •

Risk

= some adverse circumstance that may happen and affect negatively the project, the product, and/or the business Categories of risk: • Project risks • • Product risks Business risks

Risk management

means anticipating risks and preparing plans to reduce their effect 13

14

Types of Risks

Risk

Staff turnover Management change

Affects

Project Project Hardware unavailability Project Requirements change Specification delays Size underestimate CASE t ool u nder performance Technology change Product comp etition Project and product Project and product Project and product Product Business Business

Description

Experienced staff will leave the project before it is finished.

There will be a change of organisational management with different priorities.

Hardware that is essential for the projec t will n ot be deli vered on schedule.

There will be a larger numb er of changes to the requirements than anticipated.

Specifications of essential interfaces are not available on schedule The size of the system has been underestimated.

CASE t ools which support the project do not perform as anticipated The underlying technology on which the system is b uilt is superseded by new technology.

A competitive product is marketed before the system is completed.

Risk Management Process

Risk identification List of potential risks Risk analysis Prioritised risk list Risk planning Risk avoidance and contingency plans Risk monitoring Risk assessment 15

16

Risk Categories

Risk type

Techno logy People Organisational Tools Requirements Estimation

Potential indi cators

Late delivery of hardware or support software, many reported techno logy problems Poor staff morale, poor relationships amongst team member, job availability Organisational gossip, lack of action by senior manage ment Reluctance by team members to use tools, comp laints about CASE tools, demands for high er-powered workstations Many requirements change requests, customer comp laints Failure to meet agreed schedule, failure to clear reported defects

Management commonalities

• • • 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.

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 on a software project.

Managers have to work within these constraints especially when there are shortages of trained staff.

Why is Project Management so hard?

• • • • • Engineers and Architects who build skyscrapers and bridges have it easy Software Engineers and Software Architects have it hard... why?

What makes these two design activities so different?

Why did the Waterfall process used to be so common for software?

Could Agile be used for skyscrapers and bridges?