INTRODUCTION TO SOFTWARE PROJECT MANAGEMENT
1 Project Definition
2 Contract Management
3 Activities Covered By Software Project Management
4 Overview Of Project Planning
5 Stepwise Project Planning
1.What is a Project?
A project is a temporary endeavor undertaken to create a unique product or service
Specific resources utilized
Performed by people - Single or multi-person team
The Triple Constraint of Projects
On Time, Budget, Quality = Required Scope
Alignment with institutional priorities
In support of GOAL
Realistic and Achievable Objectives
Identify Resources Required
Timeline for Implementation
Criteria for success
Evaluation Method/Instru ments
Going over budget
– Will result in...
Having to get more mone y
Having to reorganize bud get
Adjusting budget due to scope change
Adjusting budget due to r esources change Consider SCOPE
Changing deadlines for certain project components
Adjusting schedule due to scope change
Adjusting timelines due to resource change Consider RESOURCES
Having to replace resources
Running short on resources
2 Contract management
Contract management or contract administration is the management of contracts made with customers, vendors, partners, or employees. Contract management includes negotiating the terms and conditions in contracts and ensuring compliance with the terms and conditions, as well as documenting and agreeing on any changes or amendments that may arise during its implementation or execution. It can be summarized as the process of systematically and efficiently managing contract creation, execution, and analysis for the purpose of maximizing financial and operational performance and minimizing risk.
Common commercial contracts include employment letters, sales invoices, purchase orders, and utility contracts. Complex contracts are often necessary for construction projects, goods or services that are highly regulated, goods or services with detailed technical specifications, intellectual property (IP) agreements, and international trade.
A study has found that for "42% of enterprises...the top driver for improvements in the management of contracts is the pressure to better assess and mitigate risks" and additionally,"nearly 65% of enterprises report that contract lifecycle management (CLM) has improved exposure to financial and legal risk
A contract is a written or oral legally-binding agreement between the parties identified in the agreement to fulfill the terms and conditions outlined in the agreement. A prerequisite requirement for the enforcement of a contract, amongst other things, is the condition that the parties to the contract accept the terms of the claimed contract. Historically, this was most commonly achieved through signature or performance, but in many jurisdictions - especially with the advance of electronic commerce - the forms of acceptance have expanded to include various forms of electronic signature.
Contracts can be of many types, e.g. sales contracts (including leases), purchasing
contracts, partnership agreements, trade agreements, and intellectual property agreements.
A sales contract is a contract between a company (the seller) and a customer that where the company agrees to sell products and/or services. The customer in return is obligated to pay for the product/services bought.
A purchasing contract is a contract between a company (the buyer) and a supplier who is promising to sell products and/or services within agreed terms and conditions. The company (buyer) in return is obligated to acknowledge the goods / or service and pay for liability created.
A partnership agreement may be a contract which formally establishes the terms of a partnership between two legal entities such that they regard each other as 'partners' in a commercial arrangement. However, such expressions may also be merely a means to reflect the desire of the contracting parties to act 'as if' both are in a partnership with common goals. Therefore, it might not be thecommonlaw arrangement of a partnership which by definition creates fiduciary duties and which also has 'joint and several' liabilities.
3. Activities covered by software project
A Software project is concerned not only with the actual writing of software. In fact, where a software application is bought in ‘Off-the-self’, there might be no software writing as such. This
is still fundamentally a software project because so many of the other elements associated with this type of project are present.
Usually, there are three successive process that bring a new system into being · Feasibility Study
Let us understand what is the mean by ‘Feasibility Study’?
A feasibility study may be carried out before a project commences Its Purpose
To establish an outline of what users require
§ · To ensure it is feasible to meet their needs · Entirely In part
To record initial impressions of how to meet the requirements
To give management a feel for costs and timescales of project
To provide as much information as possible to project manager for · Estimating
Purchasing and accommodation
To help management decide whether to proceed with the 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
The project can now be executed. Individual projects are likely to differ considerably but a classic project life cycle is shown in fig.Requirementsanalysis .
This is finding out in detail what the users require of the system that the project is to implement.
Some work along these lines will almost certainly have been carried out when the project was evaluated but now the original information obtained needs to be updated and supplemented.
Several different approaches to the users’ requirements may be explored.
For example, a small system that satisfies some, but not all, of the users’ needs at a low price may be compared to a system with more functions but at a higher price. Specification Detailed documentation of what the proposed system is to do. Design A design that meets the specification has to be drawn
up. This design activity will be in two stages. One will be the external or user design. This lays down what the system is to look like to the users in terms of menus, screen and report layouts and so on. The next stage produces the physical design, which tackles the way in which the data and software procedures
are be structured internally.
This might refer to writing code in a procedural language such as C or Ada, or might refer to the use of a high level application builder. Even where software is not being built from scratch, some modification to the base application might be required to meet the needs of the new application.
3.3 Verification and validation:
Whether software is developed specially for the current application or not, careful testing will be needed to check that the proposed system meets its requirements.
Some system development practitioners refer to the whole of the project after design as ‘implementation’ (that is, the implementation of the design) while others insist that the term refers to the installation of the system after the software has been developed. In this case it encompasses such things as setting up data files and system parameters, writing user manuals and training users of the new system.
3.5 Maintenance and support:
Once the system has been implemented there will be a continuing need for the correction of anyerrors that may have crept into the system and for extensions and improvements to the system. Maintenance and support activities may be seen as a series of minor software projects. Inmany environments, most software development is in fact maintenance.
4. Stepwise: an overview of project planning
Planning is the most difficult process in project management This chapter describes a framework of basic steps in project planning. Many different techniques can be used but this chapter tells the overview of the steps and activities in each step of project planning
A major step in project planning is to plan in outline first and then in more detail.
Step 0: Select project
Step 1: Identify project scope and objectives
Step 2: Identify project infrastructure
Step 3: Analyze project characteristics
Step 4: Identify project products and activities
Step 5: Estimate effort for each activity.
Step 6: Identify activity risks.
Step 7: Allocate resources
Step 8 Review / Publicize pl\an
Step 9 &10: Execute plan / lower level of planning
Each step of project planning has different activities to perform. Following the description of each step with its activities
4.1.1 Step 0: Select project
This is called step 0 because in a way of project planning, it is outside the main project planning process. Feasibility study suggests us that the project is worthwhile or not.
4.1.2 Step 1: Identify project scope and objectives
The activities in this step ensure that all parties to the project agree on the objectivesand are committed to the success of the project.
Step 1.1: Identify objectives and practical measures of the effectiveness in meeting those objectives
Step 1.2: Establish project authority
Step 1.3: Stakeholders analysis – Identify all stakeholders in the project and their interest.
Step 1.4: Modify objectives in the light of stakeholder analysis.
Step 1.5: Establish method of communication
4.1.3 Step 2: Identify project infrastructure
Projects are rarely carried out in a vacuum. There is usually some kind of infrastructure into which the project must fit. Where the project manager are new to the organization , they must find out the precise nature of this infrastructure.
Step 2.1: Identify relationship between the project and strategic planning
Step 2.2: Identify installation standards and procedures.
Step 2.3: Identify project team organization.
4.1.4 Step 3: Analyze project characteristics.
The general purpose of this part of planning operation is to ensure that the appropriate methods are used for the project.
Step 3.1: Distinguish the project as either objective- product driven
Step 3.2: Analyze other project characteristics (including quality –based ones)
Step 3.3: Identify high level project risks
Step 3.4: Take into account user requirement concerning implementation.
Step 3.5: Select development methodology and life cycle approach.
Step 3.6: Review overall resources estimates
4.1.5 Step 4: Identify project products and activities
The more detailed planning of the individual activities now takes place. The longer term planning is broad and in outline, while the more immediate tasks are planned in some detail.
Step 4.1: Identify and describes project products (ordeliverables)
Step 4.2: Document generic product flows
Step 4.3: Record product instance
Step 4.4: produce ideal activity network
Step 4.5: Modify the ideal to take into account need for stages and checkpoints.
Step 5: Estimate effort for each activity.
Step 5.1: Carry out bottom-up estimates
Step 5.2: Revise plan to create controllable activities.
Step 6: Identify activity risks.
Step 6.1: Identify and quantify activity based risks
Step 6.2: Plan risk reduction and contingency measures where appropriate
Step 6.3: Adjust overall plans and estimates to take account of the risks
4.1.8 Step 7: Allocate resources
Step 7.1: Identify and allocate resources
Step 7.2: Revise plans and estimates to take into account resource constraints
4.1.9Step 8: Review / Publicize plan
Step 8.1: Review quality aspects of the project plan.
Step 8.2: Document plans and obtain agreement.
4.1.10 Step 9 & 10: Execute plan / lower level of planning
Once the project is underway, plans will need to be drawn up in greater detail for each activity as it becomes due. Detailed and lower level of planning of the later stages will need to be delayed because more information will be available nearer the start of the stage.
Project planning is an iterative process. As the time approaches for the particular activities to be carried out they should be re-planned in more detail.
Step Wise project planning framework
Preparation of a software project plan
Planning and scheduling the activities in software project management
Various approaches towards activity plan
Various scheduling techniques such as sequencing and CPM
Aside – When to plan
Planning is an on-going process of refinement
Planning at different stages of the project has different emphases and purposes
Project Vs Activity
A project is composed of a number of related activities
A project may start when at least one of its activities is ready to start
A project will be completed when all of its activities have been completed
An activity must have a clear start and a clear stop
An activity should have a duration that can be forecasted
Some activities may require that other activities are completed before they can begin
A project plan is a schedule of activities indicating the start and stop for each activity
Also provide the project and resource schedules
The start and stop of each activity should be visible and easy to measure
Each activity should have some ‘deliverables’ for ease of monitoring
During planning, managers consider:
Cash flow forecasting
Re-planning of the project towards the pre-defined goal
Other Objectives of Activity Planning
Different Levels of Plans
Project Schedule: a plan that shows
1. the dates when each activity should start and stop
2. when and how much of the resources will be required
Activity Plan: a plan that describes
how each activity will be undertaken
Project Schedule in 4 Stages
Ideal Activity Plan
An activity plan without any constraints
Risk consideration for each activity
Resource consideration for whole project
Schedule production and publication
Various Approaches towardsIdentifying Activity
Use Work Breakdown Structure (WBS) to generate a task list
identifying the main tasks
break each main task down into subtasks
The subtasks can further be broken down into lower level tasks.
More likely to obtain a task catalogue that is complete and is composed of non-overlapping tasks
WBS represents a structure that can be refined as the project proceeds
The structure already suggests the dependencies among the activities
Very likely to miss some activities if an unstructured activity list is used
Product Breakdown Structure (PBS)
To show how a system can be broken down into different products for development
Product Flow Diagram (PFD)
To indicate, for each product, which products are required as ‘inputs’
Less likely to miss a product unexpectedly from a PBS
Product-based Approach – An example
A mix of the activity-based approach and the product-based approach
More commonly used approach
The WBS consists of
a list of the products of the project; and
a list of activities for each product
IBM in its MITP methodology suggests 5 levels
Level 1: Project
Level 2: Deliverables (software, manuals etc.)
Level 3: Components
Level 4: Work-packages
Level 5: Tasks (individual responsibility)
Planning and Scheduling the Activities
Once we have a project plan (or, project schedule), we need to schedule the activities in a project taking into account the resource constraints
Suitable for small projects
Critical Path Method (CPM)
Suitable for large software projects
The most commonly used “networking” technique
A simple sequencing of the tasks and the responsible personnel taken into account of the resources
Easily presented in a simple bar chart
see figure 6.6 in Hughes book
Suitable for allocating individuals to particular tasks at an early stage
Critical Path Method (CPM)
Planning the project so that it can be completed as quickly as possible
Identifying those activities where their delays is likely to affect the overall project completion date
Developed by Du Pont Chemical Company and published in 1958
Capture the activities and their inter-relationships using a graph
Lines are used to represent the activities
Nodes are used to represent the startand stop of activities
Adding time dimension
The forward pass
Calculate the earliest start dates of the activities
To calculate the project completion date
The backward pass
Calculate the latest start dates for activities
Identify the critical path from the graph
Identifying critical path and critical event
Critical event:an event that has zero slack
Critical path: a path joining those critical events
Example to construct a CPM
Time allowed for an activity to delay 3 different types:
Total float (without affecting the completion of the project)
latest start date – earliest start date
Free float (without affecting the next activity)
earliest start date of next activity – latest end date of previous activity
Interfering float (= total float - free float)
Significance of critical path
During planning stage
Shortening the critical path will reduce the overall project duration
During management stage
Pay more attention to those activities which fall in the critical path