You are on page 1of 69

Gestion de Projectos de Software

basados en estandares ISO

By: Alain Abran

II Conferencia Internacional de Ingeniera de Sistemas


Universidad Peruana Union
Octubre 18-19 2010

© Copyrights 2010 Alain Abran 1


Managing Software Projects
with ISO standards

By: Alain Abran

II Conferencia Internacional de Ingeniera de Sistemas


Universidad Peruana Union
Octubre 18-19 2010
© Copyrights 2010 Alain Abran 2
Managing Software Projects
with ISO standards
List of Topics

1. Standards & Software Engineering


2. ISO standards available to manage and control a
software project.
3. Sizing standard in support of project management:
COSMIC - ISO 19761
4. Examples of its use in software project estimation
5. Our strategy to introduce standards in organizations

© Copyrights 2010 Alain Abran 3


Managing Software Projects
with ISO standards
List of Topics

1. Standards & Software Engineering


2. ISO standards available to manage and control a
software project.
3. Sizing standard in support of project management:
COSMIC - ISO 19761
4. Examples of its use in software project estimation
5. Our strategy to introduce standards in organizations

© Copyrights 2010 Alain Abran 4


What is a Standard?
Guidelines that reflect agreements:
• on products, practices, or operations
• by nationally or internationally
recognized:
• industrial
• professional
• trade associations
• governmental bodies.

APEC 2010 F.Coallier 5


Types of Standards?
Organization Standards
 Ex: internal company standards
Market Standards (De Facto)
 Ex: Microsoft Windows, or the CMMI
Professional Standards
 Developed by professional organizations (such as the IEEE)
Industry Standards
 Developed by industrial consortium (ex: OMG)
National Standards
 Developed by national standards organization (ex. ANSI)
International Standards
 Developed by a formal international standard organization
(ex: ISO)

APEC 2010 F.Coallier 6


Contents of Standards
Process standards:
 Collection of best practices
 Sequences of steps & activities
 Expected inputs and deliverables
 Templates
Product standards
 Baselines and criteria
Measurement standards
 Definitions, rules (and étalons)
© Copyrights 2010 Alain Abran 7
ISO: Software Engineering Standards

APEC 2010 F.Coallier 8


ISO: Working Groups Structure

Sub-committee SC7

WG19 WG24 WG7 WG2


SLC Profiles and Life Cycle Systems & Software
Techniques for
Management Documentation
Specifying IT Systems Guidelines for VSE
WG4 WG21 WG10 WG6
Tools And Software & Systems
Software Process
Environment Measurement and
Asset Management Assessment
WG20 Evaluation
WG23 WG25 WG42
Software and Systems Systems Quality
Bodies of Knowledge IT Service
Management Architecture
and Professionalization Management
JWG ISO/TC 54
WG1A WG26
CIF Usability IS Governance
S/W Testing
Frameworks

APEC 2010 F.Coallier 9


Managing Software Project
with ISO Standards
List of Topics
1. Standards & Software Engineering
2. ISO standards available to
manage and control a software
project.
3. Sizing standard in support of project management:
COSMIC - ISO 19761
4. Examples of its use in software project estimation
5. Our strategy to introduce standards in organizations

© Copyrights 2010 Alain Abran 10


ISO Standards Integrated View

APEC 2010 F.Coallier © Copyrights 2010 Alain Abran 11


ISO: Standards to Software Quality
Situation
25010
15288 Tailored Process for
Product Profile
Product 25012
12207 Development

Quality Reqs Product Quality 25030


Construction
WBS

Definition Requirements

Architectural Architecture 42010


Design Description

Implementation Product

Qualification
25040 Product Properties

25012 Operations
16085
15939

Measurement Risk
25020 Evaluation
Management

Creation Information Flow Conformance

Figure 1. End-to-end approach to product quality achievement


APEC 2010 F.Coallier © Copyrights 2010 Alain Abran 12
Key ISO Standards in
Projects Management

Project Management: ISO 16326


Functional Size Measurement:
 COSMIC: ISO 19761
 IFPUG: ISO 20926
Others
 Risk Management (16085)
 Documentation
 Etc.

© Copyrights 2010 Alain Abran 13


