• No results found

Standards & Practices for the software and system engineers /

N/A
N/A
Protected

Academic year: 2021

Share "Standards & Practices for the software and system engineers /"

Copied!
43
0
0

Loading.... (view fulltext now)

Full text

(1)

Standards & Practices for the

software and system engineers /

professionals

professionals

John Walz [email protected]

IEEE Computer Society 1st VP

IEEE S ft & S t E i i St d d C itt IEEE Software & Systems Engineering Standards Committee

Systems and Software Technology Conference (SSTC 2009) Wednesday, 22-Apr-09

(2)

Objective & Audience

• Advancing the knowledge, practice, and skills of

engineering professionals

engineering professionals

• Software and system engineers & professionals

– Acquisition Professionals

– Program/Project Managers

Programmers

– Programmers

– System Developers

– Systems Engineers

y

g

– Process Engineers

(3)

Standards & Practices Abstract

• Cultivate, improve, and deploy

best practices to meet business goals,

ti

l d li

t

ti fi d

t

h

– timely delivery to satisfied customers, whose

payments result in profit margins.

• Practices follow

– defined policies, processes, conventions, and

procedures.

• Practices are influenced by

Practices are influenced by

– HR selection criteria,

– Tool acquisition, and

It

ti

i

t

– Iterative improvements

• Improvement projects start with a gap analysis

(4)

Standards & Practices

Practices deal with practitioners’

• skills

• skills,

• work processes, &

work products both created and acquired

• work products, both created and acquired

Work Processes uses Standards for

Work Processes, uses Standards for

• documented process definitions,

• measure definitions, &

(5)

Building for Business Success

Improvement Methods Lean Six Sigma

Process Definitions

Management System IDEAL

SM

CMMI®

Practices Measurements

Artifact templates Tools & Techniques

Six Sigma Controls

Records

Life Cycle Model Lean Methods

Process Measures Policies & Procedures

(6)

Tower of Babel

St

d d

Standards

Practices

Best Practices,

R

d d P

ti

Recommended Practices,

Generic Practices,

Specific Practices

C

t G

Goals, Generic & Specific

Processes, Activities, Tasks

Frameworks

Corporate Governance

Practices,

Marketplace Practices,

Enterprise Practices

Life Cycle Model

Methodology

Work Products / Artifacts

Enterprise Practices,

Business Practices,

Software & Systems

Engineering Practices

Conformity Assessment

Projects, Organizations,

Enterprise, & Industry

Process / Org Mat rit

Engineering Practices

Process / Org. Maturity

(7)

Simple Business Model

for Standards and Practices

for Standards and Practices

Std Std

Customer

Talent

Suppliers

Std Std Std Std product

Best Practices

Std

Tools

Std

(8)

Product improvements require improving

Processes guide stakeholders

through the life cycle

Process

improved

Q

lit

P

l &

Technology

Quality

&

Productivity

People need to be skilled in techniques

People &

Behaviors

Technology enables

Technology,

Tools

y

People need to be skilled in techniques

(9)

What is a standard?

• A

standard

is a published document that sets out specifications and procedures

• Standards

– Solve product compatibility issues

designed to ensure that a material, product, method, or service meets its purpose and consistently performs to its intended use

– Address consumer safety and health concerns

– Represents consensus expert opinion – Simplify product development and

reduce non-value-adding costs – Increase a user's ability to compare

competing products – Provide assurance of

i t ti it d i t bilit

interconnectivity and interoperability and provide credibility of new

products

– Verify new markets thus enabling the rapid implementation of technology

• Standards

are fundamental building blocks for international trade

(10)

What is a Practice?

• (1) an activity that contributes to the purpose or

outcomes of a process or enhances the

p

capability of a process

1

• (2) requirements employed to prescribe a

disciplined uniform approach to the software

development process

2

www.computer.org/sevocab

1. ISO/IEC 15504-1:2004 Information technology -- Process assessment

-- Part 1: Concepts and vocabulary, 3.27

2 ISO/IEC 24765 S t d S ft E i i V b l

(11)

More Definitions

IEEE, ISO, IEC

• Base practice

CMMI-DEV

®

• Specific Practices

Base practice

• Generic practice

• Conventions

Specific Practices

• Generic Practices

• Process area

• Methodology

• Life Cycle Model

y

www.sei.cmu.edu/cmmi/models/index.html

(12)

Practices examples

• Football example

– Hole assignments and

g

player numbering is used

to assign who will be the

main ball carrier and

main ball carrier and

where the play will go

