Standards & Practices for the software and system engineers /



Similar documents
Software Project Management and Support - Practical Support for CMMI -SW Project Documentation: Using IEEE Software Engineering Standards

Engineering Standards in Support of

Design Specification for IEEE Std 1471 Recommended Practice for Architectural Description IEEE Architecture Working Group 0 Motivation

An Overview of IEEE Software Engineering Standards and Knowledge Products

Life Cycle Models, CMMI, Lean, Six Sigma Why use them?

CONTENTS. Preface. Acknowledgements. 1. Introduction and Overview 1 Introduction 1 Whatis the CMMI"? 2 What the CMMI* is Not 3 What are Standards?

SOFTWARE ASSURANCE STANDARD

Syllabus. REQB Certified Professional for Requirements Engineering. Foundation Level

Software Quality Standards and. from Ontological Point of View SMEF. Konstantina Georgieva

Lecture Slides for Managing and Leading Software Projects. Chapter 1: Introduction

Rapidly Defining a Lean CMMI Maturity Level 3 Process

Software Quality Assurance: VI Standards

CHAPTER 7 Software Configuration Management

CMMI for Development Introduction & Implementation Roadmap

Capability Maturity Model Integration (CMMI SM ) Fundamentals

Contents. viii. 4 Service Design processes 57. List of figures. List of tables. OGC s foreword. Chief Architect s foreword. Preface.

How To Implement Itil V3

Agile SW Siemens

References IEEE PUBLICATIONS

Using the Agile Methodology to Mitigate the Risks of Highly Adaptive Projects

IEEE Computer Society and Certified Software Development Professional

Project Management Standards: A Review of Certifications/Certificates

A COMPARISON OF FIVE APPROACHES TO SOFTWARE DEVELOPMENT. David J. Schultz. January 21, 2000

Agile SW Siemens

The Advantages and Disadvantages of Using Software Engineering Standards

Interpreting the Management Process in IEEE/EIA with the Help of PMBOK

IEEE Software Engineering Risk Management: Measurement-Based Life Cycle Risk Management PSM 2001 Aspen, Colorado

Distributed and Outsourced Software Engineering. The CMMI Model. Peter Kolb. Software Engineering

Your Software Quality is Our Business. INDEPENDENT VERIFICATION AND VALIDATION (IV&V) WHITE PAPER Prepared by Adnet, Inc.

Software and Systems Engineering. Software and Systems Engineering Process Improvement at Oerlikon Aerospace

Agile Development: How to Define a Lean, Mean Software Process. Phil Robinson Lonsdale Systems lonsdale@iinet.net.au

International Software & Systems Engineering. Standards. Jim Moore The MITRE Corporation Chair, US TAG to ISO/IEC JTC1/SC7 James.W.Moore@ieee.

Software Engineering Reference Framework

Project Management Professional (PMP) Examination Content Outline

Towards a new approach of continuous process improvement based on CMMI and PMBOK

The Emergence of Software Engineering Professionalism

Foredragfor Den Norske Dataforening, den

THE ROLE OF IV&V IN THE SOFTWARE DEVELOPMENT LIFE CYCLE

Comparison of ISO 9001 to IEEE Standards

Mapping A Knowledge Areas of The SWEBOK Standard With The CBOK in Software Engineering Field Using A Set Theory

Lecture 8 About Quality and Quality Management Systems

ITIL & The Service Oriented Approach. Vivek Shrivastava

Requirement Management with the Rational Unified Process RUP practices to support Business Analyst s activities and links with BABoK

Security Testing. Claire L. Lohr, CSQE, CSDP, CTAL F. Scot Anderson, CISSP April 7, 2009 V 1.

Aligning CMMI & ITIL. Where Am I and Which Way Do I Go? cognence, inc.

The SWEBOK Initiative and Software Measurement Intentions

The SWEBOK Guide A Curriculum Analysis Tool

Camber Quality Assurance (QA) Approach

SEBoK: a guide to the systems engineering body of knowledge

PMBOK for Dummies. Sean Whitaker, PMP Vice President, PMINZ

Application of software product quality international standards through software development life cycle

Certified Software Quality Engineer (CSQE) Body of Knowledge

