111
Types of requirement User requirements System requirements Domain requirements Functional requirements Non-functional requirements

Software PROJECT MANAGEMENT_Se lect10 btech

  • Upload
    iiita

  • View
    586

  • Download
    1

Embed Size (px)

DESCRIPTION

 

Citation preview

Page 1: Software PROJECT MANAGEMENT_Se lect10 btech

Types of requirement

• User requirements

• System requirements

• Domain requirements

• Functional requirements

• Non-functional requirements

Page 2: Software PROJECT MANAGEMENT_Se lect10 btech

Non-functional requirement types

Performancerequirements

Spacerequirements

Usabilityrequirements

Efficiencyrequirements

Reliabilityrequirements

Portabilityrequirements

Interoperabilityrequirements

Ethicalrequirements

Legislativerequirements

Implementationrequirements

Standardsrequirements

Deliveryrequirements

Safetyrequirements

Privacyrequirements

Productrequirements

Organizationalrequirements

Externalrequirements

Non-functionalrequirements

Page 3: Software PROJECT MANAGEMENT_Se lect10 btech

Requirements measures

Page 4: Software PROJECT MANAGEMENT_Se lect10 btech

Requirements measures

Property MeasureSpeed Processed transactions/second

User/Event response timeScreen refresh time

Size K BytesNumber of RAM chips

Ease of use Training timeNumber of help frames

Reliability Mean time to failureProbability of unavailabilityRate of failure occurrenceAvailability

Robustness Time to restart after failurePercentage of events causing failureProbability of data corruption on failure

Portability Percentage of target dependent statementsNumber of target systems

Page 5: Software PROJECT MANAGEMENT_Se lect10 btech

Relationship & Difference Between Requirement and Design

Page 6: Software PROJECT MANAGEMENT_Se lect10 btech

Requirements vs. Design

RequirementsRequirements DesignDesign

Describe Describe whatwhat will be will be delivereddelivered

Describe Describe howhow it will be done it will be done

Primary goal of analysis:Primary goal of analysis:

UNDERSTANDINGUNDERSTANDING

Primary goal of design:Primary goal of design:

OPTIMIZATIONOPTIMIZATION

There is more than one There is more than one solutionsolution

There is only one (final) There is only one (final) solutionsolution

Customer interestedCustomer interested Customer not interested (Most Customer not interested (Most of the time) except for externalof the time) except for external

Page 7: Software PROJECT MANAGEMENT_Se lect10 btech

Requirements and design

• In practice, requirements and design are inseparable– A system architecture may be designed to structure the

requirements– The system may inter-operate with other systems that

generate design requirements– The use of a specific design may be a domain

requirement

Page 8: Software PROJECT MANAGEMENT_Se lect10 btech

Relationships between user needs, concerns and NFRs

Page 9: Software PROJECT MANAGEMENT_Se lect10 btech

Relationships between user needs, concerns and NFRs

User’s need

User’s concern Non-functional requirement

Function 1. Ease of use 2. Unauthorised access 3. Likelihood of failure

1. Usability 2. Security 3. Reliability

Performance 1. Resource utilisation 2. Performance verification 3. Ease of interfacing

1. Efficiency 2. Verifiability 3. Interoperability

Change 1. Ease of repair 2. Ease of change 3. Ease of transport ? 4. Ease of expanding or upgrading

capacity or performance ?

1. Maintainability 2. Flexibility 3. Portability 4. Expandability

Page 10: Software PROJECT MANAGEMENT_Se lect10 btech

How to write requirements:

Page 11: Software PROJECT MANAGEMENT_Se lect10 btech

Guidelines for writing requirements• Invent a standard format and use it for all

requirements

• Use language in a consistent way. Use

shall for mandatory requirements,

should for desirable requirements

• Use text highlighting to identify key parts of the requirement

Page 12: Software PROJECT MANAGEMENT_Se lect10 btech

Problems with natural language

Page 13: Software PROJECT MANAGEMENT_Se lect10 btech

Problems with natural language

• Lack of clarity – Precision is difficult without making the document difficult

to read

• Requirements confusion– Functional and non-functional requirements tend to be

mixed-up

• Requirements combination– Several different requirements may be expressed together

Page 14: Software PROJECT MANAGEMENT_Se lect10 btech

Alternatives to NL specification

Page 15: Software PROJECT MANAGEMENT_Se lect10 btech

Alternatives to NL specification

Notation Description Structured natural language

