Anda di halaman 1dari 38

The Impact of ISO/IEC 12207 on IT project management

ISO/IEC 12207, Information

technology - Software life cycle processes

Peter Voldner Peregrine Software Inc. Toronto, Ontario


pvoldner@sympatico.ca 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

Knowledge
Software engineering

PMBOK

SWEBOK

2000
Peregrine Software Inc. July 4, 2001

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

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

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

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

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

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

Project Failure Reasons


Annual expenditures on software projects in the USA is $ 250B

Canceled - 31% ($ 80B)

Successful - 16% ( $40B)

Over schedule & budget - 53 % ( $ 120B)


Ref: Standish Group data
Peregrine Software Inc. July 4, 2001

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

Softwares 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.
Presidents Information Technology Advisory Committee, Interim
Report to the President, Peregrine Software Inc. July 4, 2001 August, 1998
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

SUPPLIER ORGANIZATION

performing 12207 defined roles


Peregrine Software Inc. July 4, 2001

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


17

Peregrine Software Inc. July 4, 2001

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, Recommended practice for software acquisition IEEE Std 1058, I Standard for software project management plans Software engineering project management, Edited by
R. Thayer, IEEE Computer Society, 1997.

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

Project Life cycle

Tailoring

Project Plan Contract..

LIFE CYLE MODELS

Start Project

Peregrine Software Inc. July 4, 2001

22

A simple project - 12207 processes


Management

Development

Operations

Maintenance

Requirements Design Code / Test Install /Acceptance

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. 2. 3. 4. 5. Initiation RFP ( tender) preparation Contract preparation and update Supplier monitoring 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
15504-2)

assurance that work products and processes comply with their specified requirements and adhere to their established plan. TR

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.
identify, define and control all relevant items control modifications record and report status ensure completeness of items control storage handling , release and delivery

Objectives:

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