SSECM: The Software Systems Engineering Competency Model. Agenda

A STRUCTURED METHODOLOGY FOR MULTIMEDIA PRODUCT AND SYSTEMS DEVELOPMENT

Data Management Maturity Model. Overview

ITIL Service Lifecycles and the Project Manager

Using Rational Software Solutions to Achieve CMMI Level 2

R I T. IEEE Computer Society Certified Software Development Professional (CSDP) Exam. Buenos Aires, Argentina Junio de Software Engineering

Plan-Driven Methodologies

Implementation of ANSI/AAMI/IEC Medical Device Software Lifecycle Processes.

NODIS Library Program Formulation(7000s) Search

Applying Integrated Risk Management Scenarios for Improving Enterprise Governance

DRAFT TABLE OF CONTENTS 1. Software Quality Assurance By Dr. Claude Y Laporte and Dr. Alain April

IEEE SESC Architecture Planning Group: Action Plan

Using Business Process Management Technology to Implement a CMMI-compliant Agile Software Development Approach

Software Quality. Unit9. Software Quality Standards

<name of project> Software Project Management Plan

How To Write A Contract For Software Quality Assurance

Redesigned Framework and Approach for IT Project Management

Overview Presented by: Boyd L. Summers

MKS Integrity & CMMI. July, 2007

A Guide to the Business Analysis Body of Knowledge (BABOK Guide) Version 2.0

Quality Manual for Interoperability Testing. Morten Bruun-Rasmussen

Using Lean Six Sigma to Accelerate

Five best practices for deploying a successful service-oriented architecture

How To Improve Software Quality

What is a life cycle model?

INTEGRATED SOFTWARE QUALITY MANAGEMENT (ISQM)

Small tech firms. Seizing the benefits of software and systems engineering standards

APQC CORPORATE EDUCATION CATALOG

Introduction to Modeling and Simulation. Certification. Osman Balci Professor

The Compelling Case For CMMI-SVC: CMMI-SVC, ITIL & ISO20000 demystified

Traceability Patterns: An Approach to Requirement-Component Traceability in Agile Software Development

Program Lifecycle Methodology Version 1.7

Supporting Workflow Overview. CSC532 Fall06

Software Engineering. Standardization of Software Processes. Lecturer: Giuseppe Santucci

Managing Small Software Projects - An Integrated Guide Based on PMBOK, RUP, and CMMI

INTERMEDIATE QUALIFICATION

Software Engineering/Courses Description Introduction to Software Engineering Credit Hours: 3 Prerequisite: (Computer Programming 2).

Lecture 17: Requirements Specifications

Components Based Design and Development. Unit 2: Software Engineering Quick Overview

Introduction to Software Engineering Professional Issues SWENET OSE2 Module June 2003

1.1 The Nature of Software... Object-Oriented Software Engineering Practical Software Development using UML and Java. The Nature of Software...

Gary A. Gack MBA, SSBB, CSQE

IBM Enhances its Advanced Project and Portfolio Management Capabilities Using IBM Rational Portfolio Manager

Transcription:

Standards & Practices for the software and system engineers / professionals John Walz J.Walz@computer.org IEEE Computer Society 1 st VP IEEE Software & Systems Engineering i Standards d Committee Systems and Software Technology Conference (SSTC 2009) Wednesday, 22-Apr-09 22-Apr-09 Walz 1

Objective & Audience Advancing the knowledge, practice, and skills of engineering professionals Software and system engineers & professionals Acquisition Professionals Program/Project Managers Programmers System Developers Systems Engineers Process Engineers Quality and Test Engineers 22-Apr-09 Walz 2

Standards & Practices Abstract Cultivate, improve, and deploy best practices to meet business goals, timely delivery to satisfied customers, whose payments result in profit margins. Practices follow defined policies, processes, conventions, and procedures. Practices are influenced by HR selection criteria, Tool acquisition, and Iterative ti improvements Improvement projects start with a gap analysis using standards 22-Apr-09 Walz 3

Standards & Practices Practices deal with practitioners skills, work processes, & work products, both created and acquired Work Processes, uses Standards for documented process definitions, measure definitions, & Life cycle / work flow management 22-Apr-09 Walz 4