– Passing tree is the

Passing tree is the

number system used

for the passing routes

(13)

Value of Standards

What is “testing”?

A standard is a

A standard is a

Name

Name

for an

for an

otherwise fuzzy concept

otherwise fuzzy concept

otherwise fuzzy concept

• Practitioners needs

otherwise fuzzy concept

In a complex,

multidimensional

… a standard gives

a name to a

• Practitioners needs standards to assign names to practices or collections of practices. trade space of solutions ...

a name to a

bounded region.

This enables

communication between Buyer and Seller

It defines some

characteristics that a

b

t

• Standards represent the “minimum level of

responsible practice” Jim Moore, 2004-03 CSEE&T Panel 7

buyer can count on.

p p

(14)

Most successful standard: ISO 9001

• Product is defined as “result of a process”

• Process is defined as “set of interrelated

ocess s de

ed as set o

te e ated

or interacting activities which transforms

inputs into outputs”

pu s

o ou pu s

• “Say what you do and do what you say.”

– Conformance is all about following processes;

Conformance is all about following processes;

– Any tool that enforces some type of process,

will help an organization maintain its

p

g

(15)

Model of Engineering

Goals

Control

Goals Constraints Measurements Action

Process

Needs Product Resources Moore06, SESC93

(16)

Steps to Success in

software & system engineering

C

li

t P

E

i

i

- Compliant Process Engineering

1 your businessUnderstand 2

Look to Models for Process 3 Look to Framework 4 Look to Supporting

Practical Support for CMMI®-SW Project Documentation: Using IEEE Software Engineering Standards

your business processes

for Process Completeness

3 Framework Standards for Life

Cycle Definition 4 Supporting Standards for Process Detail 5 Build or Refine Your Process Architecture 6 Execute Your Processes 7 Measure Your Results - Modify Processes as Necessary 8 Confirm Your Status With Independent Appraisals Necessary 3 3 3 3 Appraisals

(17)

Using IEEE S2E Standards

• Select relevant Software & System

Engineering (

S2E

) processes

Engineering (

S2E

) processes

from Model and Framework,

• Define S2E processes using best

p

g

practices and standards

• Perform gap analysis of S2E processes

g p

y

p

• Improve existing S2E processes,

• Ensure process conformance to Model

Ensure process conformance to Model

(e.g. CMMI

®

Maturity Level, IS 15504,

ISO 9001)

)

(18)

What are IEEE S2E Standards?

• Represent

industry best practices

– Codifies industries best practices for all critical

software & system engineering processes and their outputs

y

g

g p

p

– Developed by domain experts with broad expert consensus

• Specify content

p

y

– Provide

detailed procedure explanations

and

offer section by section

guidance

on building the necessary

documentation

– with no recommendation of exact techniques or formats

– Used as tools to help in the painful process of

‘self-documentation’

• Specify the minimum required contents for each

(19)

IEEE Std 730, Software Quality Assurance Plans

IEEE Std 828, Software Configuration Management Plans IEEE Std 830, Software Requirements Specifications

IEEE Std 982 1 Dictionary of Measures to Produce Reliable Software IEEE Std 982.1, Dictionary of Measures to Produce Reliable Software IEEE Std 1008, Software Unit Testing

IEEE Std 1012, Software Verification and Validation Plans IEEE Std 1016, Software Design Descriptions

IEEE Std 1028 S ft R i

IEEE

Software & System

IEEE Std 1028, Software Reviews

IEEE Std 1044, Classification for Software Anomalies IEEE Std 1045, Software Productivity Metrics

IEEE Std 1061, Software Quality Metrics Methodology

y

Engineering

Standards

IEEE Std 1062, Software Acquisition

IEEE Std 1074, Developing a Software Project Life Cycle Process IEEE Std 1228 , Software Safety Plans

IEEE Std 1420, Software Reuse

Plus nine other

IEEE standards at the

,

IEEE Std 1471, Architecture Description

IEEE Std 1517, Software Life Cycle Processes—Reuse Processes IEEE Std 1633, Software Reliability

IEEE/ISO/IEC 12207 Software Project Life Cycle Process

software and systems level

IEEE/ISO/IEC 12207, Software Project Life Cycle Process

IEEE/ISO/IEC 12119, Software packages - Quality requirements and testing IEEE/ISO/IEC 14764, Software Life Cycle Processes -- Maintenance

IEEE/ISO/IEC 16326, Software Project Management Plans

