Becoming a Certified Software Development Professional (CSPD) and Overview of The Software...

48
Becoming a Certified Software Development Professional (CSPD) and Overview of The Software Engineering Body of Knowledge (SWEBOK) (Required reading SWEBOK Chapters 1 and 2 Text Ch 1-4)

Transcript of Becoming a Certified Software Development Professional (CSPD) and Overview of The Software...

Becoming a Certified Software Development Professional (CSPD)

andOverview of The Software Engineering

Body of Knowledge (SWEBOK)

(Required reading SWEBOK Chapters 1 and 2

Text Ch 1-4)

The SWEBOK Guide

Task Force Objectives

1. Promote a consistent view of SE worldwide2. Clarify the place and boundaries of SE relative to

other related disciplines3. Define/characterize the contents of the SE discipline4. Provide access to the various components of the

SWEBOK5. Provide a foundation for curriculum development

and individual certification and licensing

The SWEBOK Guide Cont’d

A guide to describe the core of the SE Body of Knowledge

Broken into Knowledge Areas

How we will use SWEBOK

Has many “definitions” of most key terms, you will be required to know the terms defined in the chapters assigned.

Has references to primary material (and occasional textbooks), you can use later when/if you need more details.

Only doing an overview, you are expected to know what is there, not necessarily how to do it.

Really covering the SWEBOK takes 5-8 courses!

Knowledge Areas

Establishes boundaries that identify engineering disciplines

May share common boundaries with other disciplines

Does not attempt to describe all of the knowledge within SE

Knowledge Areas Cont’d

Captures a subset of “generally accepted” knowledge or the core of SE

Knowledge Areas Cont’d

There are 10 KAs in the SWEBOK Each KA contains a reasonable topic list

presenting sound information about SE Excludes specific knowledge regarding

application domains, business, technology, SLCs and development methods

Compatible with what is generally found in industry

Knowledge Area Cont’d

Each KA follows the KA Description Specification

Includes description, topics, related areas and reference materials.

The Repeatable Process The first 5 KAs cover the repeatable process

– Requirements– Design– Construction– Testing– Maintenance

Define KA used in the development of software management processes

Together the are comparable to the definition of CMM level 2 excluding business specific knowledge

Software Requirements

Requirements engineering process Requirements elicitation Requirements analysis Software requirements specification Requirements validation Requirements management

Software Design

Basic concepts Key issues of software Structure and architecture Software design quality analysis and evaluation Design notation Software design strategies and methods

Software Construction

Considered one of the fundamental act of SE The construction of working, useful software

through programming, validation and testing. Three styles of construction

– Linguistic– Formal– Visual

Software Construction Cont’d

Principles of construction– Reduction of complexity– Anticipation of diversity– Structuring for validation– Use of external standards

Where does the Software Engineer learn to construct software?

Is Computer Science a required related discipline?

Software Testing

Basic concepts Test levels Test techniques Test-related measures and management

Software Maintenance

Basic concepts Maintenance process Key issues Techniques for maintenance

Is there a SENG course that covers software maintenance?

Related Disciplines

Computer Science Mathematics Projects Management Computer Engineering Cognitive Science and Human Factors Systems Engineering Management and Management Science

The Defined and Managed Process

The last 5 KAs cover the defined and managed process:

• Software Configuration Management

• Software Engineering Management

• Software Engineering Process

• Software Engineering Tools and Methods

• Software Quality Analysis

Together they are are comparable to the definition of CMM level 3 and 4

Software Configuration Management (SCM)

Management of the SCM Process Software Configuration Identification Software Configuration Control Software Configuration Status Accounting Software Configuration Auditing Software Release Management and Delivery

Software Engineering Management

Organizational Management Process/ Project Management Software Engineering Measurement

Software Engineering Process

Software Engineering Process Concepts– Process Infrastructure– Process Measurement– Process Definition– Qualitative Process Analysis– Process Implementation and change

Software Engineering Tools and Methods

Software Tools: requirements tools, design tools, Construction tools, testing tools, maintenance tools , engineering process tools, quality tools, configuration management tools, engineering management tools, infrastructure support tools, Miscellaneous tools issues

Software Methods: – Heuristic– Formal– Prototyping– Miscellaneous

Software Quality

Software Quality Concepts Purpose and Planning of SQA and V&V Activities and Techniques for SQA and V&V Measurement Applied to SQA and V&V

A complete SWEBOK based Education Program

Software Requirement

SWEBOK

Software Design Software Construction

Software Testing

Software Maintenance

Software Configuration Management

Software Engineering Management

Software Quality

Software EngineeringTools and Methods

Software EngineeringProcess

An Organizational alternative

What is CMMI, and how related to PSP and CMM.

What is required to achieve CMMI?

Relating CMMI and EIA 859!

What is CMMI?

•Defines 5 levels of process maturity•Describes model framework to be used for:•Assessing process maturity•Determining priorities•Instituting process improvement

Capability Maturity Model Integration

CMMI

