The Impact of ISO/IEC 12207, Software life cycle processes

Download Report

Transcript The Impact of ISO/IEC 12207, Software life cycle processes

The Impact of ISO/IEC 12207 on IT project management

ISO/IEC 12207, technology - Software life cycle processes Information Peter Voldner Peregrine Software Inc.

Toronto, Ontario

[email protected]

Tel: 416-526-3843

Introduction

 Scope: Management of software development projects  IT software projects have a poor success record  YET ! The problems can be solved.  Concepts from the ISO/IEC 12207 standard can help the software project manager achieve greater success © Peregrine Software Inc. July 4, 2001 2

Knowledge

PMBOK 2000 © Peregrine Software Inc. July 4, 2001

Software engineering

SWEBOK 2001 www.swebok.com

3

SWEBOK - KAs

 Professionalism and engineering economics  SW requirements  SW design  SW construction  SW testing  SW maintenance  SW Configuration management  SW engineering management  SW engineering tools and methods  SW engineering process  SW quality © Peregrine Software Inc. July 4, 2001 4

IT and software

 Just about every modern product or service depends on software  Software intensive products/services include:  the Internet  transportation of all kinds  financial markets © Peregrine Software Inc. July 4, 2001 5

Software competence

 Companies dependent on IT projects need to master the software technology to stay competitive  Produce quality products that satisfies user needs  Meet committed costs  Meet the planned schedules  70 - 80 % of companies do not have a process able to support the demands of project control © Peregrine Software Inc. July 4, 2001 6

What is software engineering?

 Software engineering is concerned with applying scientific principles and management skills to develop software-intensive systems and products for use by society within the constraints of:  time: schedule  money: budget  technology: platform and domain  quality: safety, security, reliability, . . .

 business: profit, stability, growth  ethics: serving society

Acknowledgments: Dr. R.E. Fairley

© Peregrine Software Inc. July 4, 2001 7

Software Engineering - 2

Good software engineering practices Good PM practices for IT projects

Software engineering practices lead to more successful projects

© Peregrine Software Inc. July 4, 2001 8

Why are software projects difficult ?

 Invisible product  Lack of physical constraints  Inadequate systems engineering  Changing requirements  Co-ordination of intellect-intensive teams  Insufficient technical staff  Lack of project management skills © Peregrine Software Inc. July 4, 2001 9

Project Failure Reasons

Annual expenditures on software projects in the USA is $ 250B Successful - 16% ( $40B) Canceled - 31% ($ 80B)

Ref: Standish Group data

© Peregrine Software Inc. July 4, 2001 Over schedule & budget - 53 % ( $ 120B) 10

Major Issues

 PLANNING:  Software requirements - not clear  Cost & schedule estimation - difficult  Projects function - not planned  CM, QA, computing facilities  Planning viewed as “non-productive”  CONTROL:  poor methods for tracking progress  poor indicators to measure productivity, quality © Peregrine Software Inc. July 4, 2001 11

Fred Brooks - quote

“ IN MANY WAYS, MANAGING A COMPUTER PROGRAMMING PROJECT IS LIKE MANAGING ANY OTHER UNDERTAKING - IN MORE WAYS THAN MOST PROGRAMMERS BELIEVE. BUT IN MANY OTHER WAYS IT IS DIFFERENT - IN MORE WAYS THAN MOST PROFESIONAL MANAGERS EXPECT ”

 The Mythical Man-Month, Preface to the First Edition © Peregrine Software Inc. July 4, 2001 12

Software’s future -

A Quote

 “ .. the demand for software has grown at such an explosive rate, it now far outweighs the resources we have to produce it. ….. desperately needed software is not being developed…….. “  “ An interaction of factors has caused this ‘software gap’: accelerated demand for software, increased complexity of systems, …. labor shortages, and lack of adequate science and technology to support robust development. “ President’s Information Technology Advisory Committee, ‘

Interim

13

Recap …

 Software remains a major cause of system failures  Complexity is growing  Keeping up with new techniques & procedures ?

 Software engineering foundation

“ We know why projects fail, we know how to prevent their failure -- so why do they still fail ? “ Martin Cobb Treasury Board of Canada

© Peregrine Software Inc. July 4, 2001 14

Two types of software projects

( ISO/IEC 12207)

Development

 developing or modifying a software-intensive system to meet contractual requirements (satisfies user needs ) 

Acquisition

 Contractually obtaining from a group ( supplier), a software-intensive system for use by another group (user) © Peregrine Software Inc. July 4, 2001 15

IT Project Management view

CUSTOMER ORGANIZATION ACQUIRING ORGANIZATION USER ORGANIZATION

12207 defined roles

© Peregrine Software Inc. July 4, 2001

SUPPLIER ORGANIZATION

“performing “

16

What is ISO/IEC 12207 ?

 The major world-wide standard for software related processes • activities and tasks  Tailored for any organization or project  High level process architecture  An ‘inventory’ of processes from which to choose 

For the first time - a world-wide agreement on what activities make up a software project

© Peregrine Software Inc. July 4, 2001 17

12207 Concepts

 Process Architecture  Modular: Handle all types of projects  Cohesion: one process for one major function  Responsibility: One process for one party  18 processes © Peregrine Software Inc. July 4, 2001 18

12207 processes [18]

MANAGEMENT INFRASTRUCTURE IMPROVEMENT TRAINING ACQUISITION SUPPLY DEVELOPMENT OPERATION MAINTENANCE JOINT REVIEW AUDIT V & V QUALITY ASSURANCE DOCUMENTATION CONFIGURATION MANAGAMENT PROBLEM RESOLUTION TAILORING ( SPECIAL

)