Building for Business Success Lean Six Sigma Management System Practices Measurements Tools & Techniques Controls Records Life Cycle Model Process Definitions Improvement Methods IDEAL SM CMMI Artifact templates Six Sigma Lean Methods Policies & Procedures Process Measures Standards, Spec, Criteria 22-Apr-09 Walz 5

Tower of Babel Standards d Practices Best Practices, Recommended d Practices, Generic Practices, Specific Practices Corporate Governance Practices, Marketplace Practices, Enterprise Practices, Business Practices, Software & Systems Engineering Practices Goals, Generic & Specific Processes, Activities, Tasks Frameworks Life Cycle Model Methodology Work Products / Artifacts Conformity Assessment Projects, Organizations, Enterprise, & Industry Process / Org Mat rit Engineering Practices Process / Org. Maturity 22-Apr-09 Walz 6

Simple Business Model for Standards and Practices Suppliers Std Talent product Std Customer Std Best Practices Std Tools Organization 22-Apr-09 Walz 7

Product improvements require improving Process Processes guide stakeholders through the life cycle improved Quality People & & Productivity Technology, Behaviors Tools People need to be skilled in techniques Technology enables and know when to apply them processes and techniques 22-Apr-09 Walz 8

What is a standard? A standard is a published document that sets out specifications and procedures designed to ensure that a material, product, method, or service meets its purpose and consistently performs to its intended use Standards are fundamental building blocks for international trade Standards Solve product compatibility issues 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 interconnectivity ti it and interoperability and provide credibility of new products Verify new markets thus enabling the rapid implementation of technology 22-Apr-09 Walz 9

What is a Practice? (1) an activity that contributes to the purpose or outcomes of a process or enhances the 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, Systems and Software Engineering i Vocabulary 22-Apr-09 Walz 10

More Definitions IEEE, ISO, IEC Base practice Generic practice Conventions Methodology Life Cycle Model CMMI-DEV Specific Practices Generic Practices Process area www.sei.cmu.edu/cmmi/models/index.html www.computer.org/sevocab 22-Apr-09 Walz 11

Football example Hole assignments and player numbering is used to assign who will be the main ball carrier and where the play will go Passing tree is the number system used for the passing routes Practices examples The Goal is getting the ball over the Goal Line. 22-Apr-09 Walz 12

In a complex, multidimensional trade space of solutions... Value of Standards What is testing? A standard is a Name for an otherwise fuzzy concept Practitioners needs standards to assign names to practices or collections of practices. a standard gives anametoa a bounded region. This enables communication between Buyer and Seller It defines some characteristics that a buyer can count on. Standards represent the minimum level of responsible practice Jim Moore, 2004-03 CSEE&T Panel 7 Moore06 22-Apr-09 Walz 13

Most successful standard: ISO 9001 Product is defined as result of a process Process is sdefined edas set of interrelated e or interacting activities which transforms inputs into outputs Say what you do and do what you say. Conformance is all about following processes; Any tool that enforces some type of process, will help an organization maintain its ISO 9001 management system 22-Apr-09 Walz 14

Model of Engineering Goals Constraints Control Measurements Action Needs Process Product Resources Moore06, SESC93 22-Apr-09 Walz 15

Steps to Success in software & system engineering - Compliant Process Engineering i Practical Support for CMMI -SW Project Documentation: Using IEEE Software Engineering Standards 1 Understand your business 2 processes Look to Models Look to Look to for Process 3 Framework 4 Supporting Completeness Standards for Life Standards for Cycle Definition 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 3 3 3 3 22-Apr-09 Croll04 Walz 16

Using IEEE S2E Standards Select relevant Software & System Engineering (S2E) processes from Model and Framework, Define S2E processes using best practices and standards Perform gap analysis of S2E processes Improve existing S2E processes, Ensure process conformance to Model (e.g. CMMI Maturity Level, IS 15504, ISO 9001) 22-Apr-09 Walz 17