IEEE/ISO/IEC 24765 Glossary of Software Engineering Terminology IEEE/ISO/IEC 24765, Glossary of Software Engineering Terminology IEEE/ISO/IEC 26514, Software User Documentation

(20)

Framework Standards

(21)

Standards are conceptual,

not implemented Practices

not implemented Practices

Standards: a set of mandatory requirements employed and enforced to

prescribe a disciplined uniform approach to software development, that is, prescribe a disciplined uniform approach to software development, that is, mandatory conventions and practices – IS 24765

(22)

IS 12207 Software life cycle processes

• 43 S2E Processes with 123 Process Activities

• Purpose provide a defined set of processes to facilitate communication among acquirers suppliers and other stakeholders in the life cycle of a among acquirers, suppliers and other stakeholders in the life cycle of a software product. (1.2)

• An organization would adopt the standard and supplement it with appropriate procedures, practices, tools and policies. (5.1.4)

Process has purpose and outcomes and consists of multiple activities,

each having multiple tasks (5.2.1)

– Process outcomes are used to demonstrate successful achievement of the purpose of a process (5 2 1)

purpose of a process. (5.2.1) – Distinct forms of a task (5.1.11):

"Shall" is used to express a provision required for conformance,

"Should" to express a recommendation among other possibilities, and

"May" to indicate a course of action permissible within the limits of this standard.

• Life cycle processes and activities are selected and employed in a stage to fulfill the purpose and outcomes of that stage (5.1.12)

(23)

IS 12207 6.2.1 Life Cycle Model

Management Process

Management Process

Purpose

Define, maintain, and assure availability of policies, life cycle

lif

l

d l

d

d

f

b th

processes, life cycle models, and procedures for use by the

organization

Provide life cycle policies, processes, and procedures that are

consistent with the organization's objectives, that are defined,

g

j

,

,

adapted, improved and maintained to support individual project

needs within the context of the organization, and that are capable of

being applied using effective, proven methods and tools.

Outcomes of successful implementation:

Outcomes of successful implementation:

a) policies and procedures for the management and deployment of

life cycle models and processes are provided;

b) responsibility, accountability and authority for life cycle

t

d fi

d

management are defined;

c) life cycle processes, models and procedures for use by the

organization are defined, maintained and improved; and

(24)

Software Engineering

Body of Knowledge SWEBOK

Software Requirements

Computer Engineering

8 Related Disciplines

10 Knowledge Areas

Body of Knowledge SWEBOK

Software Requirements

Software Design

Software Construction

Computer Engineering

Computer Science

Management

So

a e Co s uc o

Software Testing

Software Maintenance

g

Mathematics

Project Management

Software Configuration Mgmt

Software Eng. Management

Quality Management

Software Ergonomics

S

t

E

i

i

Software Engineering Process

Software Eng. Tools & Methods

Software Quality

Systems Engineering

Software Quality

(25)

Allocation Of IEEE And ISO Software Engineering Standards To

SWEBOK

Knowledge Areas

Knowledge Areas

Knowledge Areas

S

TT

AND

AA

RDS

(26)

Standards for S2E Product Realization

Processes guide stakeholders

through the life cycle

Process

Standards Vocabulary

P St d d

Process Standards

S2E Body Of Knowledge

improved

Quality &

Productivity

P

l &

Technology

Certification Standards Tools Standards

Productivity

People need to be skilled in techniques

People &

Behaviors

Technology enables

Technology,

Tools

People need to be skilled in techniques

(27)

S2E Project Management & Support

•Quality

•Productivity

• Objectives

•Productivity

•Risk Reduction

j

• People

• Processes

•Degree / Curriculum

•Certifications

• Processes

• Standards / Practices

Certifications

•Sftw Dev Prof - CSDP -IEEE •Sftw Dev Assoc. - CSDA -IEEE •Sftw Quality Engr - CSQE -ASQ

Sft P j M CSPM QAI

•Sftw Prj Mgr - CSPM -QAI •Sftw Prj Mgr - SwPM -SQI

•Project Mgmt Professional -PMI

•Training

•Training

(28)

Practitioners Skills related to

S2E Standards

S2E Standards

• Code of Ethics

– . . .

“Sh ll

ti i

t i lif l

l

i

di

th

ti

f

– “Shall participate in lifelong learning regarding the practice of

their profession”

– “Assist colleagues in being fully aware of current standard work

practices”

• Education, based on SWEBOK

– Software Engineering Computing Curricula 2004 (SE2004)

– Curriculum Guidelines for Undergraduate Degree Programs in

S ft

E

i

i