ISO 16326: Project Management
Project planning
 Project initiation
 Estimation plan
 Staffing plan
 Resource acquisition plan .
 Project staff training plan
 Project work plans
 Work activities.
 Schedule allocation
 Resource allocation
 Budget allocation
 Procurement plan

© Copyrights 2010 Alain Abran 14


ISO 16326: Project Management
Project assessment and control
 Requirements management plan
 Scope change control plan
 Schedule control plan
 Budget control plan
 Quality assurance plan
 Subcontractor management plan
 Project closeout plan

© Copyrights 2010 Alain Abran 15


ISO 16326: Project Management
Supporting process plans
 Project supervision and work environment
 Decision management
 Risk management
 Configuration management
 Information management
 Documentation
 Communication and publicity
 Quality assurance
 Measurement
 Reviews and audits
 Verification and validation

© Copyrights 2010 Alain Abran 16


Managing Software Projects
with ISO standards
List of Topics
1. Standards & Software Engineering
2. ISO standards available to manage and control a
software project.
3. Sizing standard in support of
project management: COSMIC -
ISO 19761
4. Examples of its use in software project estimation
5. Our strategy to introduce standards in organizations

© Copyrights 2010 Alain Abran 17


Sizing Context
An analogy...

200 m2

400 m2
400 m2
An analogy...

200 m2

400 m2
400 m2

Software B
Software A

Size = ???? Size = ????


History of Functional Size
Measurement Methods

ISO ‘FSM’
Standards
+ 30 variants
MkII
FPA 1.3
3-D
FP’s
COSMIC –
MkII ISO 19761
FPA Full FP’s
V.1
Feature IFPUG
Points 4.x
IFPUG
Allan
4.0
Albrecht
FPA ----- Usecase Points ------------
1980 1985 1990 1995 2000 2009

© Copyrights 2010 Alain Abran 20


ISO Standards on Functional Size

Meta-standards on functional size: ISO


14143
 Part 1: Definitions & Concepts
 Part 2: Conformity Assessment
 Part 3: Verification Guide
 Part 4: References Functional User Requirements
 Part 5: Software Domains
Specific standards:
 1st generation measurement methods:
 MKII: ISO 20698
 IFPUG: ISO 20926
 NESMA: ISO 24570
 2
nd generation: COSMIC – ISO 19761
© Copyrights 2010 Alain Abran 21
An analogy...

200 m2

400 m2
CFP = COSMIC Function Points

Software Software
Functionality Functionality

200 CFP 400 CFP


© Copyrights 2010 Alain Abran 22
The ‘Functional Size’ of software

 ISO 14143-1 definition:

Functional Size =
A size of software derived by quantifying the
Functional User Requirements – FUR
A measure of the amount of information processing
(required to be) carried out by the software:
‘What’ the User wants the software to do,
not ‘How’

© Copyrights 2010 Alain Abran 23


Functional Users Requirements - FUR
Definition:
 A subset of the User Requirements in terms of tasks & services.
Include (but not limited to):
Data transfer (ex: Input customer data; Send control signal)
Data transformation (ex: Calculate bank interest; Derive average temperature)
Data storage (ex: Store customer order; Record temperature over time)
Data retrieval (ex: List current employees; Retrieve latest aircraft position)

Exclude (but not limited to):


Quality constraints (ex: usability, reliability, efficiency and portability)
Organizational constraints (ex: locations for operation, target hardware &
compliance to standards)
Environmental constraints (ex: interoperability, security, privacy and safety)
Implementation constraints (ex: development language, delivery schedule)

Source: ISO 14143-1

© Copyrights 2010 Alain Abran 24


Functional Users Requirements

Functional User Requirements (FUR) can be identified &


measured AFTER the software has been built

Physical
programs and
screens
Functional
Users operation
Users manuals and
procedures
Requirements
Physical
data storage
artifacts
© Copyrights 2010 Alain Abran 25
An analogy: After construction

200 m2

Office PC
Temperature
& pressure
Input &
Process control sensors
Display
computer

Monitoring Control
Valves
Panel
200 CFP
CFP = COSMIC Function Points
Functional Users Requirements

 Functional User Requirements (FUR) can be


identified & measured BEFORE the software exists…
(using UML diagrams, for instance)