This approach depends on defining standard forms or templates to express the requirements specification.

Design description languages

This approach uses a language like a programming language but with more abstract features to specify the requirements by defining an operational model of the system.

Graphical notations

A graphical language, supplemented by text annotations is used to define the functional requirements for the system.

Mathematical specifications

These are notations based on mathematical concepts such as finite-state machines or sets. These unambiguous specifications reduce the arguments between customer and contractor about system functionality.

Page 16: Software PROJECT MANAGEMENT_Se lect10 btech

What is Requirement Document

Page 17: Software PROJECT MANAGEMENT_Se lect10 btech

The requirements document

• The requirements document is the official statement of what is required of the system developers

• Should include both a definition and a specification of requirements

• It is NOT a design document. As far as possible, it should set of WHAT the system should do rather than HOW it should do it

Page 18: Software PROJECT MANAGEMENT_Se lect10 btech

Users of a requirements document

Page 19: Software PROJECT MANAGEMENT_Se lect10 btech

Users of a requirements document

Use the requirements todevelop validation tests forthe system

Use the requirementsdocument to plan a bid forthe system and to plan thesystem development process

Use the requirements tounderstand what system is tobe developed

System testengineers

Managers

System engineers

Specify the requirements andread them to check that theymeet their needs. Theyspecify changes to therequirements

System customers

Use the requirements to helpunderstand the system andthe relationships between itsparts

Systemmaintenance

engineers

Page 20: Software PROJECT MANAGEMENT_Se lect10 btech

Requirements document requirements

Page 21: Software PROJECT MANAGEMENT_Se lect10 btech

Requirements document requirements

• Specify external system behaviour

• Specify implementation constraints

• Easy to change

• Serve as reference tool for maintenance

• Record forethought about the life cycle of the system i.e. predict changes

• Characterise responses to unexpected events

Page 22: Software PROJECT MANAGEMENT_Se lect10 btech

Software Requirements Specification (SRS)

• What is an SRS?

• What is the purpose of an SRS?– Who reads the SRS?– Who writes the SRS?

• What information is put into an SRS?

• What do you need to do for phase 1?

Page 23: Software PROJECT MANAGEMENT_Se lect10 btech

What is an SRS?

• It is a document that you prepare:– after customer gives you their system specifications– before you design the system

Page 24: Software PROJECT MANAGEMENT_Se lect10 btech

What is the purpose of an SRS?

• “The SRS precisely defines the software product that will be built.”

[readyset.tigris.org/nonav/templates/srs.html]

• The SRS is your “response to the customer’s System Specification ... and tells a potential customer how you intend to solve their problem.”

[CSE442 project description]

• “The [SRS] specifies the requirements … and the methods to be used to ensure that each requirement has been met.”

Page 25: Software PROJECT MANAGEMENT_Se lect10 btech

Purpose (continued)

1. “It provides feedback to the customer.” 2. “It decomposes the problem into component

parts.”3. “It serves as an input to the design specification.”4. “It serves as a product validation check.”

Page 26: Software PROJECT MANAGEMENT_Se lect10 btech

Who reads the SRS?

The purpose of an SRS is to communicate with the customer:

– The SRS must make clear to the customer whether you have understood their system specification correctly and completely. SRS is written in plain language (not a formal language).

Page 27: Software PROJECT MANAGEMENT_Se lect10 btech

Who reads (continued)

The purpose of an SRS is to communicate with the designers:

– The SRS must be detailed enough that the designers can construct a design for the system from this document.

Page 28: Software PROJECT MANAGEMENT_Se lect10 btech

Who writes the SRS?

• Developers– Architects– Programmers

• Technical writers

• Customer may be involved

Page 29: Software PROJECT MANAGEMENT_Se lect10 btech

Basis for User Manual

• The SRS can serve as the basis for a User Manual for the software:– Use case descriptions in SRS describe required

functionality of the system, from the perspective of a user.

– This can be extended to become a description of how to carry out these required tasks with the finished system.

Page 30: Software PROJECT MANAGEMENT_Se lect10 btech

IEEE Std 830-1998 Characteristics of a good SRS

1. Correct

2. Unambiguous

3. Complete

4. Consistent

5. Ranked for importance and/or stability

6. Verifiable

7. Modifiable

8. Traceable

Page 31: Software PROJECT MANAGEMENT_Se lect10 btech

IEEE Std 830-1998: Parts of an SRS

• Introduction– Purpose

• purpose of SRS

• intended audience for SRS