Software Engineering

– Graduate SWE Reference Curriculum (GSwERC)

• Continual education

Courseware based on SWEBOK

– Courseware based on SWEBOK

• Certifications, based on SWEBOK

– CSDP Certified Software Development Professional

CSDA Certified Software Development Associate

– CSDA Certified Software Development Associate

(29)

Work Processes

• S2E Processes

– IEEE 15288 System Engineering Processes

IEEE 15288 System Engineering Processes

– IEEE 12207 Software Engineering Processes

– IEEE Software & System Engineering Standards

Collection

• Life Cycle Model of Processes & Artifacts

S

b

100% S

i l

– Spectrum between 100% Sequential vs.

100% Iterative

• Tools: CM PM CASE etc

Tools: CM, PM, CASE, etc

• Workflow

(30)

Work Product / Artifact

• Life Cycle Model defines processes,

their relationship and Artifacts

their relationship, and Artifacts

• Definitions from CMMI

®

Work Product is any artifact produced by a process

– Work Product is any artifact produced by a process

– Artifacts can include records, files, documents, parts

of the product, services, processes, specifications,

and invoices

– A key distinction between a work product and a

product component is that a work product need not be

p

p

p

engineered or part of the end product

• Artifacts used for appraisals and audits

(31)

S2E Work Products and Records

• Documents and records provide:

– Communications within the team and to stakeholders

– Foundation for improvement

– Evidence of compliance

– Evidence of compliance

• Software & System Engineering organizations

– Have freedom on the format and content of typical

software engineering project documents

– Can chose from several frameworks standards and

Can chose from several frameworks, standards, and

methods to implement and enhance their mission and

value-added services within their company

(32)

Design Artifacts from Standards

• Use standards to define:

Use standards to define:

• Match:

– Processes for work flow

– Processes Work Products,

Match:

– Staff,

– Staff credentials,

Content and Format

– Process Records

P j

t Pl

il

t

– Process inputs,

– Process outputs,

– Project Plan milestones

– Project milestone,

– Project & Process &

Configuration records

Configuration records

(33)

Improvement requires

Engineering processes to be:

Engineering processes to be:

Hot

Warm

• Well defined,

• Followed and

Neutral

• Followed, and

• Measured

Cool

Cold

(34)

Artifact Creation Example:

Software Requirements Specifications (SRS)

q

p

(

)

• IEEE 12207 7.1.2 Software Requirements Analysis

Process

(5 shall’s / 2 pages)

Process

(5 shall s / 2 pages)

– Calls for SRS

• CMMI-DEV Requirements Development framework

(3 Goals, 9 Practices / 20 pg)

– Calls for SRS

• Software Requirements Specifications (SRS)

Software Requirements Specifications (SRS)

requirements from IEEE 830

(10 shall’s / 26 pg)

• SRS document Outline from IEEE 830 appendix

pp

• SRS document Guidance from best practices

• SRS document Template from best practices

(35)

Software Requirements Specifications

A tif

t

Artifact

IEEE Standard 830, Practice for

Software Requirements Specifications

Outlines the requirements for what comprises a good Software

Requirements Specification (SRS):

• Establishes basis for agreement between customers and

suppliers on what the software product is to do

• Reduces the development effort

p

• Provides a basis for estimating costs and schedules

• Provides a baseline for validation and verification

• Facilitates transfer

(36)
(37)

Conclusions and Recommendations

• Advanced software & systems engineering

management & practices will achieve

g

p

objectives:

quality, productivity, customer

satisfaction

, and

compliance

– Quality outcomes requires Quality Processes

– Quality Processes create useful Artifacts

(38)

Formalized Intellectual Property

• Good Techniques / Methods

A ti l

bli h d

ith

i

• Articles published with peer review

• Case studies

• Good Principles

Good Principles

• Best Practices

• Workshops

• Body Of Knowledge

• Standards developed

• Books

• Books

• Collegiate Curriculum

• Certification of experts & organizations

• Licenses

(39)

Formalized Intellectual Property

• Technical Council on Software • Webinars

• Technical Council on Software Engineering

• Standards Committee on Software & System Engineering

• IEEE S2E Standards collection

• Webinars

– Right-Sizing Agile Development, Steve McConnell

– Standardizing Your Software Process Improvement Initiatives, by Susan K.

IEEE S2E Standards collection

• Conferences & Proceedings

– SSTC 2009 – Tech Summit 2008 • Publications p , y Land • eBooks (ReadyNotes)