Relation to PSP and CMM

PSP is the Personal Software process, and is basically a “process” (supported by course material to teach it) for an individual to follow a capabilities-based maturity model.

CMM is the older SEI Capability Maturity Model, strictly for Software Development. CMMI is a generalization that covers more systems and project issues as well as business processes.

Level 1 - Performed

Level 2 - Managed

Level 3 - Defined

Level 0 - Incomplete

CMMI Levels

The five levels of CMMI process

maturity!

Level 4 Quantitatively

Managed

Level 5

Optimizing

NO

CMMI Level 0Incomplete

YES

Performing at CMMILevel 0

• Are Data Management requirements being met?

• Are all customers identified?

• Are all customer requirements identified?

• Are customer requirements beingmet?

Are all processgoals beingaccomplished?

Are one or

more of the process goals not accomplished?

Process not performed

At what CMMI Level are we performing?

Review data managementprocedures to determine CMMI Level

How do we achieve Level 1?

Identify your customers Identify customers needs Identify management process goals

Identify work productsDevelop steps to producethe desired work products

What is CMMI Level 1?

Level 1 - Performed

•Specific goals are being accomplished•No defined processes•Individuals may follow differing procedures•Using general purpose tools

CMMI Level 1

Characteristics

•Dependent on individuals•Results vary•Resources vary•Results unpredictable•Practices are informal•Quality inconsistent

Determining the CMMI Level

NO

Is the processdocumented?

CMMI Level 1

Process Performed

Performing at CMMILevel 1

NO NO NO NO

YES YES YES YES YES

Are there policies

governing the process?

Is there a process plan?

Are there adequateresources

to execute the Plan?

Is trainingprovided forindividuals

executing theProcess?

EIA 859

EIA Standard 859

Industry Standard for

Data Management

Includes 9 high level Data Management Principles

Principles address functions of Data Management

Describes fundamental concepts to be considered when structuring a Data Management process

DRAFT

EIA Standard 859

Industry Standard for

Data Management

DRAFT

Principles

1. Define the organizationally- relevant scope of Data Management2. Plan for, acquire, and provide data responsive to customer requirements3. Develop DM processes to fit the context and business environment in which they will be performed.4. Identify data products and views so their requirements and attributes can be controlled.5. Control data repositories, data products, data views, and meta data using approved change control process.6. Establish and maintain an identifi- cation process for intellectual property, proprietary, and competition-sensitive data.7. Retain data commensurate with value.8. Continuously improve data management.9. Effectively integrate data management and knowledge management.

EIA 859 Principles

EIA 859

1. Define the organizationally- relevant scope of Data Management2. Plan for, acquire, and provide data responsive to customer requirements3. Develop DM processes to fit the context and business environment in which they will be performed.4. Identify data products and views so their requirements and attributes can be controlled.5. Control data repositories, data products, data views, and meta data using approved change control process.6. Establish and maintain an identifi- cation process for intellectual property, proprietary, and competition-sensitive data.7. Retain data commensurate with value.8. Continuously improve data management.9. Effectively integrate data management and knowledge management.

Principles

CMMI

Advocates Repeatable Processes

Project Level&

Enterprise Level

CMMI & EIA 859

Level 1 - Performed

Level 2 - Managed

Level 3 - Defined

Level 4 Quantitatively

Managed

Level 5

Optimizing

Relating CMMI & EIA 859

EIA Standard 859

Industry Standard for

Data Management

DRAFT

Principles

1. Define the organizationally- relevant scope of Data Management2. Plan for, acquire, and provide data responsive to customer requirements3. Develop DM processes to fit the context and business environment in which they will be performed.4. Identify data products and views so their requirements and attributes can be controlled.5. Control data repositories, data products, data views, and meta data using approved change control process.6. Establish and maintain an identifi- cation process for intellectual property, proprietary, and competition-sensitive data.7. Retain data commensurate with value.8. Continuously improve data management.9. Effectively integrate data management and knowledge management.

3. Develop DM processes to fit the context and business environment in which they will be performed

1. Define the organizationally- relevant scope of Data Management

8. Continuously improve data management.

CMMI Level 2

Level 2 - Managed

•Planned and executed IAW policy/procedures•Established objectives•Adequate resources•Applicable to a particular group/project

Level 2 - Managed

CMMI Level 2

YES YES YESYES YES Are there established policies

governing the process?

Is there a process plan?

Are there adequateresources

to execute the Plan?

Is trainingprovided forindividuals

executing theProcess?

Is the process Documented?

Develop policies for process execution based on organizational requirements and customer needs.Develop standards for work products and services.Identify stakeholders.Define process dependencies and work products and services.Define resource requirements (funding, people etc.)Define work products requiring configuration control.Define process measurement requirements to determine process performance.

CMMILevel 2

EIA 859

Develop DM processes to fit the context and business environment in which they will be performed.Determine related organizational policies.Identify external forces.Determine related business objectives.Determine requirements for access and delivery.Determine who will create, access, update, and dispose of the data.