What are IEEE S2E Standards? Represent industry best practices Codifies industries best practices for all critical software & system engineering g processes and their outputs Developed by domain experts with broad expert consensus Specify content 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 support document or artifact 22-Apr-09 Land06 Walz 18

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 1008, Software Unit Testing IEEE Std 1012, Software Verification and Validation Plans IEEE Std 1016, Software Design Descriptions 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 IEEE Software & System Engineering Standards IEEE Std 1062, Software Acquisition IEEE Std 1074, Developing a Software Project Life Cycle Process IEEE Std 1228, Software Safety Plans Plus nine other IEEE Std 1420, Software Reuse IEEE standards at the IEEE Std 1471, Architecture Description software and systems level IEEE Std 1517, Software Life Cycle Processes Reuse Processes IEEE Std 1633, Software Reliability 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 26514, Software User Documentation Land08 22-Apr-09 Walz 19

Framework Standards a higher level of abstraction 22-Apr-09 Walz 20

Standards are conceptual, not implemented Practices Standards: a set of mandatory requirements employed and enforced to prescribe a disciplined uniform approach to software development, that is, mandatory conventions and practices IS 24765 22-Apr-09 Walz 21

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 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) 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) 22-Apr-09 Walz 22

IS 12207 6.2.1 Life Cycle Model Management Process Purpose Define, maintain, and assure availability of policies, life cycle 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, 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: 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 management are defined; d c) life cycle processes, models and procedures for use by the organization are defined, maintained and improved; and d) prioritized process improvements are implemented. 22-Apr-09 Walz 23

Software Engineering Body of Knowledge SWEBOK 10 Knowledge Areas Software Requirements Software Design Software Construction o Software Testing Software Maintenance Software Configuration Mgmt Software Eng. Management Software Engineering Process Software Eng. Tools & Methods Software Quality 8 Related Disciplines Computer Engineering Computer Science Management Mathematics Project Management Quality Management Software Ergonomics Systems Engineering i The Guide to SWEBOK www.swebok.org is 202 pages 22-Apr-09 Walz 24

Allocation Of IEEE And ISO Software Engineering Standards To SWEBOK Knowledge Areas Knowledge Areas STANDARDS 22-Apr-09 Walz 25

Standards for S2E Product Realization Standards Vocabulary Process Standards d Process Processes guide stakeholders through the life cycle S2E Body Of Knowledge improved Tools Standards People & Quality & Productivity Technology, Behaviors Tools Certification Standards People need to be skilled in techniques Technology enables and know when to apply them processes and techniques 22-Apr-09 Walz 26

S2E Project Management & Support Objectives People Processes Standards / Practices Quality Productivity Risk Reduction Degree / Curriculum Certifications Sftw Dev Prof - CSDP -IEEE Sftw Dev Assoc. - CSDA -IEEE Sftw Quality Engr - CSQE -ASQ Sftw Prj Mgr - CSPM -QAI Sftw Prj Mgr - SwPM -SQI Project Mgmt Professional -PMI Training 22-Apr-09 Walz 27

Practitioners Skills related to S2E Standards Code of Ethics... Shall participate i t in lifelong l 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 Software Engineering i Graduate SWE Reference Curriculum (GSwERC) Continual education Courseware based on SWEBOK Certifications, based on SWEBOK CSDP Certified Software Development Professional CSDA Certified Software Development Associate 22-Apr-09 Walz 28

S2E Processes Work Processes IEEE 15288 System Engineering Processes IEEE 12207 Software Engineering Processes IEEE Software & System Engineering Standards Collection Life Cycle Model of Processes & Artifacts Spectrum between 100% Sequential vs. 100% Iterative Tools: CM, PM, CASE, etc Workflow between Processes, Tools, and Practitioners 22-Apr-09 Walz 29

Work Product / Artifact Life Cycle Model defines processes, their relationship, and Artifacts Definitions from CMMI 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 engineered or part of the end product Artifacts used for appraisals and audits CMMI-DEV, IS 15504, ISO 9001 22-Apr-09 Walz 30

S2E Work Products and Records Documents and records provide: Communications within the team and to stakeholders Foundation for improvement 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 methods to implement and enhance their mission and value-added services within their company 22-Apr-09 Walz 31

Design Artifacts from Standards Use standards to define: Processes for work flow Match: Staff, Processes Work Products, Staff credentials, Content and Format Process inputs, Process Records Process outputs, Project Plan milestones Project milestone, Project & Process & Configuration records 22-Apr-09 Walz 32