© Peregrine Software Inc. July 4, 2001 19

References

 Standards and books:  ISO/IEC 12207:1995, Information Technology Software Life Cycle Processes  IEEE Standard 1062, software acquisition Recommended practice for  IEEE Std 1058, I management plans Standard for software project  Software engineering project management, R. Thayer, IEEE Computer Society, 1997.

Edited by © Peregrine Software Inc. July 4, 2001 20

Defining the project strategy

 The first step is to choose/tailor a project life cycle by choosing the appropriate set of processes defined in ISO/IEC 12207  Waterfall, iterative, RAD, incremental © Peregrine Software Inc. July 4, 2001 21

Initiation - selecting a project LC

•Requirements •Organization policy & methods •Legal needs •Time PROCESS STANDARD

Tailoring

Project Life cycle

•Project Plan •Contract..

LIFE CYLE MODELS

Start Project

© Peregrine Software Inc. July 4, 2001 22

A simple project - 12207 processes

Management

Requirements Design

Development

Code / Test Install /Acceptance

Operations Maintenance Configuration management, joint review verification

© Peregrine Software Inc. July 4, 2001 23

Major Parties - Primary

Provides the product to the acquirer Acquires the product Defines and developed the product Maintains the software product

© Peregrine Software Inc. July 4, 2001 24

The Acquisition Process

 Defines the activities of the

acquirer,

 the organization that acquirers a system, software product or software service  1. Initiation  2. RFP ( tender) preparation  3. Contract preparation and update  4. Supplier monitoring  5. Acceptance and completion © Peregrine Software Inc. July 4, 2001 25

Organizational processes

Management

Infrastructure

Improvement

Training

Employed by organization to establish and implement an underlying structure of .. Processes and personnel, and continuously improve the structure and processes

© Peregrine Software Inc. July 4, 2001 26

Management process

  “The purpose of the management process is to organize, monitor and control the initiation and performance of any processes or functions within the organization to achieve their goals and the business goals of the organization in an effective manner” ( TR 15504-2) Activities:  Initiation and scope definition  Planning  Execution and control  Review and evaluation  Closure © Peregrine Software Inc. July 4, 2001 27

Infrastructure process

  “The purpose of the infrastructure process is to maintain a stable and reliable infrastructure that is needed to support the performance of any other process. .. May include hardware, software, methods, tools, techniques, standards, facilities for development, operation, or maintenance.” ( TR 15504-2) Objectives:  establish and maintain a well-defined software engineering environment (SEE)…..

 tailor the SEE top the needs of the project...  develop a SEE that supports project team members  implement a defined and deployed strategy for reuse © Peregrine Software Inc. July 4, 2001 28

Management & Infrastructure process standards

IEEE Std 982.1 - Standard dictionary of measures to produce reliable software IEEE Std 1045 - Software productivity metrics IEEE Std 1058 - Software project management plans IEEE Std 1045 - Recommended practice for the adoption of CASE tools ISO/IEC 14102 - Guidelines for the evaluation and selection of CASE tools

Standards provide the details of what to do

© Peregrine Software Inc. July 4, 2001 29

Supporting processes

Documentation

Configuration management

Quality assurance

Problem resolution

Verification

Validation

Joint review

Audit

Employed by any Primary process or another supporting process:

© Peregrine Software Inc. July 4, 2001 30

Quality Assurance (QA)

  “The purpose of the quality assurance process is to provide assurance that work products and processes comply with their specified requirements and adhere to their established plan”.

TR 15504-2) Objectives:  identify, plan and schedule QA activities  identify quality standards, methods and tools  identify resources and responsibilities  establish and guarantee independence of those..  perform the QA activities  apply organizational quality management systems © Peregrine Software Inc. July 4, 2001 31

Configuration Management

  “The purpose of configuration management is to establish and maintain the integrity of the work products of a process or product”.

Objectives:  identify, define and control all relevant items  control modifications  record and report status  ensure completeness of items  control storage handling , release and delivery © Peregrine Software Inc. July 4, 2001 32

Making a project a success

 “There are NO Silver bullets “  Here are 11 of them !!!

© Peregrine Software Inc. July 4, 2001 33

11 Silver bullets - Planning

1. Requirements engineering  documented  traceability 2. Task, cost and schedule determination based on requirements 3. Risk management, with  problem tracking 4. Incremental development © Peregrine Software Inc. July 4, 2001 34

11 Silver bullets - control

5. Work packages with visible progress measurement - WBS, Work package specifications - Earned value tracking 6. Software metrics; - size, efforts, schedule, quality 7. Software configuration management 8. Software quality assurance and standards 9. Peer reviews ( walkthroughs and inspections) 10. Independent verification and validation 11. Software engineering assessments and capability evaluation © Peregrine Software Inc. July 4, 2001 35

Wounding the software project Werewolf

 Implement the 11 techniques above rigorously on a software IT project - every chance for success © Peregrine Software Inc. July 4, 2001 36

Outlook for 2020

 Range of team skills on software projects:  Licensed Software Engineers  Certified software practitioners  Skilled software workers  A stable Software Engineering Model  A doubling of software workers  to 400,000 in Canada ( 20M worldwide)  … with an adequate level of competence © Peregrine Software Inc. July 4, 2001 37

Conclusions

 12207 provides a reference point for all types of IT projects containing software  It demands good PM practices  A basis for establishing a mature process and successful  A roadmap for process and project improvements © Peregrine Software Inc. July 4, 2001 38