– Scope• identify software to be produced by name

• explain what software will (not) do

• describe application of software (benefits, objectives)

Page 32: Software PROJECT MANAGEMENT_Se lect10 btech

IEEE Std 830-1998: Parts of an SRS

• Introduction (continued)– Definitions/acronyms/abbreviations– References

• list documents referenced by name and source

– Overview• brief description of rest of SRS

• organization of SRS

Page 33: Software PROJECT MANAGEMENT_Se lect10 btech

IEEE Std 830-1998: Parts of an SRS

• Overall description– Product perspective (related products?)

• block diagram

• constraints– system interfaces

» identify functionality that fulfills each system requirement– user interfaces– hardware interfaces– software interfaces

» how software interacts with supporting software (purpose, message content and format)

» required versions

Page 34: Software PROJECT MANAGEMENT_Se lect10 btech

IEEE Std 830-1998: Parts of an SRS

• Overall description (continued)– Product perspective

• constraints– communications interfaces

» network protocols– memory

» requirements/limits on primary and secondary memory– operations

» modes of operation» interactive vs. unattended operation» backup & recovery

– site adaptation requirement

Page 35: Software PROJECT MANAGEMENT_Se lect10 btech

IEEE Std 830-1998: Parts of an SRS

• Overall description (continued)– Product functions

• summary of major functions sw will perform

– Intended user characteristics• educational level

• experience

• technical expertise

Page 36: Software PROJECT MANAGEMENT_Se lect10 btech

IEEE Std 830-1998: Parts of an SRS• Overall description (continued)

– Constraints (limitations of developer options)• regulatory policies• hardware limitations (e.g. signal timing requirements)• interfaces to other applications• parallel operation• audit functions• control functions• higher-order language requirements• reliability requirements• criticality of the application• safety and security considertations

Page 37: Software PROJECT MANAGEMENT_Se lect10 btech

IEEE Std 830-1998: Parts of an SRS

• Overall description (continued)– Assumptions and dependencies

• e.g. specific OS available on HW

– Apportioning of requirements• requirements that may be delayed to future versions

Page 38: Software PROJECT MANAGEMENT_Se lect10 btech

IEEE Std 830-1998: Parts of an SRS

• Specific requirements– External interfaces– Functions– Performance requirements– Logical database requirements– Design constraints

• Standards compliance

Page 39: Software PROJECT MANAGEMENT_Se lect10 btech

IEEE Std 830-1998: Parts of an SRS

• Specific requirements (continued)– Software system attributes

• Reliability

• Availability

• Security

• Maintainability

• Portability

Page 40: Software PROJECT MANAGEMENT_Se lect10 btech

IEEE Std 830-1998: Parts of an SRS

• Specific requirements (continued)– Organizing the specific requirements

• System mode

• User class

• Objects

• Feature

• Stimulus

• Response

• Functional hierarchy

– Additional comments

Page 41: Software PROJECT MANAGEMENT_Se lect10 btech

IEEE Std 830-1998: Parts of an SRS

• Supporting Information– Table of contents– Index– Appendixes

Page 42: Software PROJECT MANAGEMENT_Se lect10 btech

Requirements Engineering

FeasibilityStudy

RequirementsElicitation and

Analysis

RequirementsSpecification

FeasibilityReport

SystemModels

SRS

RequirementsDefinition

Document (RDD)

RequirementsDefinition

User ManualTest Plan

V&V

*Software Project Management

Plan

Page 43: Software PROJECT MANAGEMENT_Se lect10 btech

Requirements Engineering

FeasibilityStudy

RequirementsElicitation and

Analysis

RequirementsSpecification

FeasibilityReport

SystemModels

SRS

RequirementsDefinition

Document (RDD)

RequirementsDefinition

User ManualTest Plan

V&V

*Software Project Management

Plan

Page 44: Software PROJECT MANAGEMENT_Se lect10 btech

Requirements Engineering

FeasibilityStudy

RequirementsElicitation and

Analysis

RequirementsSpecification

FeasibilityReport

SystemModels

SRS

RequirementsDefinition

Document (RDD)

RequirementsDefinition

User ManualTest Plan

V&V

*Software Project Management

Plan

Page 45: Software PROJECT MANAGEMENT_Se lect10 btech

Phases of the project life cycle

Page 46: Software PROJECT MANAGEMENT_Se lect10 btech

Feasibility Study

Page 47: Software PROJECT MANAGEMENT_Se lect10 btech

