Software Engineering Principles Chapter 3 From Software Engineering by I. Sommerville, 1996. Slide 1...
-
Upload
laura-sanders -
Category
Documents
-
view
224 -
download
2
Transcript of Software Engineering Principles Chapter 3 From Software Engineering by I. Sommerville, 1996. Slide 1...
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
Software Engineering Principles Chapter 3
From Software Engineering by I. Sommerville, 1996. Slide 2
Project management
Organizing, planning and scheduling software projects
Patently!
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
Software Engineering Principles Chapter 3
From Software Engineering by I. Sommerville, 1996. Slide 4
Topics covered
Management activities
Project planning
Activity organization
Project scheduling
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
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?
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
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
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
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!
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
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.
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
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)
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
Software Engineering Principles Chapter 3
From Software Engineering by I. Sommerville, 1996. Slide 16
Milestones and deliverables
EvaluationreportPrototypedevelopmentRequirementsdefinitionRequirementsanalysisFeasibilityreportFeasibilitystudy ArchitecturaldesignDesignstudyRequirementsspecificationRequirementsspecificationACTIVITIESMILESTONES
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 . . .)
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
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
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
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
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
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
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
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