Requirements
Specifications

Models
Functional
Ex.:
UML diagrams Users
Functional Requirements
decomposition
lists
© Copyrights 2010 Alain Abran 27
An analogy: Measurement
from Plans

Main
House Plan

Kitchen Bedrooms Bathrooms


Plan Plans Plans

200 m2

UML
Diagrams

200 CFP
CFP = COSMIC Function Points
COSMIC ISO 19761: User View of
Software Functional Requirements

Users Boundary Software

DATA IN

STORE PERSISTENT DATA

OR DATA MANIPULATION
OR TRANSFORMATION
Engineered
devices
OR RETRIEVE PERSISTENT DATA

Other DATA OUT


Software

© Copyrights 2010 Alain Abran 29


COSMIC Function Point

COSMIC Measurement Unit =

1 Data Movement of a Single Data Group

= 1 CFP = 1 COSMIC Function Point

© Copyrights 2010 Alain Abran 30


User View of
Software Functional Requirements

Users Boundary Software

DATA IN
ENTRY
STORE PERSISTENT DATA
WRITE

OR DATA MANIPULATION
OR TRANSFORMATION
Engineered
devices
RETRIEVE PERSISTENT DATA
OR READ

Other DATA OUT


Software EXIT

© Copyrights 2010 Alain Abran 31


The COSMIC Functional Size Measurement Method

Version 3.0

Method Overview
September 2007

© Copyrights 2010 Alain Abran 32


International Status

 The Measurement Manual available for free in:


 English
Spanish
Chinese
 French
 Japanese
 Arabic
 The Measurement Manual has been down-loaded
from over 40 countries
 Many active COSMIC groups in various countries

© Copyrights 2010 Alain Abran 33


Available resources on COSMIC

 Complete documentation on the Web


 Measurement Manual
 Business Application Guidelines
 Case studies on measuring with COSMIC
 Publications on the use of COSMIC

www.cosmicon.com

© Copyrights 2010 Alain Abran 34


Managing Software Project
with ISO standards
List of Topics

1. Standards & Software Engineering


2. ISO standards available to manage and control a
software project.
3. Sizing standard in support of project management:
COSMIC - ISO 19761
4. Examples of its use in software
project estimation
5. Our strategy to introduce standards in organizations
© Copyrights 2010 Alain Abran 35
Historical data = Basis for Estimation
In most industries there is a strong relationship between size and
effort/cost

If you know the size of the software to be developed, then your
historical data can help you estimate
Effort (& related Cost).

Effort/Cost

Size: Function Points

© Copyrights 2010 Alain Abran 36


Development Model with:
Fixed & Variable costs

Effort (in hours)

Size (in Function Points)

Effort = Variable Cost + Fixed cost = a x Size + b

© Copyrights 2010 Alain Abran 37


Multiple Development Processes !
Effort (in hours)
ZONE 3

a3
ZONE 2

a2

b3 ZONE 1
a1
b2
b1
Size (in Function
Points)

© Copyrights 2010 Alain Abran 38


Projects from a Single Organization

Fixed effort = 2,411 hours


Variable effort = 30.7 hrs / CFP & R2 = 0,4
© Copyrights 2010 Alain Abran 39
Graphical Analysis
Key Findings:

5 projects above the line:


 Twice as much effort as projects of similar
size (i.e. 100% more effort!!)

11 projects below the line:


 They represent the normal situation in this
organization (i.e. the capability to deliver
projects within this effort-size ratio)

© Copyrights 2010 Alain Abran 40


Process Capability Model

Fixed costs = 3,208 hours


Variable Costs = 17.1 hrs / PF & R2 = 0,6

© Copyrights 2010 Alain Abran 41


Least Productive Projects

Fixed effort = 8,257 hours


Variable effort = 33.4 hrs / PF & R2 = 0,6

© Copyrights 2010 Alain Abran 42


What Caused this 100% Increase in Effort?

From interviews with project managers:

 Key major +100% cost drivers:


- Schedule Compression
- Users did not master their requirements
- Software with numerous links to other
software

(M ost are qualitative independent variables, outside of


the control of the project m anager: constraints
m andated by senior m anagem ent)

© Copyrights 2010 Alain Abran 43