Feasibility Study

• A feasibility study is a study made before committing to a project.

• A feasibility study leads to a decision:

• go ahead• do not go ahead• think again

• In production projects, the feasibility study often leads to a budget request.

• A feasibility study may be in the form of a proposal.

Page 48: Software PROJECT MANAGEMENT_Se lect10 btech

Contents of Feasibility Study

Client: Who is this project for?

Scope: What are the boundaries of the project?

Benefits: What are the benefits? Can they be quantified?

Technical: Is the project possible. Is there at least one technical

way to carry out the project?

Resources: What are the estimates of staff, time, equipment, etc?

Alternatives: What are the options if the project is not begun?

Page 49: Software PROJECT MANAGEMENT_Se lect10 btech

Feasibility Report

A written document

• For a general audience: client, financial management, technical management, etc.

• Short enough that everybody reads it.

• Long enough that no important topics are skipped.

• Details are often included in supporting documents.

It should be a well written, well presented document.

Page 50: Software PROJECT MANAGEMENT_Se lect10 btech

Types of Feasibility

• Economic feasibility

• Technical feasibility

• Operational feasibility

• Schedule feasibility

• Legal and contractual feasibility

• Political feasibility

Page 51: Software PROJECT MANAGEMENT_Se lect10 btech

Economic Feasibility

• Cost-benefit analysis – identify all the financial benefits and costs associated with a project

• Tangible vs. intangible benefits

• Tangible vs. intangible costs

• One-time vs. recurring costs

Page 52: Software PROJECT MANAGEMENT_Se lect10 btech

Technical Feasibility

• Assessing the organization’s ability to construct the proposed system

• Takes into account various project risk factors

Page 53: Software PROJECT MANAGEMENT_Se lect10 btech

Other Feasibility Concerns

• Operational– Will the system achieve the objectives of the project?

• Schedule– Can the project be accomplished in a reasonable time frame?– Project management critical path scheduling can help answer

this concern.• Legal/Contractual

– Are there regulations or legal obligations that affect the success of the project?

• Political– Will the project have user and management support?– Will there be resistance?

Page 54: Software PROJECT MANAGEMENT_Se lect10 btech

SOFTWARE PROJECT MANAGEMENT

Page 55: Software PROJECT MANAGEMENT_Se lect10 btech

Software Project management

• Software Project Management includes–Planning–Organizing–Monitoring –& Controlling Software Projects.

Page 56: Software PROJECT MANAGEMENT_Se lect10 btech

Issues to be handled under SPM• How must the people, process, and problem be

managed during a software project?• What are software metrics and how can they be

used to manage a software project and the software process?

• How does a software team generate reliable estimates of effort, cost, and project duration?

• What techniques can be used to formally assess the risks that can have an impact on project success?

Page 57: Software PROJECT MANAGEMENT_Se lect10 btech

Issues to be handled under SPM

• How does a software project manager select the set of software engineering work tasks?

• How is a project schedule created?• How is quality defined so that it can be controlled?• What is software quality assurance?• Why are formal technical reviews so important?• How is change managed during the development

of computer software and after delivery to the customer?

Page 58: Software PROJECT MANAGEMENT_Se lect10 btech

Definition of Project Management

• Project management involves the planning, organizing, monitoring, and control of the people, process, and events that occur as software evolves from a preliminary concept to an operational implementation.

Page 59: Software PROJECT MANAGEMENT_Se lect10 btech

What is 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.

Page 60: Software PROJECT MANAGEMENT_Se lect10 btech

Who does Software Project Management

• Everyone “manages” to some extent, but the scope of management activities varies with the person doing it.

• A software engineer manages his day-to-day activities, planning, monitoring, and controlling technical tasks.

• Project managers plan, monitor, and control the work of a team of software engineers.

• Senior managers coordinate the interface between the business and the software professionals

Page 61: Software PROJECT MANAGEMENT_Se lect10 btech

Why Software Project Management is important

• Building computer software is a complex undertaking, particularly if it involves many people working over a relatively long time.

Page 62: Software PROJECT MANAGEMENT_Se lect10 btech

The 4 P’s

• People — the most important element of a successful project

• Product — the software to be built

• Process — the set of framework activities and software engineering tasks to get the job done

• Project — all work required to make the product a reality

62

Page 63: Software PROJECT MANAGEMENT_Se lect10 btech

The People

