1. Software project management
• Project management is needed because software development is always subject
to budget and schedule constraints that are set by the organisation developing
the software.
• 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.
1
2. 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 standardised.
• Many software projects are 'one-off' projects.
2
3. Management activities
• Proposal writing.
• Project planning and scheduling.
• Project costing.
• Project monitoring and reviews.
• Personnel selection and evaluation.
• Report writing and presentations.
3
4. 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 tend to suffer.
4
5. 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 there are in
shortage of trained staffs.
5
6. 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.
7. 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
management plan
Describes the configuration management 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.
8. 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
9. The project plan
• The project plan sets out:
– The resources available to the project;
– The work breakdown structure;
– A schedule for the project.
10. Project plan structure
• Introduction.
• Project organisation.
• Risk analysis.
• Hardware and software resource requirements.
• Work breakdown structure.
• Project schedule.
• Monitoring and reporting mechanisms.
11. 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 model allows for the straightforward definition of progress
milestones.
13. 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.
14. 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.
16. 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 weeks.
• Activity charts show task dependencies and the critical path.
• Bar charts show schedule against calendar time.
20. Staff allocation
4/7 11/7 18/7 25/7 1/8 8/8 15/8 22/8 29/8 5/9 12/9 19/9
T4
T8 T11
T12
T1
T3
T9
T2
T6 T10
T7
T5
Fred
Jane
Anne
Mary
Jim
21. Critical Path calculation
• To find the critical path for a project, you must first develop a good
network diagram which in turn requires a good activity list based on
the WBS.
• Once you create a network diagram, you must also estimate the
duration of each activity to determine the critical path.
• Calculating the critical path involves adding the durations for all
activities on each path through the network diagram. The longest
path is the critical path.
22.
23. • What does the critical path really mean? Even though the critical path
is the longest path, it represents the shortest time required to
complete a project.
• If one or more activities on the critical path take longer than planned,
the whole project schedule will slip unless the project manager takes
corrective action.
• Project teams can be creative in managing the critical path.
24. PERT
• When there is a high degree of uncertainty about the individual
activity duration estimates, the network analysis Program Evaluation
and Review Technique (PERT) can be used to estimate project
duration.
• PERT applies the critical path method (CPM) to a weighted average
duration estimate.
• This approach was developed at about the same time as CPM, in the
late 1950s, and it also uses network diagrams
25. • PERT uses probabilistic time estimates—duration estimates based on
using optimistic, most likely, and pessimistic estimates of activity
durations—instead of one specific or discrete duration estimate, as
CPM does.
• To use PERT, you have to calculate a weighted average of each project
activity using the following formula in order to have duration estimate
of the project.
26. • By using the PERT weighted average for each activity duration
estimate, the total project duration estimate is calculated by taking
the risk or uncertainty in the individual activity estimates into
account.
• Suppose that one of the activities was to design an input screen for
the system. Someone might estimate that it would take about two
weeks or 10 workdays to do this activity.
• Without using PERT, the duration estimate for that activity would be
10 workdays
27. • Using PERT, the project team would also need to estimate the
pessimistic and optimistic times for completing this activity.
• Suppose an optimistic estimate is that the input screen can be
designed in eight workdays, and a pessimistic time estimate is 24
workdays. Applying the PERT formula, you get the following:
28. • Instead of using the most likely duration estimate of 10 workdays, the
project team would use 12 workdays when doing critical path
analysis. These additional two days could help the project team get
the work completed on time.
• The main advantage of PERT is that it attempts to address the risk
associated with duration estimates. Because many projects exceed
schedule estimates, PERT may help in developing schedules that are
more realistic.
• PERT’s main disadvantages are that it involves more work than CPM
because it requires several duration estimates, and there are better
probabilistic methods for assessing schedule risk.
31. What is Float in Project Management?
• In project management, float, sometimes also referred to as “slack,”
• It is a number that indicates the amount of time a task can be delayed
without impacting subsequent tasks or the project’s overall
completion.
• It’s important to track float when you are maintaining your project
schedule.
• There are two types of float in project management, free float (FF)
and total float (TF).
32. • Free float is the amount of time that a task can be delayed without
impacting the subsequent task.
• Total float is the amount of time a task or a project can be delayed
without impacting the overall project completion time.
• A project’s total float is the difference between the finish date of the
last task on the critical path and the project completion date.
• To calculate the free float of a task, simply take the difference
between the next task’s planned start date, and the current task’s end
date.
33. • Free float (FF) is also a helpful number to monitor because it gives
you a way to decide which tasks need to be prioritized and which can
be pushed back to a later date.
• If a task has zero float or a low float number, then it should go to the
top of the priority list so the project team can knock it out.
• Conversely, any tasks with high FF numbers can be pushed to the
bottom of the priority list, because there is no rush to get them
finished up.
34. An example of float
• Let’s assume you’re building your new kitchen, and you have 90 days
to complete the process because you have a big party planned in
three months. In order to complete the kitchen renovation project,
the following things must happen in order:
1. Drywall installation
2. Cabinet installation
3. Plumbing/Electric
4. Floor installation
• These activities make up the critical path and have zero float.
35. • Then there are additional tasks like painting and decorating that need
to happen, but they have much more flexibility as to when they can
be done. These tasks make up the non-critical path.
• Painting can be done any time after the drywall is installed, so it has a
high float. Decorating can be done any time after the painting is done,
so decorating has some float too.
36.
37. • It might seem that float is just a technical number used in
network diagrams, but it is actually a very powerful tool that can
help teams learn more about their work and help improve the
productivity of projects.
• Monitoring a project’s total float (TF) is crucial to ensure that the
overall project is going to be delivered on time. If you notice that a
project’s TF is getting close to zero, it’s now crunch time to make sure
the final remaining tasks are finished efficiently.
• You may even need to add extra resources to help the project team
finish the final tasks faster than originally planned. If the project isn’t
going to finish on time, then it’s time to have a chat with your client
or stakeholders to let them know that they should expect a delay.
38. • Float is a key piece of the critical path method (CPM), a system used
by project managers to efficiently schedule project activities.
• Calculating float on your tasks and projects can be extremely
valuable, but doing the calculations by hand is out of the question for
most people.
• Therefor the best way to get float numbers and other valuable
calculations in real-time is to use professional project management
software that automatically does the number crunching for you.