Download as pptx, pdf, or txt
Download as pptx, pdf, or txt
You are on page 1of 14

MIT INFT5005

Technology and Project Management

Project Scheduling
• Project scheduling is the process of deciding how the work in a project will
be organized as separate tasks, and when and how these tasks will be
executed.

• You estimate the calendar time needed to complete each task, the effort
required and who will work on the tasks that have been identified.

• You also have to estimate the resources needed to complete each task, such
as the disk space required on a server, the time required on specialized
hardware, such as a simulator, and what the travel budget will be.
Project Scheduling Activities
 Split project into tasks and estimate time and
resources required to complete each task Problems
 Organize tasks concurrently to make optimal use
of workforce  Estimating the difficulty of problems and hence the
 Minimize task dependencies to avoid delays cost of developing a solution is hard
caused by one task waiting for another to  Productivity is not proportional to the number of
complete people working on a task
 Dependent on project managers intuition and  Adding people to a late project makes it later
experience because of communication overheads
 The unexpected always happens. Always allow
contingency in planning
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.

Cost Estimation
To estimate how much software-engineering time will be required to do some work.
Elapsed time
• The difference in time from the start date to the end date of a task or project.
Development effort
• The amount of labour used in person-months or person-days.
• To convert an estimate of development effort to an amount of money:

 You multiply it by the weighted average cost (burdened cost) of employing a software engineer for a
month (or a day).
Principles Of Effective Cost Estimation
Principle 1: Divide and conquer.

1. To make a better estimate, you should divide the project up into individual subsystems.
2. Then divide each subsystem further into the activities that will be required to develop it.
3. Next, you make a series of detailed estimates for each individual activity.
4. And sum the results to arrive at the grand total estimate for the project.

Principle 2: Include all activities when making estimates.


The time required for all development activities must be taken into account.
Including:
 Prototyping
 Design
 Inspecting
 Testing
 Debugging
 Writing user documentation
 Deployment.
Principle 3: Base your estimates on past experience combined with knowledge of the current project.

If you are developing a project that has many similarities with a past project:

• You can expect it to take a similar amount of work.

• Base your estimates on the personal judgement of your experts

Principle 4: Be sure to account for differences when extrapolating from other projects.

• Different software developers


• Different development processes and maturity levels
• Different types of customers and users
• Different schedule demands
• Different technology
• Different technical complexity of the requirements
• Different domains
• Different levels of requirement stability
Principle 5: Anticipate the worst case and plan for contingencies.

Develop the most critical use cases first


• If the project runs into difficulty, then the critical fe atures are more likely to have been completed
Make three estimates:
 Optimistic (O)
- Imagining everything going perfectly
 Likely (L)
- Allowing for typical things going wrong
 Pessimistic
- Accounting for everything that could go wrong

Principle 6: Combine multiple independent estimates.

• Use several different techniques and compare the results.


• If there are discrepancies, analyze your calculations to discover what factors causing the differences.

Principle 7: Revise and refine estimates as work progresses


• As you add detail.
• As the requirements change.
• As the risk management process uncovers problems.
Effort Estimation and Scheduling
Problems in Effort Estimation
• Basic problem: Predicting the future by looking into the past
• A lack of information on the project to be estimated
 Most influential decisions are made in the early phases of project, based on inadequate information
• A lack of good historical information
• Estimates are done sloppily
 ”If they cannot be done perfectly, why pay attention to them?”
• Estimates are not followed, respected or trusted
 An estimate should not be an opinion, as an opinion can be overruled by your superior

Effort Estimation Best Practices


• Use several estimation techniques and compare them
 If they converge, you are probably on the right track
 Find out why the estimates are different
 Combine several expert opinions
 Ask several different estimates – optimistic, probable and pessimistic, and compare them

• Avoid off-the-cut estimates


• Allow time for the estimate, and plan it
• Use documented data from previous projects
• Use developer-based estimates
System Definition
A System is a set of physical or virtual objects whose interrelationships enable desired
function(s).

• more than the sum of its parts


• Undesired (emergent) functions often exist
• System complexity scales with the number of objects as well as the type and number of interconnections
between them
• Instantaneously available functions, versus“lifecycle” properties (scalability, flexibility, robustness)

A Product is a “System” sold for profit


Program Management
 A program is a group of related projects managed in a coordinated manner to obtain benefits not available from
managing them individually.

 Program management is the application of knowledge, skills, tools and techniques to meet program
requirements.

 It is the coordinated management of projects and change management activities to achieve beneficial change
 Project management is the application of knowledge, skills, tools, and techniques
to project activities in order to meet or exceed stakeholder needs and expectation
from a project.

 Project Management comprises a body of methods and tools that


facilitate the achievement of project objectives.

 Within time
 Within cost
 Within scope
 At the desired performance/specification level
 While effectively and efficiently utilizing resources
 While carefully managing risks and opportunities
Project Management Activities
The project manager will typically be involved in:

 Ensuring progress of the project according to defined metrics..


 Identifying risks.
 Ensuring progress toward deliverables within time and resource
constraints.
 Running coordination meetings.
 Negotiating for resources on behalf of the project.
System Project Management Framework
Program Management – Core Processes

 Transformation
 Project coordination
 Benefits management
 Stakeholder management and communications

Program Management – Key Roles


 Program sponsor – is accountable for achievement of the business case and providing senior-level
commitment to the program.

 Program manager – is responsible for day-to-day management of the program including the
coordination of projects and change management activities.

 Business change managers – are responsible for successful transition and benefits realization.
Project Management Skills
 Leadership
 Communications
 Problem Solving
 Negotiating
 Influencing the Organization
 Mentoring
 Process and technical expertise
Portfolio Management

is the selection, prioritization and control of an organization’s projects


and programs in line with its strategic objectives and capacity to deliver

The goal is to balance change initiatives and business-as-usual while


optimizing return on investment.

Portfolio management integrates the disciplines of strategic planning,


change management, and project and program management.

You might also like