Improvement requires Engineering processes to be: Hot Warm Well defined, Followed, and Measured Neutral Cool Cold 22-Apr-09 Walz 33

Artifact Creation Example: Software Requirements Specifications (SRS) IEEE 12207 7.1.2 Software Requirements Analysis Process (5 shall s s / 2 pages) Calls for SRS CMMI-DEV Requirements Development framework (3 Goals, 9 Practices / 20 pg) Calls for SRS Software Requirements Specifications (SRS) requirements from IEEE 830 (10 shall s / 26 pg) SRS document Outline from IEEE 830 appendix SRS document Guidance from best practices SRS document Template from best practices 22-Apr-09 Walz 34

Software Requirements Specifications Atif Artifactt 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 Provides a basis for estimating costs and schedules Provides a baseline for validation and verification Facilitates transfer Serves as a basis for enhancement 22-Apr-09 Walz 35

IEEE 830 Table of Contents 22-Apr-09 Walz 36

Conclusions and Recommendations Advanced software & systems engineering management & practices will achieve objectives: quality, productivity, customer satisfaction, and compliance Quality outcomes requires Quality Processes Quality Processes create useful Artifacts Design Artifacts from Standards and best practices 22-Apr-09 Walz 37

Formalized Intellectual Property Good Techniques / Methods Ati Articles published with peer review Case studies Good Principles Best Practices Workshops Body Of Knowledge Standards developed Books Collegiate Curriculum Certification of experts & organizations Licenses 22-Apr-09 Walz 38

Formalized Intellectual Property Technical Council on Software Webinars Engineering Right-Sizing Agile Development, Steve Standards Committee on Software & McConnell System Engineering Standardizing Your Software Process IEEE S2E Standards collection Conferences & Proceedings SSTC 2009 Tech Summit 2008 Publications Computer IEEE Software IT Professional IEEE Transactions on Software Engineering Podcasts IEEE Talks Software Process Improvement Initiatives, by Susan K. Land ebooks (ReadyNotes) A Practical Metrics and Measurements Guide for Today s Software Project Manager by Susan K. Land, William C. Hobart Jr., and John W. Walz, Books The Road Map to Software Engineering: g A Standards-Based Guide by James W. Moore Practical Support for CMMI-SW Software Project Documentation: Using IEEE Software Engineering Standards by Susan K. Land, John W. Walz Certification in CSDA / CSDP Certified Software Development Associate Certified Software Development Professional 22-Apr-09 Walz 39

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, Institute of Electrical and Electronics Engineers, Inc. IEEE Standard Glossary of Software Engineering Terminology IEEE 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 ; Moore06, Moore, J.W.; The Road Map to Software Engineering, A Standards- Based Guide, 2006 SESC93, Long Range Planning Group, Master Plan for Software Engineering Standards, Version 1.0, 1-Dec-1993 22-Apr-09 Walz 40

Webinars from IEEE Computer Society Similar presentations - CS Webinars series http://www2.computer.org/portal/web/webinars org/portal/web/webinars Call for Experts to create CS Webinars contact Debbie Sims DSims@computer.org or Dick Price dprice@computer.orgorg 22-Apr-09 Walz 41

Acronyms used ASQ American Society for Quality CASE Computer-Aided Software Engineering CM Configuration Management CMMI Capability Maturity Model Integrated CMMI-DEV CMMI for Development CSDA Certified Software Development Associate CSDP Certified Software Development Professional CSPM Certified Software Project Manager CSQE Certified Software Quality Engineer Engr Engineer IDEAL SM Initiating, Diagnosing, Establishing, Acting, Learning IEEE 15288 Systems Engineering - System life cycle processes IEEE 12207 Life Cycle Processes for Software Engineering IS 15504 ISO/IEC Information Technology Process Assessment IS 24765 ISO/IEC Software and Systems Engineering Vocabulary ISO 9001 Quality management systems -- Requirements PM Program Management PMI Project Manager Institute S2E Software & System Engineering SRS Software Requirements Specifications Std Standard SWEBOK Software Engineering Body of Knowledge 22-Apr-09 Walz 42

Questions? 22-Apr-09 Walz 43