Follow up in this Organization

Modification to their Estimation Process:


1. Functional Sizing
2. Risk Analysis – see factors in previous page
3. Selection of 1 of the 2 estimation models
based on risks identified
 If risks present: project budget must be
twice larger than proven capability of the
software development team in this
organization!
4. Risks monitoring

© Copyrights 2010 Alain Abran 44


Key Insights

A lot of organizations think that they need to take a


very large number of cost drivers to explain productivity
and to prepare an estimate.

Many examples from industry illustrate that:


 A very few key selected factors (i.e. size) explain
the major part of the costs!
 All other factors combined together explain the
congruent part of the effort variation in a software
project!
 Of course, when the development process is
‘under control!
© Copyrights 2010 Alain Abran 45
Key Insights
For productivity analysis and estimation,
you need to understand the big
picture!
Once you know the productivity-capability
of your development process (or
processes):
 you can work out on the details
 And high risks situations…!
Use ISO standards for measurement!

© Copyrights 2010 Alain Abran 46


Project Scope Control with Size
Type of Project Phase % of FP Comment
Impact Introduced Price to
Apply
Treated as new functionality. Any
Added Build 100% implications for existing functions are
assessed as changes to those functions.
Additional factor to compensate for more
detailed impact investigation and possible
requirement to retest other associated
functions to ensure no impact.
Testing 110%
At start of build 35% of development effort
Deleted Build 50% expended. At end of build 66%. A mid
value has been taken.
Assume all effort bar implementation has
been expended.

Testing 90%
Original function points are included in the
Changed Build 40% BFPC. This is an additional weighting for
rebuild.
Additional factor for requirement to rebuild
and retest the changed function.

Testing 70%
© Copyrights 2010 Alain Abran 47
Project Data with
Standards in the
International
Repository of Industry Data

© Copyrights 2010 Alain Abran 48


ISBSG

ISBSG: International Software Benchmarking


Standards Group (Non for profit)

Organizations are strongly encouraged to sent data to the


International Repository of ISBSG:
 Directly: www.isbsg.org
 or through a COSMIC international member to add
another layer for anonymity

© Copyrights 2010 Alain Abran 49


ISBSG Data Collection Process

Planning Preparation Data Collection


•Gain commitment •Training •COSMIC standards
•Select projects •Repeatability Exercise •ISBSG Standards

Analysis Report
Analysis
•Measurement quality controls
• Validation
•Data recording
•Data analysis
•Comparative analysis Organizational
Feedback

© Copyrights 2010 Alain Abran 50


350 COSMIC projects: Key benchmarks

Real-time new devts.

Real-time enhancements

Bus App 4GL new devts.

Bus App 3GL new devts.

Bus App enhancements

0 10 20 30 40 50
PDR (work-hours/CFP)

© Copyrights 2010 Alain Abran 51


Business- New development:
Median Productivity per Size Band

10.0
9.0
8.0
Median Productivity
(CFP/Work-month)

7.0
6.0
5.0
4.0
3.0
2.0
1.0
0.0
0 - 50 50 - 100 100 - 200 200 - 300 300 - 500 500 - 1000 1000+
SIze Band (CFP)

© Copyrights 2010 Alain Abran 52


Business - New development:
Average percentage effort distribution

11%
27%

18% Specify
Design
Build
Test

44%

© Copyrights 2010 Alain Abran 53


Managing Software Project
with ISO standards
List of Topics
1. Standards & Software Engineering
2. ISO standards available to manage and control a
software project.
3. Sizing standard in support of project management:
COSMIC - ISO 19761
4. Examples of its use in software project estimation
5. Our strategy to introduce
standards in organizations

© Copyrights 2010 Alain Abran 54


ISO Standards Integrated View

APEC 2010 F.Coallier © Copyrights 2010 Alain Abran 55


Major Issues in Implementing
Standards

Multiplicity of standards
 Which ones are needed, when?
How to design an implementation
strategy
The organizational knowledge &
expertise about standards
People issues

© Copyrights 2010 Alain Abran 56


A Corporate Strategy to
Introduce Standards

Through the Project Management Office


(MPO):

 PMI body of Knowledge for the generic


management concepts

 ISO-IEEE standards directly tied to the