• The “people factor” is so important that the Software Engineering Institute has developed a people management capability maturity model (PM-CMM), “to enhance the readiness of software organizations to undertake increasingly complex applications by helping to attract, grow, motivate, deploy, and retain the talent needed to improve their software development capability”

Page 64: Software PROJECT MANAGEMENT_Se lect10 btech

People management capability maturity model (PM-CMM)

• The people management maturity model defines the following key practice areas for software people: recruiting, selection, performance management, training, compensation, career development, organization and work design, and team/culture development.

• Organizations that achieve high levels of maturity in the people management area have a higher likelihood of implementing effective software engineering practices.

Page 65: Software PROJECT MANAGEMENT_Se lect10 btech

The Product

• Before a project can be planned, product objectives and scope should be established.

• Alternative solutions should be considered, and technical and management constraints should be identified.

• Without this information, it is impossible to define reasonable (and accurate) estimates of the cost, an effective assessment of risk, a realistic breakdown of project tasks, or a manageable project schedule that provides a meaningful indication of progress.

Page 66: Software PROJECT MANAGEMENT_Se lect10 btech

The Process

• A software process provides the framework from which a comprehensive plan for software development can be established. A number of different task sets—tasks, milestones, work products, and quality assurance points—enable the framework activities to be adapted to the characteristics of the software project and the requirements of the project team.

Page 67: Software PROJECT MANAGEMENT_Se lect10 btech

The Project

• In 1998, industry data indicated that 26 percent of software projects failed outright and 46 percent experienced cost and schedule overruns.

• In order to avoid project failure, a software project manager and the software engineers who build the product must avoid a set of common warning signs, understand the critical success factors that lead to good project management, and develop a commonsense approach for planning, monitoring and controlling the project.

Page 68: Software PROJECT MANAGEMENT_Se lect10 btech

Who are the Stakeholders in SPM

• Senior managers who define the business issues that often have significant influence on the project.

• Project (technical) managers who must plan, motivate, organize, and control the practitioners who do software work.

• Practitioners who deliver the technical skills that are necessary to engineer a product or application.

• Customers who specify the requirements for the software to be engineered and other stakeholders who have a peripheral interest in the outcome.

• End-users who interact with the software once it is released for production use.

68

Page 69: Software PROJECT MANAGEMENT_Se lect10 btech

What is MOI model of leadership

• Motivation. The ability to encourage (by “push or pull”) technical people to produce to their best ability.

• Organization. The ability to mold existing processes (or invent new ones) that will enable the initial concept to be translated into a final product.

• Ideas or innovation. The ability to encourage people to create and feel creative even when they must work within bounds established for a particular software product or application.

Page 70: Software PROJECT MANAGEMENT_Se lect10 btech

Types of Software Team

• Mantei [MAN81] suggests three generic team organizations:

• Democratic decentralized (DD). This software engineering team has no permanent leader. Rather, "task coordinators are appointed for short durations and then replaced by others who may coordinate different tasks.“ Decisions on problems and approach are made by group consensus. Communication among team members is horizontal.

Page 71: Software PROJECT MANAGEMENT_Se lect10 btech

Types of Software Team

• Controlled decentralized (CD). This software engineering team has a defined leader who coordinates specific tasks and secondary leaders that have responsibility for subtasks. – Problem solving remains a group activity, but

implementation of solutions is partitioned among subgroups by the team leader.

– Communication among subgroups and individuals is horizontal. Vertical communication along the control hierarchy also occurs.

Page 72: Software PROJECT MANAGEMENT_Se lect10 btech

Types of Software Team

• Controlled Centralized (CC). Top-level problem solving and internal team coordination are managed by a team leader. Communication between the leader and team members is vertical.

Page 73: Software PROJECT MANAGEMENT_Se lect10 btech

• Formal, impersonal approaches include software engineering documents and deliverables (including source code), technical memos, project milestones, schedules, and project control tools, change requests and related documentation, error tracking reports, and repository data.

• Formal, interpersonal procedures focus on quality assurance activities applied to software engineering work products. These include status review meetings and design and code inspections.

What are the Project coordination techniques

Page 74: Software PROJECT MANAGEMENT_Se lect10 btech

What are the Project coordination techniques

• Informal, interpersonal procedures include group meetings for information dissemination and problem solving sessions for development staff.

• Electronic communication encompasses electronic mail, electronic bulletin boards, and by extension, video-based conferencing systems.

• Interpersonal networking includes informal discussions with team members and those outside the project who may have experience or insight that can assist team members.

