Beruflich Dokumente
Kultur Dokumente
Trevor Holmes
Education Varian Australia 1987-1995
Software Engineer, Software
B.Sc (Physics/Mathematics) Deakin
Marketing Manager, Project
1980
Manager, Software Quality
Dip.Eng (Digital Control) FIT 1985 Manager
M.App.Sc Monash 1993 Hewlett-Packard 1985-1996
The Intelligent Interpretation of Line Consultant (PSO)
Drawings and Text using Pattern
Siemens Research 1996-1997
Recognition Analysis.
Project Manager (SIEPLAN /
Career Capacity Integrator Project)
Olex Cables 1980-1983 Open Software Associates
Software Engineer 1998 - current
ACI Computer Services 1983 - Project Manager
1987
System Manager, Systems Engineer.
OSA Products
OpenUI NetDeploy
cross-GUI client/server UIMS Internet application deployment and version
management system
consists of:
cross GUI runtime engine consists of:
GUI Builder Packer
identifies component files of
integrated client / server application
messaging generates catalogue file
compiler and virtual installs application files on Web
machine interpreter Server
effort Launcher
65 engineering years checks client machine against
catalogue
550K lines code
downloads necessary files via HTTP
on the web
effort to date:
http://www.osa.com.au
27 engineering years
Introduction
CSE3308: Software Engineering - Analysis and Design
An Industry Perspective
Project Management
What is a project ?
What is a successful project ?
What drives project management ?
How are projects organized ?
How is progress measured ?
How is progress monitored ?
Additional Resources
What is a Project ?
A project is a related and interdependent set of
activities that:
are related together to meet a set of objectives
have a number of defined starts and finishes over an extended
period of time
are implemented by a team
Project work is the opposite of process work
Projects change the status quo
Project Management
CSE3308: Software Engineering - Analysis and Design
An Industry Perspective
Project Management
CSE3308: Software Engineering - Analysis and Design
An Industry Perspective
Project Management
Milestone Tracking Chart (45 Chart)
milestone-3
1/1/99
Milestone Date
1/2/99
milestone-2
1/3/99
milestone-1
1/4/99
1/5/99
Project Management
CSE3308: Software Engineering - Analysis and Design
An Industry Perspective
Additional Resources
Pressman: Software Engineering - A Practitioners Approach
Thomsett: The Busy Persons Project Management Book
http://www.ozemail.com.au/~thomsett/book/busy_book.htm
Jarvis & Crandall: Inroads to Software Quality,
Prentice Hall, ISBN 0-13-238403-5
Scope Management
How to define the scope of a project
Project Scoping
Scoping in contracted projects
Scoping Example
Project Scoping
Roles
Product Specification/Project
Scope developed at the intersection
of the Sales & Marketing and
Product Engineering cycles.
Sales and Product Product
Sales & Marketing gather, filter, Marketing Specification Engineering
and interpret market requirements.
Product Engineering maintains the
specification, and proposes
technologies and solutions.
Processes
Often adhoc. Can be driven by individual biases,
QFD: Quality Function Deployment (the House of Quality)
Scope Management
CSE3308: Software Engineering - Analysis and Design
An Industry Perspective
Scoping Example
Initial Brief (Enhancement Project)
A major enhancement for a large client-server product is proposed to be
released in 8 months.
The existing product specification details 54 significant features.
A new specification is to be developed in workshops with the client, and
detailed using Use Cases.
The workshops will address three distinct business areas within the
overall application domain.
Project Planning
The Project Manager develops a plan & schedule for the Use Case
workshops, and a series of scoping workshops.
The scoping workshops will be conducted through an Expert Group
drawn from (customer) domain experts, and senior project staff.
Business Sub-Domain A
Final U/C Workshop Draft 16/9
Feature Assessment 30/9
Scoping Workshop 2/10
Finalize Use Cases
Business Sub-Domain B
Final U/C Workshop Draft 30/9
Feature Assessment 7/10
Scoping Workshop 9/10
Finalize Use Cases
Presentation to U/C Workshop participants 13/10
Business Sub-Domain C
+ Sub-Domain D
Final U/C Workshop Draft 13/10
Feature Assessment 21/10
Scoping Workshop
Scope Management
CSE3308: Software Engineering - Analysis and Design
An Industry Perspective
Scope Management
CSE3308: Software Engineering - Analysis and Design
An Industry Perspective
Scoping Example
Workshop Results
The Use Case and Scoping workshops identified and detailed:
Business Sub-Domain A: 16 Use Cases, 27 New Features
Business Sub-Domain B: 15 Use Cases, 9 New Features
Business Sub-Domain C: 25 Use Cases, No New Features
Scoping Example
Budgeting
Available Resource
The Project Manager has a budget of 2868 Man Days for the
development team (those project staff directly responsible for
implementing the system).
Estimates
After analyzing the results of the workshops, the development team
estimate that:
1424 Man Days will be required to re-develop system infrastructure.
1414 Man Days will be required to implement the 36 new features
The Project Manager estimates that development overheads, finals
testing, acceptance and release will require 710 Man Days.
Discretionary Capacity
After subtracting fixed costs only 734 Man Days are available to
Scope Management
CSE3308: Software Engineering - Analysis and Design
An Industry Perspective
Scope Management
CSE3308: Software Engineering - Analysis and Design
An Industry Perspective
Scoping Example
Scope Finalization
Project team and Client representatives negotiate on a final set of features
that fit the development budget, while meeting the customers minimum
requirement for a deployable system.
Each feature assessed for its value to the client cf. its incremental
development cost.
A final Feature List proposed to Client Management.
Conclusion
Negotiations Failed.
Unable to derive a Feature List that met the Clients minimum
requirement.
Never commit to a fixed price (in $ or delivery date) before finalizing
scope.
Estimation
Estimation vs. Guesstimation
Best / Average / Worst
Estimation Example
Productivity
Scheduling
Additional Resources
Estimation
CSE3308: Software Engineering - Analysis and Design
An Industry Perspective
Best/Average/Worst
Single figure estimates hide uncertainty
Three figure estimates capture the range of uncertainty
best: assume that things go better than expected. (10% confidence)
average: assume that things go to plan. (50% confidence)
worst: assume that things go worse than expected. (90% confidence)
If there is a wide variation between the best and worst:
allow more time for a more detailed investigation
divide the task into subtasks and estimate individually
Estimation Example
Based on project history
Effort calibrated against size using a Class Count
Project Outline
Enhancement Project
3-tier Client-Server system (product)
Size
The new specification details functionality for 110 Business Domain
classes.
Productivity
Developer productivity has been measured and recorded for
previous releases of this product.
Productivity rates are available for new code development, code
modification, and code reuse.
Estimation Example
Business Domain Model (BDM)
Classes Count: 110
Data & Presentation Layers
Assume 2.6 DPO classes per Business Domain class
Productivity Rates (Coding):
New: 04 Classes/person month
Modify: 06 Classes/person month
Re-Use: 10 Classes/person month
User Interface (GUI) Layer
Assume 1 GUI class per Business Domain class
Productivity Rates (Coding):
New: 04 Classes/person month
Modify: 06 Classes/person month
Estimation
CSE3308: Software Engineering - Analysis and Design
An Industry Perspective
Estimation Example
Resource Effort / Availability Estimates
Activity Class Productivity Effort
Count Multiplier Total Rating Man Months Man Days
DBO New 20 1.0 20 4 5.0 100
Mod 12 1.0 12 6 2.0 40
Re-use 24 1.0 24 10 2.4 48
DPO New 20 2.6 52 4 13.0 260
Mod 20 2.6 52 6 8.7 173
Re-use 14 2.6 36 10 3.6 73
Total 110 196 34.7 694
Available 829
Spare 6.7 135
Estimation
CSE3308: Software Engineering - Analysis and Design
An Industry Perspective
Productivity
Variation between individuals
A number of studies indicate that there is an order of magnitude
difference in productivity between the strongest and weakest team
members.
Researchers have obtained the following results for defect free, non-
commented, 3GL code:
Worst Best Case study
1 4 Barry Boehm
1 10 Capers Jones
1 16 Sackman
1 30 Putnam & Myers
Assumptions about who is to do the work and under what conditions
must be made clear when estimating and not lost when developing a team
schedule.
Scheduling
Many other tasks need to be performed in the working
environment.
When developing a schedule, a Project Manager must take
into account time and effort expended for:
holidays and sick lease
training
reviewing other peoples work including estimates, design, code,
documentation ...
progress tracking & reporting
inter & intra-team interaction, and other team and management
communication.
Elapsed time is 2 - 3 times the estimated time
Additional Resources
Productivity benchmark data
International Software Benchmarking Standards Group (ISBSG)
http://www.isbsg.org.au
OSA
The sustained average coding rate at OSA is 40 lines per engineer
per day
Tools
SPR KnowledgePLAN, SPR CHECKPOINT
http://www.spr.com/html/products.htm
Risk Management
Planning for risk management
Risk Management Example
Additional Resources
Risk Management
CSE3308: Software Engineering - Analysis and Design
An Industry Perspective
Table 2. Summarizes risks identified and managed to the acceptable outcomes in the project to date.
Risk Management
CSE3308: Software Engineering - Analysis and Design
An Industry Perspective
Additional Resources
Project Risk Assessment Form
http://www.ozemail.com.au/~thomsett/form/Default.htm
People Management
Managers Role
ensure that a team meets its set objectives
ensure that all team members have an opportunity to contribute
help team members to achieve the goals that they set themselves
Remember
Management decisions effect people
Team members are not just resources:
they are individuals with their own ambitions and interests
they MUST be treated with respect.
Above all have fun !
Questions