Lecture7 Planning
Lecture7 Planning
Lecture7 Planning
Management
ORG ANISING , PLANNING AND SC HEDULING
SOFTWARE PROJEC TS
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
Topics covered
Management activities
Project planning
Project scheduling
Project
Project is a sequence of unique, complex, and connected
activities having one goal or purpose and must be completed
within time, budget and as per specifications.
Management
“Management is the process of designing and maintaining an
environment in which individuals, working together in groups,
efficiently [and effectively] accomplish selected aims”
Software Project Management
Concerned with activities involved in ensuring that software is delivered on
time and on schedule and in accordance with the requirements of the
organisations developing and procuring the software.
Project management is needed because software development is always
subject to budget and schedule constraints that are set by the organisation
developing the software.
Software management distinctions
The product is intangible
The product is uniquely flexible
Software engineering is not recognized as an engineering discipline with the
same status as mechanical, electrical engineering, etc.
The software development process is not standardized
Many software projects are 'one-off' projects
Management activities
1. Proposal writing
2. Project planning and scheduling
3. Project costing
4. Project monitoring and reviews
5. Personnel selection and evaluation
6. Report writing and presentations
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 organisation may wish to develop employee skills on a software project
Managers have to work within these constraints especially when (as is currently
the case) there is an international shortage of skilled IT staff
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
Various different types of plan may be developed to support the main software
project plan that is concerned with schedule and budget
Types of project plan
Plan Description
Quality 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.
Configuration Describes the configuration management
management plan procedures and structures to be used.
Maintenance plan Predicts the maintenance requirements of
the system, maintenance costs and effort
required.
Staff development plan. Describes how the skills and experience of
the project team members will be
developed.
Project planning process
Establish the project constraints
Make initial assessments of the project parameters
Define project milestones and deliverables
while project has not been completed or cancelled loop
Draw up project schedule
Initiate activities according to schedule
Wait ( for a while )
Review project progress
Revise estimates of project parameters
Update the project schedule
Re-negotiate project constraints and deliverables
if ( problems arise ) then
Initiate technical review and possible revision
end if
end loop
Project Plan Structure
1) Introduction
2) Project organisation
3) Risk analysis
4) Hardware and software resource requirements
5) Work breakdown
6) Project schedule
7) Monitoring and reporting mechanisms
Activity organization
Activities in a project should be organised 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 definition of progress
milestones
Milestones in the RE process
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
The project scheduling process
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
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
Activity charts show task dependencies and the critical path
Bar charts show schedule against calendar time
Task durations and dependencies
Activity network
Activity timeline
Staff allocation
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
A project milestone is a predictable state where some formal report of progress is
presented to management.