– A Practical Metrics and Measurements Guide for Today’s Software Project Manager by Susan K Land William C

• Publications

– Computer

– IEEE Software

– IT Professional

IEEE Transactions on Software

Manager by Susan K. Land, William C. Hobart Jr., and John W. Walz,

• Books

– The Road Map to Software

Engineering: A Standards-Based Guide – IEEE Transactions on Software

Engineering

• Podcasts

– IEEE Talks Software Process

g g

by James W. Moore

– Practical Support for CMMI-SW

Software Project Documentation: Using IEEE Software Engineering Standards by Susan K Land John W Walz

by Susan K. Land, John W. Walz

• Certification in CSDA / CSDP

– Certified Software Development

Associate

– Certified Software DevelopmentCertified Software Development Professional

(40)

References

• CMMI® for Development, Version 1.2, SEI

• Croll04, Croll, P; Eight Steps to Success in CMMI – Compliant Process

Engineering, 16th Annual Systems and Software Technology Conference, 20-Apr-2004

• IEEE Software Engineering Standards Collection • IEEE Software Engineering Standards Collection,

Institute of Electrical and Electronics Engineers, Inc.

• IEEE Standard Glossary of Software Engineering Terminology • IEEE Standard 12207IEEE Standard 12207

• Land06, Land, S.K.; Walz, J.; Practical CMMI Software Process Documentation- Using IEEE Software Engineering Standards, John-Wiley/IEEE Press, Feb 2006

• Land08, Land, S. K.; Real World Application of International Process and IEEE Software and Systems Engineering Standards to Software Process

Improvement Initiatives; SSTC; 30-Apr-08

• Moore J W ; ‘The Role of Process Standards in Process Definition’; • Moore, J.W.; The Role of Process Standards in Process Definition ;

• Moore06, Moore, J.W.; The Road Map to Software Engineering, A Standards-Based Guide, 2006

• SESC93, Long Range Planning Group, Master Plan for Software EngineeringSESC93, Long Range Planning Group, Master Plan for Software Engineering Standards, Version 1.0, 1-Dec-1993

(41)

Webinars from IEEE Computer Society

• Similar presentations - CS Webinars series

http://www2 computer org/portal/web/webinars

http://www2.computer.org/portal/web/webinars

C ll f

E

t t

t CS W bi

• Call for Experts to create CS Webinars

– contact Debbie Sims

[email protected]

or

Dick Price

dprice@computer org

(42)

Acronyms used

ASQ American Society for Quality

CASE Computer-Aided S f

IEEE 15288 Systems Engineering -System life cycle processes

f C f

Software Engineering

CM Configuration Management • CMMI® Capability Maturity

Model Integrated

IEEE 12207 Life Cycle Processes for Software Engineering

IS 15504 ISO/IEC Information Technology — Process Assessment g

CMMI-DEV® CMMI for Development

CSDA Certified Software Development Associate

CSDP Certified Software

IS 24765 ISO/IEC Software and Systems Engineering Vocabulary

ISO 9001 Quality management systems -- Requirements

CSDP Certified Software Development Professional

CSPM Certified Software Project Manager

CSQE Certified Software

PM Program Management • PMI Project Manager Institute

S2E Software & System Engineering

SRS Software Requirements CSQE Certified Software

Quality Engineer • Engr Engineer

IDEALSM Initiating, Diagnosing,

Establishing Acting Learning

SRS Software Requirements

Specifications • Std Standard

SWEBOK Software Engineering Body of Knowledge

(43)

References

Related documents

This higher order discordance between the approximate cumulants under the full sample and bootstrap distribution implies that if valid Edgeworth expansions exist they would only

The model of ITO outcomes includes independent variables associated with transaction attributes, relational and contractual governance, client and provider

The current study has indicated another following result question based on the kind of music genre participants chosen to listen when they are in a "Stressed Mood." The

 The NWC SAF develops and maintains SW Packages (for GEO and POLAR Satellites) freely distributed to registered users to generate satellite products with a direct application

Control of California's 1970 catastrophe depended upon the nationwide depth of the United States Forest Service, the statewide depth of the California Division of Forestry,

One possible approach, found in the Obama campaign plan, would be to establish a purchasing exchange at the federal level. Ensuring that health insurance is uniformly available

You can install the E5810 on an Enterprise (corporate) network that supports Dynamic Host Configuration Protocol (DHCP), an Enterprise network that does not support DHCP, or a

Thus, the goal of the research is to define the effective ways of students’ foreign language communicative competence formation by means of reading and speaking activities within