planning and control of projects

© Copyrights 2010 Alain Abran 57


Our Educational Strategy to
Introduce Standards

Introduce the standards culture before


the staff gets hired in organizations

Software Engineering Curriculum based


on (and supported by):
 Software Engineering Body of Knowledge:
SWEBOK – ISO 19759

© Copyrights 2010 Alain Abran 58


© Copyrights 2010 Alain Abran 59
Guide to the Software Engineering
Body of Knowledge (SWEBOK®)
Leadership: IEEE Computer Societyy
International participation from industry,
professional societies, standards bodies, academia
& authors
Over 500 software engineering professionals have
contributed
Adopted by ISO: 19759
Available on www.swebok.org
Update in progress
60
Knowledge Areas and Related
Disciplines
 Software Requirements Related Disciplines
 Software Design
 Software Construction • Computer Engineering
• Computer Science
 Software Testing
• Mathematics
 Software Maintenance
• Project Management
 Software Configuration Management • Management
 Software Eng. Management • Quality Management
 Software Eng. Tools & Methods • Software Ergonomics
 Software Engineering Process • Systems Engineering

 Software Quality
61
SWEBOK & Education

 Every Knowledge Area is based on:


(1) The best authors
(2) The relevant ISO and IEEE standards

 Teaching is based on SWEBOK +


(1) Access to all standards for all students
(2) Mandatory usage of standards in course
assignments
62
Impact of Standards on Education
(1) Quality of students assignments = best
industry practices
(2) Content of students assignments = industrial
relevance
(3) Students have industry templates and tools
when they get hired in industry to do the
tasks assigned to them
(4) New employees: already have the standards
culture in software project development and
management.
63
© Copyrights 2010 Alain Abran 64
© Copyrights 2010 Alain Abran 65
¡ GRACIAS !

alain.abran@etsmtl.ca
© Copyrights 2010 Alain Abran 66
Guide to the Software Engineering Body of Knowledge
2004 Version

Software Software Software


Software Design Software Testing
Requirements Construction Maintenance

Software Basic Concepts Sofware Software


Requirements Software Design Testing Maintenance
Fundamentals Fundamentals of Construction Fundamentals Fundamentals

Key Issues in
Requirements Key Issues in Managing Software
Test Levels
Process Software Design Construction Maintenance

Maintenance
Requirements Software Structure Practical Process
Test Techniques
Elicitation and Architecture Considerations

Techniques for
Software Design Maintenance
Requirements Test Related
Quality Analysis
Analysis Measures
and Evaluation

Requirements Software Design Test


Specification Notations Process

Software Design
Requirements
Strategies and
Validation
Methods

Practical
Considerations
67
Guide to the Software Engineering Body of Knowledge
(2004 Version)

Software Software Software Software Related


Configuration Engineering Engineering Engineering Tools Software Quality Disciplines
Management Management Process and Methods

Software
Initiation and
Configuration Process Computer
Scope Software Tools Software Quality
Management Implementation Engineering
Definition Fundamentals
Fundamentals and Change Software Requirements
Tools
Software Software Quality
Keys Process Computer
Project Software Design Tools Management
Issues in Definition Science
Planning Processes
SCM Software Construction
Tools
Software Project Process Software Testing Tools
Practical Management
Software Enactment Assessment Considerations
Configuration Software Maintenance
Tools
Control
Process and Software Engineering
Review and Process Tools Mathematics
Product
Software Evaluation Measurement
Software Quality Tools
Configuration Project
Status Accounting Software Configuration
management
Management Tools
Software Engineering
Closure Management Tools
Software Quality
Configuration Infrastructure Support
management
Auditing Tools
Miscellaneous Tool
SW Engineering Issues
Measurement Software
Software Release
Ergonomics
Management and
Delivery Software Methods
Systems
Heuristic Methods engineering

Formal Methods

Prototyping Methods

Miscellaneous Method
Issues
© Copyrights 2010 Alain Abran
68
Software Engineering

IEEE 610.12*:
The application of a systematic, disciplined,
quantifiable approach to the development,
operation, and maintenance of software:
i.e. the application of engineering to software.

* IEEE Standard Glossary of Software Engineering


Terminology, 1990.

69

You might also like