Principle 3

CMMILevel 2

Evaluate the effect of deviations from the process plans and descriptions.Review accomplishments against process plans and descriptions.Place the process work products under configuration management.Coordinate the process plan and description with relevant stake- holders.Monitor and control the process.Assign responsibility and authority for performing the process.Obtain the necessary resources.

EIA 859Principle 3

Make needed adjustments in processes, practices, policy, organizational alignment and infrastructure.

Control the integrity of data, data elements, data structures and data views.Establish a change control process that imposes the appropriate level of review and approval.

Establish mechanisms for tracking and determining status of data.

Is the processbeing objectively

evaluated?

Comparing CMMI Level 2 & EIA 859

YES YES YESYES

Is the processmonitored?

Are work productsunder configuration

control?

Are all relevantstakeholders being

considered?

Is the processcontrolled and

measured?

CMMI Level 3

Level 3 - Defined

•Process institutionalized•Process consistent across the organization•Process measurable

YES YES YESYES

Is the processunique to theorganization?

Is the processconsideredstandard?

Is the processbeing objectively

evaluated?

Is the processdefined?

Is the processinstitutionalized?

YES

CMMILevel 3

Define process steps for institutionalization.Define policy/guidelines for tailoring process steps.Define process tailoring.Document process tailoring.Collect and document work process/product measurement results.Develop and maintain a data base for process/product measurement information.Document and store lessons learned in the data base.

CMMILevel 3

Define process steps for institutionalization.Define policy/guidelines for tailoring process steps.Define process tailoring.Document process tailoring.Collect and document work process/product measurement results.Develop and maintain a data base for process/product measurement information.Document and store lessons learned in the data base.

EIA 859Principle 8

Establish and maintain a metric process and reporting strategy.

Establish the necessary tools and infrastructure to support the process and assess the results.

YESYES YESYES

Is the tailored process documented?

Is there a

data base to record processimprovements?

Are there guidelines

for tailoring the institutionalized

process?

Is the processquantitativelymanaged?

CMMI Level 3

CMMI Level 4

•Controlled using statistical and other techniques•Process variation identified

Level 4Quantitatively Managed

CMMI Level 4

YES YESIs

the processstable and

predictable?

YESYES YES

Is the collected data

being analyzed?

Are the

quantitative/qualitative objectives

based on customerneeds?

Are significantprocesses/products

statisticallymanaged?

Is quantitative/

qualitative process/product data

beingcollected?

CMMILevel 4

Determine an understanding of the ability of the process to achieve the quantitative objectives.Determine objectives for statistical control.Identify and measure the sub- process determined to be under statistical control.Identify and measure process and product attributes important to quality and process performance.Identify causes for process variation.Manage processes to attain statistical stability and predictability.

.

CMMILevel 4

Predict the ability of the process to achieve performance objectives using managed statistical data.Institutionalize process performance baselines.Take appropriate action when desired quantitative and process/ product performance objectives are not being met.

EIA 859Principle 8

Recognize the need to continuously improve the quality of data resources.Establish and maintain a metric process and reporting strategy.Establish the necessary tools and infrastructure to support the process and assess the results.Monitor the quality of data to improve data and processes.

CMMI Level 5

•Continuously improving performance•Incremental improvement•Technological improvement

Level 5Optimizing

Comparing CMMI Level 5 & EIA 859

CMMILevel5

Develop and maintain process/ product improvement objectives.Identify and implement tech- nelogical innovations for process/ product improvements.Manage process/product improve- ment deployment.Measure results against objectives.Identify and correct process/ product defects.

EIA 859Principle 8

Recognize the need to continuously improve the quality of data resources.Implement a strategy for on-going improvement.Improve Data Management through a systematic and self- diagnostic process..Identify objective evidence of improvements.

YES YES YESYES Doesthe process

include continuousimprovementobjectives?

Doesthe process

allow for techimprovements?

Is the processoptimized?

Doesthe process

include a planfor attainingimprovementobjectives?

Does the process

identify problemsand

defects?

Summary

EIA Standard 859

Industry Standard for

Data Management

DRAFT

CMMI Data Management

Level 1

Level 2

Level 3

Level 4

5Level

References Guide to the Software Engineering Body of Knowledge: Trial

Version, 2001, http://www.swebok.org/stoneman/version09.html Trip, Leonard L., Professionalization of Software Engineering: Next

Steps, 1999, http://www.swebok.org/documents/x3009.pdf “A Summary of the ACM Position on Software Engineering as a

Licensed Engineering Profession”, http://www.acm.org/serving/se_policy/selep_main.html

“An Assessment of Software Engineering Body of Knowledge Efforts: A Report to the ACM Council“, http://www.acm.org/serving/se_policy/bok_assessment.pdf

IEEE Computer Society Web Site: http://computer.org/certification Code of ethics http://computer.org/certification/ethics.htm Comm. of the ACM, Nov. 2002 (45, 11)

– Licensing Software Engineers - 6 articles