133
SOFTWARE PROJECT MANAGEMENT By DR.S.Santhosh baboo

SOFTWARE PROJECT MANAGEMENT By DR.S.Santhosh baboo

Embed Size (px)

Citation preview

SOFTWARE PROJECT

MANAGEMENT

By DR.S.Santhosh baboo

PROJECT:

The dictionary definition put a clear

emphasis on the project being a planned activity

The characteristic which distinguish project as

Non routine task are involvedPlanning is requiredSpecific objectives are to be met

Work is carried out for someone other than yourself

Work involves several specialismsWork is carried out in several phasesThe project is largeThe resources are available for use on the

project are constrained

MANAGEMENT:

Management involves following activities:Planning –deciding what to be doneOrganizing-making arrangementStaffing-selecting right people for right jobDirecting-giving instructionmonitoring-checking on progressControlling-taking action to remedy hold-

ups

Innovating-coming up with new solutionRepresenting-liasing with clients, users,

developers, suppliers and stakeholders

MANAGING SOFTWARE PRODUCT:

Worldwide, some half a million project managers execute about a million software projects each year, producing software worth $600 billion. Many of these projects fail to fulfill customers‘ quality expectations or fail to deliver the software within budget and on schedule. One analysis suggests that1about one-third of projects have cost and schedule overruns of more than 125%.

Why do so many software projects fail?

Although there are many reasons, one of the

most important is improper management of the

project.

PROCESS AND MANAGEMENT CONCEPTS:

A software project has two main activity dimensions: engineering and project management. The engineering dimension deals with building the system and focuses on issues such as how to design, test, code, and so on. The project management dimension deals with properly planning and controlling the engineering activities to meet project goals for cost, schedule, and quality.

PROJECT MANAGEMENT PROCESS:

For a project team to successfully execute a project, it must perform hundreds of tasks, many

of them interdependent. Effectively managing this

process is extremely important for success. At

software companies, the set of activities executed by a project manager is specified in the project management process.

It is fairly standard, having three main stages: Project planningProject executionProject closure

PROBLEM WITH SOFTWARE PROJECT:

Poor estimation and plain Lack of quality of standard and measurement Lack of guidance about making organizational

decisions Lack of techniques to make process visible Poor roll definition

STAKEHOLDERS:

people who are having a stake or interest in

the project. It is important that they be identified

as possible, be cause you need to communicate

channel with right from the start.

REQUIRED SPECIFICATION:

Functional requirement Quality requirement Resource requirement

STEP WISE PROJECT PLANNING:

0.Select Project

1.Identify scope and objectives

2.Identify project infrastructure

3.Analyse project characteristics

4.Identify products and activities

5.Estimate effort for each activity

6.Identify activity risks

7.Allocate resources

8.Review plan

9.Execute plan

STEP 0:

select the project

Step 1:

Identify the project scope

and objectives.identify the object and measurement of

effectiveness in meeting them.establish a project authorityidentify stake holders

Step 2:

Identify the project infrastructureEstablish relationship between project and

strategic planningIdentify installation standards and procedureIdentify the project team organization

Step 3:

Analyses the project characteristicDistinguish the project as either objective or product

drivenAnalyses other project characteristicIdentify the high level project riskTake into account user requirements concerning

implementation

Select general life cycle approachReview overall resource estimation

Step 4:

identify the product and the activitiesIdentify and describe project productsDocument the generic product flowsRecognize the product instanceProduct deal activities networkModify deal to take into account need

for stages and check point

Step 5:

estimate effort for each activitiesCarryout the bottom up estimationRevise plan to create controllable

activities

Step 6:

identify the activity riskIdentify and describe quantify activity

based risksPlan risk reduction and contingency

measures where appropriateAdjust plans and estimates to take

account of risks

Step 7:

Allocate resourcesIdentify and allocate resourcesRevise plans and estimates to take

account of resource constraints

Step 8:

Review/publicize planReview quality aspects of project planDocument plans and obtain agreement

Step 9/10:

Execute plan/lower level of planningThis may require the reiteration of the

planning process at a lower level.

SELECT THE PROJECT:

Deciding whether the project can be taken up or not

Technical,Organizational and Financial Feasibility is considered

Programme Management Group of projects managed in a coordinated way to gain benefits.

DIFFERENT FORM OF PROGRAMME:

Strategic Programmes Business cycle programmes Research and development programmes

PROGRAM MANAGEMENT AND PROJECT EVALUATION :

Program managementManaging the allocation of resources within

programsStrategic program managementCreating a programAids to programme managementBeneficial management

Technical assessmentEvaluation of individual projects Cast-benefit

analysisCash flow forecastingCost benefit evaluation techniquesRisk evaluation

STRATEGIC PROGRAMMES:

Several projects implement single strategy] Two Organizations Unified Payroll The Projects are coordinated and done according

to the strategy

BUSINESS CYCLE PROGRAMMES:

Specific budget for the projects If one project is delayed, staff from other team

can be used and resources also can be used

RESEARCH AND DEVELOPMENT PROGRAMMES:

New innovative ideas to develop new products High risk if successful result is good

CREATING A PROGRAMME:

The Programme Mandate The Programme Brief The Vision Statement The Blue Print

THE PROGRAMME MANDATE:

Formal document describing

New services programme should deliver

How organization will be improved by new services

Programme director provides initial leadership

THE PROGRAMME BRIEF:

Information sufficient to decide about project(vision statement)

Estimates cost,performance and risk

BLUE PRINT:

Organizational structure(staffs and skills) Resources Data and information requirements

IDENTIFY PROJECT SCOPE AND OBJECTIVES:

Scope and Objectives of the project are

Constraints

Meet requirements

Cost control

Identify stake holders and their interest

Communication

IDENTIFY PROJECT INFRASTRUCTURE:

Project should fit in existing infrastructure Project manager should have full control over the

project Project Manager should be aware of Project

planning and control

SELECTION OF AN APPROPRIATE PROJECT

APPROACH:Choosing technologiesTechnical plan contents listChoice of process modelsStructure versus speed of deliveryThe waterfall modelSpiral modelSoftware prototypingIncremental delivery

Dynamic system developmentExtreme programmingManaging iterative processesSelecting a most appropriate process model

PROJECT ANALYSIS:

Outcome of analysis will be selection of most appropriate methodologies and

technologies Methodologies(Unified Software Development

Process (USDP), Structured system analysis and design methods (SSADM))

Technologies(Environments , Software etc)

STEPS IN PROJECT ANALYSIS:

Identify project as either objective driven or product driven

Analyses Project Characteristics

Data driven or Process driven

General tool or application specific

Specific tools available(Graphics etc)

Hardware and software environment

Entertaining games or servicing

CHOICE OF PROCESS MODELS:

The activities can be organized in different ways known as models(Process Models)

The various models areWaterfall ModelV Process ModelSpiral Model

WATER FALL MODEL:Feasibility study

User Requirements

Analysis

System design

Program design

Coding

Testing

Operation

V-PROCESS MODEL:

Feasibility study

User requirements

System design

Program design

User acceptance

System testing

Program testing

Code

User acceptance

SOFTWARE EFFORT ESTIMATION:

The definition of successful project is delivering the project on correct time within the budget at good quality

Hence estimation such as Lines of Code,Number of months have to be done

Estimates are carried out at various stages of the project

BASIS FOR SOFTWARE ESTIMATION:

Need of historical data(past projects) Measure of work(Lines of code) Complexity(varies with the project)

EFFORT ESTIMATION TECHNIQUES:

Function point method Empirical model method

FUNCTION POINT METHOD:

The measures are collected by means of various functions such as

Number of user inputs Number of user outputs Number of user inquiries Number of files Number of external interfaces

EMPIRICAL MODEL METHOD:

Cocomo Model(COnstructive COst MOdel)

This model deals with sizing information such as number of screens, number of reports etc.

The Productivity rate is determined from which the effort in months is calculated

RISK MANAGEMENT Risk Categories of risk A framework for dealing with risk Risk identification risk assessment Risk planning Risk management Evaluating risk to scheduling Critical chain concepts conclusion

RISK MANAGEMENT:

Risk is an uncertain event or condition that if occurs has positive or negative effect on a project’s objectives

Key elements of risk are 1. It relates to the future 2. It involves cause and effect (Cost, Staff)

CATEGORIES OF RISK:

Project Risk(Objectives) Business Risk(Cost) Social Technological

Risk(Staff,Technology,Tasks)

RISK DEALING:

Risk Identification Risk Analysis and Prioritization Risk Planning Risk Monitoring