Page 75: Software PROJECT MANAGEMENT_Se lect10 btech

Motivation behind the selection of Software Teams

• The difficulty of the problem to be solved• The size of the resultant program(s) in lines of code or

function points• The time that the team will stay together (team

lifetime)• The degree to which the problem can be modularized• The required quality and reliability of the system to be

built• The rigidity of the delivery date• The degree of sociability (communication) required for

the project 75

Page 76: Software PROJECT MANAGEMENT_Se lect10 btech

Types of Organizational Structure

• Closed —structures a team along a traditional hierarchy of authority

• Random —structures a team loosely and depends on individual initiative of the team members

• Open —attempts to structure a team in a manner that achieves some of the controls associated with the closed paradigm but also much of the innovation that occurs when using the random paradigm

• Synchronous —relies on the natural partitioning of a problem and organizes team members to work on pieces of the problem with little active communication among themselves

76suggested by Constantine [CON93]

Page 77: Software PROJECT MANAGEMENT_Se lect10 btech

What is the Product Scope….

• Scope• Context. How does the software to be built fit into a larger

system, product, or business context and what constraints are imposed as a result of the context?

• Information objectives. What customer-visible data objects are produced as output from the software? What data objects are required for input?

• Function and performance. What function does the software perform to transform input data into output? Are any special performance characteristics to be addressed?

• Software project scope must be unambiguous and understandable at the management and technical levels.

77

Page 78: Software PROJECT MANAGEMENT_Se lect10 btech

What is Problem Decomposition

• Sometimes called partitioning or problem elaboration

• Once scope is defined …– It is decomposed into constituent functions– It is decomposed into user-visible data objects

or– It is decomposed into a set of problem classes

• Decomposition process continues until all functions or problem classes have been defined

78

Page 79: Software PROJECT MANAGEMENT_Se lect10 btech

The Process

• Once a process framework has been established– Consider project characteristics– Determine the degree of rigor required– Define a task set for each software engineering activity

• Task set =

–Software engineering tasks–Work products–Quality assurance points–Milestones

79

Page 80: Software PROJECT MANAGEMENT_Se lect10 btech

The Project get into trouble when …• Software people don’t understand their customer’s needs.• The product scope is poorly defined.

• Changes are managed poorly.

• The chosen technology changes.

• Business needs change [or are ill-defined].

• Deadlines are unrealistic.

• Users are resistant.

• Sponsorship is lost [or was never properly obtained].

• The project team lacks people with appropriate skills.

• Managers [and practitioners] avoid best practices and lessons learned.

80

Page 81: Software PROJECT MANAGEMENT_Se lect10 btech

Common-Sense Approach to Projects

• Start on the right foot. • Maintain momentum. • Track progress. • Make smart decisions. • Conduct a postmortem analysis.

81

Page 82: Software PROJECT MANAGEMENT_Se lect10 btech

THE W5HH PRINCIPLE: A way of analysis

It includes a series of questions that lead to a definition of key project characteristics and the resultant project plan:

• Why is the system being developed?• What will be done? • When will it be accomplished?• Who is responsible?• Where are they organizationally located?• How will the job be done technically and managerially?• How much of each resource (e.g., people, software, tools,

database) will be needed?

82

Page 83: Software PROJECT MANAGEMENT_Se lect10 btech

Why SPM is different...

• The product is intangible.• The product is uniquely flexible.• Software engineering is not recognized as an

engineering discipline with the sound status as mechanical, electrical engineering, etc.

• The software development process is not standardised.

• Many software projects are ‘never-to -be-repeated' projects

Page 84: Software PROJECT MANAGEMENT_Se lect10 btech

What are the Management activities

• Proposal writing

• Project planning and scheduling

• Project costing

• Project monitoring and reviews

• Personnel selection and evaluation

• Report writing and presentations

Page 85: Software PROJECT MANAGEMENT_Se lect10 btech

Why Project planning is important

• 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

Page 86: Software PROJECT MANAGEMENT_Se lect10 btech

Types of project plan

Plan DescriptionQuality 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. Configurationmanagement plan

Describes the configuration managementprocedures and structures to be used.

Maintenance plan Predicts the maintenance requirements ofthe system, maintenance costs and effortrequired.

Staff development plan. Describes how the skills and experience ofthe project team members will bedeveloped.

Page 87: Software PROJECT MANAGEMENT_Se lect10 btech

Project plan structure

• Introduction

• Project organisation

• Risk analysis

