The Impact of ISO/IEC

offbeatnothingSoftware and s/w Development

Dec 2, 2013 (3 years and 9 months ago)

69 views

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

© Peregrine Software Inc. July 4, 2001

2

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

3

Knowledge

PMBOK

SWEBOK

2000

2001

www.swebok.com

Software engineering

© Peregrine Software Inc. July 4, 2001

4

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

5

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

6

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

7

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

8

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

9

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

10

Project Failure Reasons

Successful
-

16% ( $40B)

Canceled
-

31% ($ 80B)

Over schedule & budget
-

53 %

( $ 120B)

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

Ref: Standish Group data

© Peregrine Software Inc. July 4, 2001

11

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

12

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

13


“ .. 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
Report to the President’, August, 1998

Software’s future
-

A Quote

© Peregrine Software Inc. July 4, 2001

14

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

15

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

16


IT Project Management
view

CUSTOMER

ORGANIZATION

USER

ORGANIZATION

ACQUIRING

ORGANIZATION

SUPPLIER

ORGANIZATION

“performing “


12207 defined roles

© Peregrine Software Inc. July 4, 2001

17

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

18

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

19

12207 processes [18]

ACQUISITION SUPPLY DEVELOPMENT

OPERATION MAINTENANCE

MANAGEMENT INFRASTRUCTURE


IMPROVEMENT TRAINING

JOINT REVIEW AUDIT V & V

QUALITY ASSURANCE DOCUMENTATION


CONFIGURATION MANAGAMENT


PROBLEM RESOLUTION TAILORING
( SPECIAL
)

© Peregrine Software Inc. July 4, 2001

20

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

21

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

22

Initiation
-

selecting a
project LC

Tailoring


Project Life cycle


Project Plan


Contract..

Start

Project


Requirements


Organization policy & methods


Legal needs


Time


PROCESS

STANDARD

LIFE CYLE

MODELS

© Peregrine Software Inc. July 4, 2001

23

A simple project
-

12207
processes

Development

Configuration management,

joint review

verification

Operations

Maintenance

Management

Requirements

Design

Code / Test

Install /Acceptance

© Peregrine Software Inc. July 4, 2001

24

Major Parties
-

Primary

Provides the product to

the acquirer

Defines and developed the

product

Maintains the software product

Acquires the product

© Peregrine Software Inc. July 4, 2001

25

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

26

Organizational processes

Employed by organization to establish and implement an

underlying structure of .. Processes and personnel, and

continuously improve the structure and processes


Management


Infrastructure


Improvement


Training

© Peregrine Software Inc. July 4, 2001

27

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

28

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

29

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

30

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

31

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

32

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

33

Making a project a
success



“There are NO Silver bullets “



Here are 11 of them !!!

© Peregrine Software Inc. July 4, 2001

34

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

35

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

36

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

37

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

38

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