RISK IDENTIFICATION:

Use of Checklists and Brainstorming Checklists refer to the number of risks that occur

regularly in development of project Brainstorming uses stakeholders to identify risks

and find a solution to the problems

CHECKLISTS:

Risk

1.Personnel shortfalls

2.Unrealistic time and cost estimates

3.Late changes to requirements

4. Technical problem

5.Developing wrong software functions

BRAINSTORMING:

The stakeholders together identify the risks and identify possible solutions to overcome the risk.

The main stakeholders are considered for risk identification

RISK ANALYSIS AND PRIORITIZATION:

The risk is potentially endless hence the risk exposure should be calculated by the following formula

Risk Exposure=Potential damage*Probability of occurrence

The risk exposure can be calculated for all sort of risks in the checklist

RISK PLANNING:

The risks are identified and prioritized, then decision should be taken to deal with the risk

The choices are1.Risk Acceptance2.Risk Avoidance3.Risk Reduction and Mitigation4.Risk Transfer

RISK PLANNING:

Risk Acceptance Some risks can be ignored, some risks have to be solved

Risk Avoidance The risks should be avoided before itself(Staff,Technology etc)

Risk Reduction Take precautions to reduce the risk

Risk Transfer The project can be transferred to other organization who are experienced

RISK MONITORING:

The steps for risk reduction should be implemented and monitored in this stage

The Project Manager should monitor the risks carefully by means of documents and register it.

The evaluation of risk management should be done to see how the risk is reduced.

RESOURCE ALLOCATION:

Nature of resources Identifying resource requirements Scheduling resources Creating a critical path Counting the cost Being specific Publishing the resource scheduling

Cost schedulesThe scheduling sequenceconclusion

RESOURCE ALLOCATION:The resource is an item or staff required to

complete a project.The various categories of resources are

1.Labour2.Equipment3.Materials4.Space5.Services6.Time7.Money

IDENTIFYING RESOURCE REQUIREMENTS:

Resource allocation plan to know about the demand

Each activity is considered to identify the resources allocated

SCHEDULING RESOURCES:

The resources are scheduled according to the priority.The resource which is needed immediately is allocated first

The resource scheduling is done according to the modules

The resource availability is seen and then only scheduled.

8.MONITORING AND CONTROL:

Creating the framework Collecting a data Visualizing process Cost monitoring Earned value analysis Prioritizing monitoring Getting a project back to target Change control conclusion

MONITORING AND MANAGE CONTROL:

The progress of the project is monitored as it is under the way after resource allocation

The control is established through the project control cycle

StartPublish initial planGather project informationCompare progress vs targetsIf satisfactory continue else revise and start from

step 3If project completed continue else goto step 3End project and reviewGive document conclusions

The steps in the cycle are

CATEGORIES OF REPORTING:

Oral Formal Regular(Weekly Meetings) Oral Formal AdHoc(End stage Revies) Written Formal Regular(Jobsheets,Progress

Reports) Written Formal AdHoc(Change Reports)

GUIDELINES:

• Risk Management• Cost Management• Resource Management

MANAGING CONTRACT: The ISO12207 approach to the acquisition and

supply of software The supply process Types of contract Stages in contract placement Typical terms of contract Contract management Acceptance conclusion

MANAGING PEOPLE AND ORGANIZING TEAMS:

Understanding behavior Organization behavior Selecting a right person for right

job Instruction in best methods Motivation Working in groups

Becoming a team Decision making Leadership Organizational structures

RECRUITMENT PROCESS:

Create a job specification(Requirements) Create a job holder profile Obtain Applicants(Advertisement) Examine CV`s Conduct of Interviews Other Procedures(Medical Examination)

ORGANIZING TEAMS:

The stages of development for forming a team Forming(Know each other,stick on to rules) Storming(Method of operation to avoid conflicts) Norming(Group entity settled and no conflicts) Performing(Tasks emphasized) Adjourning(Group starts their work)

SOFTWARE QUALITY: The place of software quality in

project planning Importance of software quality Defining a software quality Practical software quality

measure Product versus process quality

management External standards

Techniques to help enhance software quality Quality plan conclusion

SOFTWARE QUALITY:

Quality is defined as “How well the project performs as we have planned”

Quality is concerned at various stages of planning and execution

SOFTWARE QUALITY MEASURES:

Reliability Maintainability Extendibility

SOFTWARE QUALITY MANAGEMENT SYSTEM:

– Quality Assurance• Through this process an org. establishes

procedures and standards that lead to the development of high quality software

– Quality Planning• Involves selection of appropriate procedures and

standards for a project that will deliver quality software

• Sets the direction for the quality process- without clear spec. regarding desired quality of the product

– Quality Control• Ensures that selected procedures are

followed throughput the project.

MEASURING SOFTWARE QUALITY:

The first step towards measurement is to identify software metrics

Metrics is defined as ‘a quantitative measure of the degree to which a system, component or processes a given attribute’ –i.e., It involves collection of data over a period of time that gives a measure of performance

Three reasons for which you need to measure a software system:

To determine the quality of the product and development process in relation to expected standards.

To predict the qualities that the product will exhibit in future in relation to expected standards

To improve the quality of the product and the process that produced it

WHAT ARE SOFTWARE REVIEWS? WRITING THE

SOFTWARE SPECIFICATION

Everyone knew exactlywhat had to be doneuntil someone wrote itdown!

OBJECTIVES OF REVIEWS:

Uncover errors in any representation of software Verify that

software meets its requirementssoftware follows predefined standardssoftware is developed in uniform manner

Make projects more manageable Educate new team members

HOW TO CARRY OUT REVIEWS:

THE REVIEW TEAM

review leader

recorder

producer

reviewer(s)

BASIC GUIDELINES (1)

3-6 people (typical)experienced senior technical staffrepresentatives of

team that created the documentclient representativeteam for next development phasesoftware quality assurance group

IEEE Standard for Software Reviews and Audits [IEEE 1028, 1988]

BASIC GUIDELINES (2)

Review leader should be SQA representativehas the most to losecreator: eager to get approval (to start next job)client: can wait for acceptance testing

Review leader distributes material Advance preparation of max. 2 hours before the

meeting Duration: less than 2 hours

RESULT OF A REVIEW:

Decision about the productaccept without further modificationreject the work due to severe errors (review

must be repeated)accept with minor modifications (that can be

incorporated into the document by the producer)

All participants have to sign-offshows participation responsibilityshows their concurrence with the findings

REVIEWER’S PREPARATION:

be sure that you understand the context first, skim all the product material to understand

location and format of the information next, read product material and annotate hardcopy pose your written comments as questions avoid issues of style inform the review leader if you can’t prepare

CONDUCTING THE REVIEW

Be prepared - evaluate product before review develop check list for each kind of work product review the product, not the producer keep your tone mild, ask questions instead of

making accusations stick to the review agenda raise issues, don’t resolve them! limit discussions (do them off line!)

avoid discussions of style - stick to technical correctness

schedule reviews as project tasks (allocate resources)

record and report all review results

QUALITY MANAGEMENT SYSTEM

• Processes• Standards• Techniques• Guidelines• Templates• Checklists• Forms• Document structure and Update Prcedure

QUALITY MODEL

ISO 9000 Model Software Engineering Institute Model

ISO 9000 STANSARDS:

ISO 9000 : model for qlty. assurance in design/development, production, installation and servicing

ISO 9002 : model for qlty. assurance in production and installation

ISO 9003 : model for qlty. assurance in final inspection and test

ISO 9000

ISO (international Standards Organization): – Consortium established to formulate and foster

standardization. ISO published its 9000 series of standards in 1987.

What is ISO 9000 Certification?

ISO 9000 certification: serves as a reference for contract between

independent parties. The ISO 9000 standard:

specifies guidelines for maintaining a quality system.

ISO 9000 specifies: guidelines for repeatable and high quality

product development.Also addresses organizational aspects

responsibilities, reporting, procedures, processes, and resources for implementing quality management.

ISO 9000 Certification

An ISO certified organization can use the certificate for corporate

advertisementscannot use the certificate to advertise products.

ISO 9000 certifies organization's process not any product of the organization.

An organization using ISO certificate for product advertisements: risks withdrawal of the certificate.

Summary of ISO 9001 Requirements:

Management responsibility(4.1):Management must have an effective quality

policy. The responsibility and authority of all those

whose work affects quality: must be defined and documented.

Management responsibility:

Responsibility of the quality system. independent of the development process, can work in an unbiased manner.

The effectiveness of the quality system: must be periodically by audited.

Quality system and contract reviews

A quality system must be maintained and documented.

Contract reviews (4.3):Before entering into a contract, an organization

must review the contract ensure that it is understood,organization has the capability for carrying

out its obligations.

Design control:

The design process must be properly controlled, this includes controlling coding also.

A good configuration control system must be in place.

Design inputs must be verified as adequate. Design must be verified. Design output must be of required quality. Design changes must be controlled.

Document control:

Proper procedures for document approval, issue and removal.

Document changes must be controlled. use of some configuration management tools is

necessary.

Process Control:

The development must be properly managed. Quality requirements must be identified in a

quality plan.

Inspection and Testing:

In software terms this requires effective testing i.e., unit testing, integration testing and system

testing.

Test records must be maintained.

Corrective Action:

This is both about correcting errors when found, investigating why they occurredimproving the process to prevent further

occurrences. If an error reoccurs despite the quality system,

the system needs improvement.

Handling and Quality audits:

Handling Deals with: storage, packing, and delivery of the software

product. Quality Audits :

quality system audit must be carried out to ensure its effectiveness.

Salient features of ISO 9001 requirements:

All documents concerned with the development of a software product should be properly managed, authorized, and

controlled. Proper plans should be prepared

progress against these plans should be monitored.

Important documents independently checked and reviewed: for effectiveness and correctness.

The product should be tested :against specification.

Several organizational aspects: e.g., management reporting of the quality team.

Shortcomings of ISO 9001 Certification:

ISO 9000 requires a production process to be adhered to:but does not guarantee the process to be of high

quality.Does not give any guideline for defining an

appropriate process.

Shortcomings of ISO 9001 Certification:

ISO 9000 certification processnot fool-proofno international accreditation agency exists. likely variations in the norms of awarding

certificates: among different accreditation agencies and

among the registrars.

SEI Quality Process

Initial Level Repeatable Level Defined Level Managed Level Optimizing Level

SEI Capability Maturity Model:

The SEI CMM classifies software development industries into: Five maturity levels.Stages are ordered so that improvements at one

stage provide foundations for the nextBased on the pioneering work of Philip Crosby

SEI Capability Maturity Model:

Initial (1)

Repeatable (2)

Defined (3)

Managed (4)

Optimizing (5)

Level 1: (Initial)

Organization operateswithout any formalized process or project plans

An organization at this level is characterized by ad hoc and often chaotic activities.

Level 1: (Initial)

Software production processes are not defined, different engineers follow their own process development efforts become chaotic. The success of projects depend on individual

efforts and heroics.

Level 2: (Repeatable)

Basic project management practices tracking cost, schedule, and functionality are

followed. Size and cost estimation techniques

function point analysis, COCOMO, etc. used. Production process is ad hoc

not formally definedalso not documented.

Process used for different projects might vary between projects: earlier success on projects with similar

applications can be repeated.Opportunity to repeat process exist when a

company produces a family of products.

Level 3: (Defined)

The process though defined, process and product qualities are not measured.

ISO 9001 aims at achieving this level. Management and development activities:

defined and documented.Common organization-wide understanding of

activities, roles, and responsibilities.

Level 4: (Managed)

Quantitative quality goals for products are set. Software process and product quality are

measured: The measured values are used to control the

product quality.Results of measurement used to evaluate

project performance rather than improve process.

Organization sets quantitative quality goals World-wide about 100 organizations assessed at

this level.

Level 5: (Optimizing)

Statistics collected from process and product measurements are analyzed:continuous process improvement based on the

measurements.Known types of defects are prevented from

recurring by tuning the processlessons learned from specific projects

incorporated into the process

Identify best software engineering practices and innovations: tools, methods, or process are identifiedtransferred throughout the organization

World-wide about 50 organizations have been assessed at this level.

Key Process Areas

Each level is associated with a key process area (KPA) identifieswhere an organization at the previous level

must focus to reach this level

Level 2 KPAs

Software project planningSize, cost, schedule.project monitoring

Configuration management Subcontract management

Level 3 KPAs

Process definition and documentation Reviews Training program

Level 4 KPAs

Quantitative measurements Process management

Level 5 KPAs

Defect prevention Technology change management Process change management

CONCLUSION

Hence the stepwise planning is necessary to make the software project management successful