• Hardware and software resource requirements

• Work breakdown

• Project schedule

• Monitoring and reporting mechanisms

Page 88: Software PROJECT MANAGEMENT_Se lect10 btech

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

Page 89: Software PROJECT MANAGEMENT_Se lect10 btech

Milestones in the SE process

Evaluationreport

Prototypedevelopment

Requirementsdefinition

Requirementsanalysis

Feasibilityreport

Feasibilitystudy

Architecturaldesign

Designstudy

Requirementsspecification

Requirementsspecification

ACTIVITIES

MILESTONES

Page 90: Software PROJECT MANAGEMENT_Se lect10 btech

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

Page 91: Software PROJECT MANAGEMENT_Se lect10 btech

The project scheduling process

Estimate resourcesfor activities

Identify activitydependencies

Identifyactivities

Allocate peopleto activities

Create projectcharts

Softwarerequirements

Activity chartsand bar charts

Page 92: Software PROJECT MANAGEMENT_Se lect10 btech

Scheduling problems; why it occurs.

• 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

Page 93: Software PROJECT MANAGEMENT_Se lect10 btech

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

Page 94: Software PROJECT MANAGEMENT_Se lect10 btech

Task durations and dependencies

Task Duration (days) DependenciesT1 8T2 15T3 15 T1 (M1)T4 10T5 10 T2, T4 (M2)T6 5 T1, T2 (M3)T7 20 T1 (M1)T8 25 T4 (M5)T9 15 T3, T6 (M4)T10 15 T5, T7 (M7)T11 7 T9 (M6)T12 10 T11 (M8)

Page 95: Software PROJECT MANAGEMENT_Se lect10 btech

Activity network

start

T2

M3T6

Finish

T10

M7T5

T7

M2T4

M5

T8

4/7/99

8 days

14/7/99 15 days

4/8/99

15 days

25/8/99

7 days

5/9/99

10 days

19/9/99

15 days

11/8/99

25 days

10 days

20 days

5 days25/7/99

15 days

25/7/99

18/7/99

10 days

T1

M1 T3T9

M6

T11

M8

T12

M4

Page 96: Software PROJECT MANAGEMENT_Se lect10 btech

Activity timeline

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

T1T2

M1

T7T3

M5T8

M3

M2T6

T5M4

T9

M7T10

M6

T11M8

T12

Start

Finish

Page 97: Software PROJECT MANAGEMENT_Se lect10 btech

Staff allocation

4/7 11/7 18/7 25/ 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

Page 98: Software PROJECT MANAGEMENT_Se lect10 btech

Risk management

Risk management is concerned with identifying risks and drawing up plans to minimise their effect on a project.

A risk is a probability that some adverse circumstance will occur. Project risks affect schedule or resources Product risks affect the quality or performance of the

software being developed Business risks affect the organisation developing or

procuring the software

Page 99: Software PROJECT MANAGEMENT_Se lect10 btech

Software risksRisk Risk type DescriptionStaff turnover Project Experienced staff will leave the

project before it is finished.Management change Project There will be a change of

organisational management withdifferent priorities.

Hardware unavailability Project Hardware which is essential for theproject will not be delivered onschedule.

Requirements change Project andproduct

There will be a larger number ofchanges to the requirements thananticipated.

Specification delays Project andproduct

Specifications of essential interfacesare not available on schedule

Size underestimate Project andproduct

The size of the system has beenunderestimated.

CASE tool under-performance

Product CASE tools which support theproject do not perform as anticipated

Technology change Business The underlying technology on whichthe system is built is superseded bynew technology.

Product competition Business A competitive product is marketedbefore the system is completed.

Page 100: Software PROJECT MANAGEMENT_Se lect10 btech

The Risk Management Process

• Risk identification– Identify project, product and business risks

• Risk analysis– Assess the likelihood and consequences of these

risks

• Risk planning– Draw up plans to avoid or minimise the effects of the

risk

• Risk monitoring– Monitor the risks throughout the project

Page 101: Software PROJECT MANAGEMENT_Se lect10 btech

The risk management process

Risk avoidanceand contingency

plans

Risk planning

Prioritised risklist

Risk analysis

List of potentialrisks

Riskidentification

Riskassessment

Riskmonitoring

Page 102: Software PROJECT MANAGEMENT_Se lect10 btech

Risk identification

• Technology risks

• People risks

• Organisational risks

• Requirements risks

• Estimation risks

Page 103: Software PROJECT MANAGEMENT_Se lect10 btech

Risks and risk types

Risk type Possible risksTechnology The database used in the system cannot process as many

transactions per second as expected.Software components which should be reused contain defectswhich limit their functionality.

People It is impossible to recruit staff with the skills required.Key staff are ill and unavailable at critical times.Required training for staff is not available.

Organisational The organisation is restructured so that different managementare responsible for the project.Organisational financial problems force reductions in the projectbudget.

Tools The code generated by CASE tools is inefficient.CASE tools cannot be integrated.

Requirements Changes to requirements which require major design rework areproposed.Customers fail to understand the impact of requirementschanges.

Estimation The time required to develop the software is underestimated.The rate of defect repair is underestimated.The size of the software is underestimated.

Page 104: Software PROJECT MANAGEMENT_Se lect10 btech

Risk analysis

• Assess probability and seriousness of each risk

• Probability may be – very low– low– moderate – high or very high

• Risk effects might be – catastrophic – serious– Tolerable – insignificant

Page 105: Software PROJECT MANAGEMENT_Se lect10 btech

Risk analysis

Risk Probability EffectsOrganisational financial problems force reductionsin the project budget.

Low Catastrophic

It is impossible to recruit staff with the skillsrequired for the project.

High Catastrophic

Key staff are ill at critical times in the project. Moderate SeriousSoftware components which should be reusedcontain defects which limit their functionality.

Moderate Serious

Changes to requirements which require majordesign rework are proposed.

Moderate Serious

The organisation is restructured so that differentmanagement are responsible for the project.

High Serious

The database used in the system cannot process asmany transactions per second as expected.

Moderate Serious

The time required to develop the software isunderestimated.

High Serious

CASE tools cannot be integrated. High TolerableCustomers fail to understand the impact ofrequirements changes.

Moderate Tolerable

Required training for staff is not available. Moderate TolerableThe rate of defect repair is underestimated. Moderate TolerableThe size of the software is underestimated. High TolerableThe code generated by CASE tools is inefficient. Moderate Insignificant

Page 106: Software PROJECT MANAGEMENT_Se lect10 btech

Risk planning

Consider each risk and develop a strategy to manage that risk

Avoidance strategies The probability that the risk will arise is reduced

Minimisation strategies The impact of the risk on the project or product will

be reducedContingency plans

If the risk arises, contingency plans are plans to deal with that risk

Page 107: Software PROJECT MANAGEMENT_Se lect10 btech

Risk management strategies

Risk StrategyOrganisationalfinancial problems

Prepare a briefing document for senior management showinghow the project is making a very important contribution to thegoals of the business.

Recruitmentproblems

Alert customer of potential difficulties and the possibility ofdelays, investigate buying-in components.

Staff illness Reorganise team so that there is more overlap of work andpeople therefore understand each other’s jobs.

Defectivecomponents

Replace potentially defective components with bought-incomponents of known reliability.

Requirementschanges

Derive traceability information to assess requirements changeimpact, maximise information hiding in the design.

Organisationalrestructuring

Prepare a briefing document for senior management showinghow the project is making a very important contribution to thegoals of the business.

Databaseperformance

Investigate the possibility of buying a higher-performancedatabase.

Underestimateddevelopment time

Investigate buying in components, investigate use of a programgenerator.

Page 108: Software PROJECT MANAGEMENT_Se lect10 btech

Risk monitoring

• Assess each identified risks regularly to decide whether or not it is becoming less or more probable

• Also assess whether the effects of the risk have changed

• Each key risk should be discussed at management progress meetings

Page 109: Software PROJECT MANAGEMENT_Se lect10 btech

Risk factors

Risk type Potential indicatorsTechnology Late delivery of hardware or support software, many

reported technology problemsPeople Poor staff morale, poor relationships amongst team

member, job availabilityOrganisational organisational gossip, lack of action by senior

managementTools reluctance by team members to use tools, complaints

about CASE tools, demands for higher-poweredworkstations

Requirements many requirements change requests, customercomplaints

Estimation failure to meet agreed schedule, failure to clearreported defects

Page 110: Software PROJECT MANAGEMENT_Se lect10 btech

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.

Page 111: Software PROJECT MANAGEMENT_Se lect10 btech

Key points

• A project milestone is a predictable state where some formal report of progress is presented to management.

• Risks may be project risks, product risks or business risks

• Risk management is concerned with identifying risks which may affect the project and planning to ensure that these risks do not develop into major threats