59
Carl J. Daniele Office of the Chief Engineer Training Coordinator Mark Goldman GSFC Senior Human Resources Development Specialist

Carol daniele

  • Upload
    nasapmc

  • View
    46

  • Download
    2

Embed Size (px)

DESCRIPTION

 

Citation preview

Page 1: Carol daniele

Carl J. DanieleOffice of the Chief Engineer Training Coordinator

Mark Goldman

GSFC Senior Human Resources Development Specialist

Page 2: Carol daniele

Presentation IncludesDefinition and Development of a DACUM

Presentation Developed by Mark Goldman of NASA Goddard Space Flight Center

Use of DACUM Process to Develop a Curriculum for Software Engineering at NASAPresentation Developed by Carl Daniele of Carl

J. Daniele Consulting

10/10 2

Page 3: Carol daniele

Goddard Space Flight Center

Office of Human Capital ManagementGoddard Space Flight Center

Office of Human Capital Management

Mark Goldman, Senior Human Resources Development Specialist

NASA/GSFC, Code 114

[email protected]

301-286-8852

DACUM

Presented on February 22, 2012

Page 4: Carol daniele

Goddard Space Flight Center

Office of Human Capital ManagementGoddard Space Flight Center

Office of Human Capital Management

4

•An Acronym for Developing A CurriculUM•A process for:

•Job analysis•Occupational analysis

•Used by:•Vocational/Technical Educators•Business & Industry Trainers•Government & Military Agencies

•Used because it’s:•Effective

•Quick•Low cost

What Is DACUM?

February 22, 2012

Page 5: Carol daniele

Goddard Space Flight Center

Office of Human Capital ManagementGoddard Space Flight Center

Office of Human Capital Management

DACUM Philosophy

• Expert workers can describe and define their job more accurately than anyone else

• An effective way to define a job is to precisely describe the tasks that expert workers perform

• All tasks, in order to be performed correctly, demand certain knowledge, skills, tools, and worker behaviors

10/105

Page 6: Carol daniele

Goddard Space Flight Center

Office of Human Capital ManagementGoddard Space Flight Center

Office of Human Capital Management

Major DACUM Workshop Outcomes

• Precisely stated job tasks/duties• General knowledge and skills• Worker behaviors, traits, attitudes for success• Tools and equipment• Future trends/concerns• Terms/Acronyms (optional)

10/106

Page 7: Carol daniele

Goddard Space Flight Center

Office of Human Capital ManagementGoddard Space Flight Center

Office of Human Capital Management

Who Serves on a DACUM Panel?

• Individuals who are:• ‘Top Performers’ at their jobs• Willing to share their knowledge and experience with

others• Able to participate for two consecutive days with a

qualified DACUM facilitator

10/107

Page 8: Carol daniele

Goddard Space Flight Center

Office of Human Capital ManagementGoddard Space Flight Center

Office of Human Capital Management

What’s the ‘Flow’ of the DACUM Session?

• Orient the panel• Review/modify occupation definition• Brainstorm areas of responsibility and identify ones to be

used• Identify specific tasks performed within each duty area• List: Knowledge, skills and abilities; tools and equipment;

and traits and attitudes• Review/refine duty and task statements• Sequence task and duty statements• Other options as desired ( e.g. identifying future tasks

and/or advanced or entry level tasks, etc.)• Identify panelists to participate in Phase 2 (curriculum plan

development)10/108

Page 9: Carol daniele

Goddard Space Flight Center

Office of Human Capital ManagementGoddard Space Flight Center

Office of Human Capital Management

What is Phase 2 All About?

• New panel formed:• Representatives of first panel• ‘Higher ups’ from the occupation’s organization(s)• Course developers• Trainers

• One day• Develop Curriculum Plan

10/109

Page 10: Carol daniele

Goddard Space Flight Center

Office of Human Capital ManagementGoddard Space Flight Center

Office of Human Capital Management

How Does Phase 2 Work?• Between Phase 1 and Phase 2, all data points

placed on cards• At session, facilitator presents each data point, in

order, to the panel• Panel determines where the item is best learned:

• Prerequisite• Classroom

• Academic course• Short training class

• On-the-job learning (OJL)• Structured/formal• Unstructured/informal

• E-Learning10/1010

Page 11: Carol daniele

Goddard Space Flight Center

Office of Human Capital ManagementGoddard Space Flight Center

Office of Human Capital Management

The Phase 2 Session is Complete – Now What?

• Existing courses (including e-learning) are included in the curriculum, either as is or modified based on the session results

• Courses/modules identified not currently available are developed or procured

• On-the-job learning (OJL) experiences are identified or developed

• “Road Map” for professional development is created (or modified if one already exists)

10/1011

Page 12: Carol daniele

Use of DACUM Process to Develop a Curriculum for Software Engineering at NASACarl J. Daniele ConsultingCarl J DanieleTraining Coordinator for the Office of the Chief EngineerContract through NASA Glenn Research Center8631 Ashwood DriveStrongsville, Ohio 44149-1122Phone: 440-238-8059Cell: 440-476-7353

10/10 12

Page 13: Carol daniele

NASA Software Engineering DACUM HistoryDate Activity

November 14 – November 15 , 2005 in Greenbelt, MD

Phase 1 Panel Met

November 30 – December 1, 2005 in Greenbelt, MD

Phase 2 Panel Met

April 27 – 28, 2006 in Greenbelt, MD

Phase 3 Panel Met (baselined DACUM 5.6)

August 18, 2011 In Greenbelt , MD

Review/Update Session Goddard Space Flight Center (Updated course information for 15 of 16 Courses)

November 17, 2011 in Huntsville, AL

Updated course information for last Course

December 16, 2011

Baseline Document 5.6 was updated per the DACUM updates and sent to NASA Centers to review.

December 16, 2011

NASA Ames Research Center Proposed Addition of new DACUM Course in Human Computer Interface

10/10 13

Page 14: Carol daniele

10/10 14

Page 15: Carol daniele

10/10 15

Early Career Courses Mid-Career Courses Later Career Course    

     

0. Courses Outside

OCE

1. Found of Aerospace

at NASA (FOU)

2. SWE 101

3. Reqs. Dev.&Mgmt (incl.

Inspections)

4. SW Implem

.5. SW

Testing

6. SWE 201

(incl. Maint.)

7. SW Config. Mgmt.

8. SW Desig

n9. SW

for Embed

ded Syste

ms

10. SWE

Assurance and

Safety

11. SWE 301

12. SW &

Process Metrics

13. SW Estimations

14. SW

Process Improvement

15. SW Acquis

ition

16. Formal

Methods for SW

     

H1 Provide feedback to team members

K13 Knowledge of spacecraft and aeronautics systems and architecture

E7 Knowledge of monitoring contractor performance

Ax1 Define and validate Scope

C1 Write code consistent with design specification

D1 Generate test documents (plans/procedures consistent with requirements)

Ax Requirements management (duplicate card, refresher from course #3)

F11 Perform configuration management

B1 Select architecture

Z40 Knowledge of Architectural Design of Real-Time Software (duplicate card)

F14 Perform SW hazard analyses

Ax Requirements Management (duplicate card, refresher from course #3)

G12 Analyze metrics

G3 Estimate SW schedule

G12 Analyze metrics (duplicate card)

E2 Develop SW part of SOW for RFP and task orders

L1 Formal modeling to capture the logic and discrete mathematic elements of a system/subsystem

     

H2 Develop teamwork

K16 Knowledge of aerospace environment

F7 Participate in peer reviews/inspections

Ax2 Develop SW requirements (including derived SW requirements)

C2 Conduct unit tests

D3 Develop test tools and simulations

B6 Perform trade analyses

Z18 Data Management

B2 Identify SW components

Z41 Knowledge of Hardware and SW Co-design Techniques

F15 Perform SW safety analyses

B7 Develop and execute acquisition strategy

Z69 Identify measurement goals & objectives at all levels - projects through Agency

Gx Software size-estimation attributes (e.g. complexity)

I3 Maintain organizational assets (e.g. templates, metrics)

E3 Develop SW acquisition/contractor requirements for RFP

L2 Formal specifications

CURRENT DACUM (Blue – word change; Yellow – no change; White – added requirement; green - delete )

Page 16: Carol daniele

10/10 16

Ax1 Define and validate ScopeAx2 Develop SW requirements (including derived SW requirements)Ax3 Manage requirements and maintain traceability([3] Note: Traceability is maintained throughout the SW lifecycle and a repeated theme throughout the curriculum.)

A1 Elicit requirementsA2 Develop software requirements from operations conceptA3 Analyze requirements and associated risksA4 Validate Requirements (ex.. prototype, simulation, inspection, etc.)A5 Identify verification methodsA6 Document interface requirementsA7 Document SW requirements (e.g. SRS [SW Requirement Specifications], system requirements, etc.)F13 Perform traceability (bidirectional)K17 Knowledge of how to write requirements

Z08 Participate in trade studiesZ09 Knowledge of SW Requirements toolsZ103 Knowledge of NPR 7150.2, NASA and Center Standards, and CMMI direction and guidance related to software requirements and managementZ111 How to monitor and control software requirement creep/volatility (moved from SW Estimations class)

Z123 Use of state machines and discrete logic to model requirementsQ14 Knowledge of value of IV&V during requirements developmentQ15 Knowledge of use case developmentQ16 Knowledge of Requirements PhasingQ17 Knowledge of Requirements Volatility Z115 Knowledge of value of SW related peer reviews/ inspections Z116 Peer reviews/ inspections process (e.g., planning, checklist, readiness & completion criteria, tracking actions, recording basic measurements, correction of problems, and follow up)Z117 Knowledge of peer reviews/ inspections roles and responsibilitiesZ118 Peer reviews/ inspections tailoring guidelinesZ124 Knowledge of NPR 7150.2, NASA Preferred Standards, and CMMI direction and guidance related to peer review/inspection direction and guidance related to peer review/inspection

3. Requirements Development and Management including Inspections

Page 17: Carol daniele

10/10 17

NASA Software Engineering Excellence Training (SWEET)

Software Engineering Body of Knowledge (SWEBOK) ACM - IEEE Software Engineering 2004

3. Software Requirements Development and Management Software Requirements The Software Engineering DisciplineA1. Elicit Requirements Requirements Elicitation Eliciting requirements

A2. Develop operations concept Requirements Process Requirements fundamentals

A3. Analyze Requirements Requirements AnalysisRequirements specification & documentation

A4. Validate Requirements Requirements Validation Requirements validation

A5. Identify verification methods Requirements Specification

A6. Document Interface Requirements Software Requirements Fundamentals

A7. Document Software Requirements Practical Considerations Ax Define and validate Scope

Ax Develop SW requirements (including derived SW requirements) Ax Manage requirements and maintain traceability([3] Note: Traceability is maintained throughout the SW lifecycle and a repeated theme throughout the curriculum.) F13 Perform traceability (bidirectional) K17 How to write requirements Z08 Participate in trade studies Z09 SW Requirements tools Software Requirements Tools Z103 NPR 7150.2, NASA Core Standards, NASA Preferred Standards, and CMMI direction and guidance related to SW requirements and management Z123 Use of state machines and discrete logic to model requirements

Comparison of SWEET to SWEBOK and IEEE

Page 18: Carol daniele

Curriculum CheckRESULTS – In both cases the NASA SWE

DACUM required more specific information for each of the topics and reflected the particular ways that NASA does business (e.g. NASA Standard 7150.2a)

10/10 18

Page 19: Carol daniele

10/10 19

NASA SWE DACUM Course STATUS

1. Foundations of Aerospace at NASA

Current APPEL Course

2. SWE 101 NASA Size Defense Acquisition University Course – Software Acquisition Management 101

3. Requirements Development and Management

NASA Centers Recommend Courses

4. Software Implementation NASA Centers Recommend Courses

5. Software Testing NASA Centers Recommend Courses

6. SWE 201 NASA will Develop

7. Software Configuration Management

NASA Centers Recommend Courses

8. Software Design NASA Centers Recommend Courses

Page 20: Carol daniele

10/10 20

NASA SWE DACUM Course STATUS

9. Software For Embedded Systems

NASA Centers Recommend Courses

10. Software Engineering Assurance and Safety

NASA Centers Recommend Courses

11. SWE 301 Course Exists – Developed by NASA

12. Software and Process metrics

NASA Centers Recommend Courses

13. Software Estimations NASA Centers Recommend Courses

14. Software Process Improvement

NASA Centers Recommend Courses

15. Software Acquisition NASA Centers Recommend Courses

16. Formal Methods for Software

NASA Centers Recommend Courses

Page 21: Carol daniele

NASA Centers Recommend Courses Courses Requirements from the DACUM will

be divided between the NASA CentersCenters Review existing Courses

(Commercial, APPEL, National Safety Center(NSC) Safety Technical Excellence Program (STEP), SATERN, etc.)

Centers Provide Recommendations to OCEOCE makes a “Make-Buy” Decision

10/10 21

Page 22: Carol daniele

Proposed Schedule for Course DevelopmentProgram will be called Software Engineering

Technical Excellence Training (SWEET)SWE 101 available by 9/30/2012Foundations of Aerospace at NASA – available

APPEL Course All other Courses – Training is currently provided

by the OCE for many of the DACUM Topics. Much of the information for the DACUM Courses is currently available commercially or in-house. The SWEET curriculum is proposed to be available by 9/30/2013

10/10 22

Page 23: Carol daniele

Goddard Space Flight Center

Office of Human Capital ManagementGoddard Space Flight Center

Office of Human Capital Management

BACKUP – Mark Goldman

Page 24: Carol daniele

Goddard Space Flight Center

Office of Human Capital ManagementGoddard Space Flight Center

Office of Human Capital Management

What Does the DACUM Session Look Like?

• 5-12 panelists (sometimes more) at tables facing a large blank wall in a classroom, conference room, etc.

• Facilitator at the front• Recorder to one side of the facilitator• Guests/observers in the back

10/1024

Page 25: Carol daniele

Goddard Space Flight Center

Office of Human Capital ManagementGoddard Space Flight Center

Office of Human Capital Management

How is the Data Captured?

• The recorder captures each data point on :• A 8 ½ x 11 sheet of paper (for duty areas)• A 5x8 index card (for tasks)

• The papers/cards are placed on the wall by the facilitator using a temporary adhesive

• The facilitator captures lists of knowledges/skills/abilities; tools & equipment; and traits/attitudes on flip charts near the end of the process

10/1025

Page 26: Carol daniele
Page 27: Carol daniele

10/10 27

Page 28: Carol daniele

10/10 28

The NASA Software Engineer develops, acquires,

manages, maintains and researches software systems

using disciplined, quantifiable, systematic approaches.

Page 29: Carol daniele

10/10 29

A1 A2 A3 A4 A5 A6 A7        

A. Develop Software

Requirements

Elicit requirements

Develop operations

concept

Analyze requirements

Validate requirements

(e.g. prototype, simulation)

Identify verification methods

Document interface

requirements

Document software

requirements (e.g. SRS [Software

Requirement Specs], system

requirements)

       

B1 B2 B3 B4 B5 B6 B7 B8 B9 B10 B11 B12

B. Design Software

Select architecture

Identify software

components

Analyze data flow

Analyze control flow

Choose algorithm

Perform trade analysis

Decide make/buy

Identify software

development environment

Certify software

development architecture

Design external

interfacesVerify design

Generate design

documentation

C1 C2 C3 C4 C5 C6 C7 C8 C9 C10 C11

C. Implement Software

Write codeConduct unit

testsDebug code Analyze code Inspect code

Integrate software

components

Integrate software and

hardware

Perform margin

analyses

Verify code meets coding

standards

Generate user

documentation

Generate 'as-built'

document

C12 C13      

           

Update design

documents

Generate version

description document

     

 

D1 D2 D3 D4 D5 D6 D7 D8 D9 D10 D11 D12

D. Verify Software

Generate test documents (plans/proc)

Identify test environment

Develop test tools and

simulations

Certify test environment

Test softwareGenerate problem reports

Analyze test results

Verify code by analysis

Perform 'proof of

correctness' (formal

methods)

Document verification

results

Support hardware/soft

ware integration

testing

Deploy software

NASA SWE TASKS

Page 30: Carol daniele

10/10 30

E1 E2 E3 E4 E5 E6 E7 E8 E9 E10  

EE. Acquire Software

(ADV .)

Interact with Procuremen

t ( a lot!)

Develop SOW for

RFP

Develop software system

requirements for RFP

Develop DRD (Data

Requirements

Documents)

Develop evaluation

criteria

Evaluate proposals

Monitor contractor

performance

Participate in technical

audits

Evaluate deliverables

Accept product formally

 

F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11

FF. Manage

Crosscutting Processes

Maintain software

Collect metric data

Research new

technology

Manage change

requests

Participate in software

change boards

Manage problem reports

Participate in peer reviews

Conduct peer reviews

Participate in formal reviews

Conduct formal

reviews (ADV)

Perform CM

F12 F13 F14 F15 F16 F17 F18  

Prototype solutions

Perform traceability

(bi-directional)

Perform software hazard

analysis

Perform software safety

analysis

Perform software FMEA

(Failure Modes Effects

Analysis)

Perform software reliability analysis

Perform IT security

assessments

       G1 G2 G3 G4 G5 G6 G7 G8 G9 G10 G11 G12

G

G. Manage Software

Development (ADV.)

Classify criticality of

software

Estimate cost

Estimate schedule

Generate planning

documents

Plan build content

Comply with HQ

policies/requirements

Manage software

engineering processes

Manage software

resources (technical,

human, budget)

Manage software

schedules

Monitor software

development progress

Manage risks

Analyze metrics

H1 H2 H3 H4 H5 H6 H7        

HH. Manage Software

Team

Provide feedback to

team members

Develop teamwork

Monitor team

members

Develop team

competencies

Maintain team's

technical credibility

Provide input for

employee evaluations

Resolve interpersona

l conflicts

NASA SWE TASKS

Page 31: Carol daniele

10/10 31

I1I2 I3 I4              

I. Support Organization

Write proposals in response to

RFPs

Set up labs

Maintain organization

al assets (e.g.

templates, metrics)

Improve software

engineering processes

             

J1J2 J3 J4 J5 J6 J7 J8 J9 J10 J11

J. Continue Professional Development

Participate in professional organization

s

Attend classes

Attend conferences

Present at conferences (ADV)

Read journals

Mentor people

(ADV)Be mentored

Obtain professional certifications

Obtained advanced degrees

Rotate assignments

Teach

J12 J13 J14 J15              

Attend colloquia

Review lessons learned

Network (meet and talk with

colleagues)

Play  

NASA SWE TASKS

Page 32: Carol daniele

10/10 32

Page 33: Carol daniele

10/10 33

Early Career Courses Mid-Career Courses Later Career Course    

     

0. Courses Outside OCE

1. Intro Aerospa

ce at NASA

2. SWE 101

3. Reqs. Dev.&Mgmt (incl.

Inspections)

4. SW Implem

.5. SW

Testing

6. SWE 201

(incl. Maint.)

7. SW Config. Mgmt.

8. SW Design

9. SW for

Embedded

Systems

10. SW

Safety &

Reliability

11. SWE 301

12. SW &

Process Metri

cs

13. SW Estimati

ons

14. SW Proces

s Improvement

15. SW Acquis

ition

16. Formal Methods for

SW

     

H1 Provide feedback to team members

K13 spacecraft and aeronautics systems and architecture

E7 monitoring contractor performance

A1 Elicit requirements

C1 Write code consistent with design specification

D1 Generate test documents (plans/procedures consistent with requirements)

Ax Requirements management (duplicate card, refresher from course #3)

F11 Perform configuration management

B1 Select architecture

Z41 Hardware and SW Co-design Techniques

F14 Perform SW hazard analyses

Ax Requirements Management (duplicate card, refresher from course #3)

G12 Analyze metrics

G3 Estimate SW schedule

G12 Analyze metrics (duplicate card)

E2 Develop SW part of SOW for RFP and task orders

L1 Formal modeling to capture the logic and discrete mathematic elements of a system/subsystem

     

H2 Develop teamwork

K16 aerospace environment

F7 Participate in peer reviews/inspections

A2 Develop operations concept

C2 Conduct unit tests

D3 Develop test tools and simulations

B6 Perform trade analyses

Z18 Data Management

B2 Identify SW components

Z42 Board Support Package Design

F15 Perform SW safety analyses

B7 Decide make/buy

Z69 Identify measurement goals & objectives

Gx SW size estimations

I3 Maintain organizational assets (e.g. templates, metrics)

E3 Develop SW acquisition/contractor requirements for RFP

L2 Formal specifications

Baseline 5.6 NASA Software Engineering DACUMCourse coverage (Green fully; Orange partially; Red little)

Page 34: Carol daniele

10/10 34

NASA Software Engineering Excellence Training (SWEET)

Software Engineering Body of Knowledge (SWEBOK) ACM - IEEE Software Engineering 2004

8. Software Design Software Design Software Design

B1 Select Architecture Software Design Fundamentals Architectural design

B2. Identify software components Key Issues In Software Design Detailed design

B3. Analyze data flow Software Structure and Architecture Design support tools and evaluation

B4. Analyze Control FlowSoftware Design Quality Analysis and Evaluation Human computer interface design

B5. Choose Algorithm Software Design Notations Design strategies

B6. Perform Trade Studies Software Design Strategies and Methods Design conceptsB7. Decide make/buy Software Design Tools

B8. Identify Software Development Environment

B9. Certify Software Development Architecture

B10. Design external interfaces

B11. Verify design

B12. Generate Design Documentation Bx Intermediate design technologies (similar card) F13 Perform traceability (bidirectional)

Z34 Architectural SW design Z35 Detailed SW design Z36 SW system architectures Z37 design patterns Z38 SW design development tools

Z39 Object-Oriented Design Z40 Architectural Design of Real-Time SW

Z123 Use of state machines and discrete logic to model designs

Page 35: Carol daniele

Use the Course/Competency Matrix (horizontal)

Page 36: Carol daniele

2. Software Acquisition                                  

2A. Acquisition Processes, Contract Management and contractor performance   ●         ●                 ●  

Page 37: Carol daniele

3. Software Engineering Life Cycle Processes                                  

3A. Operational Concept     ●                         ●  3B. Software Product Requirements Development   ● ●                            3C. State Machines and Discrete Logic for Modeling     ●           ● ●              3D. Software Design   ●     ●       ● ●              3E. Software Implementation: Coding, Debugging, Unit Testing, Integration, Optimizing, and Documentation   ●     ● ●                      3F. Embedded Systems Software Implementation   ●               ●              3G. Software Engineering Tools and Equipment   ●   ● ● ● ● ● ●   ●          3H. Peer Reviews/inspections   ●   ● ●   ●                    3I. Software Testing Techniques and Environments   ●     ● ●       ●   ●          3J. Software Deployment, Transition to Operations, and Maintenance             ●                    3K. Software Engineering Processes and Process Improvement   ●         ● ●       ● ●   ●    3L. Software Assurance   ●         ●       ●            3M. Software Safety and Reliability                     ●            3N. Verification and Validation   ● ●   ●   ●   ●               ●

Page 38: Carol daniele

4. Software Engineering Management                                  

4A. Software Engineering Planning and Management             ●         ● ● ●      

4B. Software Metrics   ●   ●     ● ●         ●   ● ●  

4C. Risk Management   ●                   ●   ●      

4D. Software Estimation             ●             ●      

4E. Requirements Management     ●       ●         ●          

Page 39: Carol daniele

mmm

Software

Engineering

Competencies

Software Acquisiti

on

Software Engineering Management

Acquisition Processe

s, Contra

ct Management and

Contractor P

erform

ance

Software Engineering Planning and management

Software Estimation

Risk Management

Software Metrics

Requirements M

anagement

Softwar

e Safe

ty an

d Reliab

ility

Softw

are

Assu

ranc

e

Info

rmati

on T

echn

olog

y Se

curit

y

Ope

ratio

nal

Conc

ept

Soft

war

e Pr

oduc

t Re

quire

men

ts D

evel

opm

ent

Stat

e m

achi

nes a

nd D

iscre

te Lo

gic

for M

odel

ing

Softw

are

Desig

n

Embedded Systems

Software Implementation

Software Testing Techniques and Environments

Verification and Validation

Software Engineering Processes

and Process Improvement

Formal M

odeling and Validation

Configuration and Change Control

Software Assurance

Processes

Softw

are

Requ

irem

ents

Deve

lopm

ent

Proc

ess

Peer Reviews/Inspections

Software Product Im

provement Processes

Softw

are E

ngine

ering

Too

ls an

d

Equipm

ent

Software Design Proce

ss

Software Implementation: Coding,

Debugging, Unit Testing, Integration,

Optimizing, and Documentation

Software Deployment, Transition to

Operations, and Maintenance

Post Software Delivery Process

Software Implementation Process

Software Testing Process

Software Classification

Competencies

Page 40: Carol daniele

10/10 40

K13 Knowledge of spacecraft and aeronautics systems and architecture

K16 Knowledge of aerospace environment

K20a Knowledge of NASA policies and procedures

Q2 Knowledge of Impact of software on Modern Aerospace Systems

1. Foundations of Aerospace at NASA Course

Current NASA SWE DACUM Course Requirements

Color Code

Blue Updated wording

Yellow Original Wording

White Added

Page 41: Carol daniele

10/10 41

E7 Knowledge of monitoring contractor performance

F7 Participate in peer reviews/inspections

K1 Knowledge of software development life cycles/methodologies

K2 Knowledge of software engineering processes

K3a Knowledge of prototyping techniques

Kx1 Knowledge of software requirements development

K4 Knowledge of design technologies/tools (reinforced/amplified in SW Design course)

K5 Knowledge of user interfaces

K6 Knowledge of software testing techniques

K18 Knowledge of flight and ground systems (originally referred to as ‘embedded systems’)

Kx2 Knowledge of NASA Advanced Technology, Basic and Applied Research, and Institutional systems

K19 Knowledge of risk management (As applicable to software systems. Checklist of software risks, reading knowledge of NASA risk matrix, understanding of NASA continuous risk management process diagram, etc.) matrix, understanding of NASA continuous risk management process diagram, etc.)

K20b Knowledge of NASA engineering and software policies and procedures including the classification of software) ([2] a common thread throughout the curriculum is coverage of the related NPR 7150.2 requirements including 2210)

K21 Knowledge of Quality Management (QM) systems (originally referred to as ‘Knowledge of applicable ISO standards) (reinforced/amplified in SW 201, SW 301 and Software Process Improvement courses)

K23 DELETE SW process improvement (e.g. CMMI) (originally referred to as ‘CMMI’) (reinforced/amplified in SW Process Improvement course)

Ka industry SW standards and usage of SW standards at NASA Centers, including standards program description

Z01 Knowledge of acquisition processes

Z02 Knowledge of software assurance and IV&V

Z03 Knowledge of verification and validation Z04 Knowledge of formal review processZ05 Knowledge of configuration managementZ06 Knowledge of SW metrics (include uses and benefits of)Q1 Knowledge of Software Engineering Standards (replace K23)

Q3 Knowledge of Software System Architecture (intro)

Q4 Intro to Model Based DevelopmentQ5 Intro to User-Centered Design

Q6 Knowledge of Software implementation techniques/methodologies

Q7 Knowledge of estimation techniques

Q8 Knowledge of basic cyber-security

2. Software Engineering 101 (SWE 101) Course

Page 42: Carol daniele

10/10 42

Ax1 Define and validate ScopeAx2 Develop SW requirements (including derived SW requirements)Ax3 Manage requirements and maintain traceability([3] Note: Traceability is maintained throughout the SW lifecycle and a repeated theme throughout the curriculum.)

A1 Elicit requirementsA2 Develop software requirements from operations conceptA3 Analyze requirements and associated risksA4 Validate Requirements (ex.. prototype, simulation, inspection, etc.)A5 Identify verification methodsA6 Document interface requirementsA7 Document SW requirements (e.g. SRS [SW Requirement Specifications], system requirements, etc.)F13 Perform traceability (bidirectional)K17 Knowledge of how to write requirements

Z08 Participate in trade studiesZ09 Knowledge of SW Requirements toolsZ103 Knowledge of NPR 7150.2, NASA and Center Standards, and CMMI direction and guidance related to software requirements and managementZ111 How to monitor and control software requirement creep/volatility (moved from SW Estimations class)

Z123 Use of state machines and discrete logic to model requirementsQ14 Knowledge of value of IV&V during requirements developmentQ15 Knowledge of use case developmentQ16 Knowledge of Requirements PhasingQ17 Knowledge of Requirements Volatility Z115 Knowledge of value of SW related peer reviews/ inspections Z116 Peer reviews/ inspections process (e.g., planning, checklist, readiness & completion criteria, tracking actions, recording basic measurements, correction of problems, and follow up)Z117 Knowledge of peer reviews/ inspections roles and responsibilitiesZ118 Peer reviews/ inspections tailoring guidelinesZ124 Knowledge of NPR 7150.2, NASA Preferred Standards, and CMMI direction and guidance related to peer review/inspection direction and guidance related to peer review/inspection

3. Requirements Development and Management including Inspections Course

Page 43: Carol daniele

10/10 43

C1 Write code consistent with design specification

C2 Conduct unit tests

C3 Debug code

C4 Analyze code

C5 Inspect code

C6 Integrate SW components

C7 Integrate SW on to hardware platform

C8 Perform margin analysis

C9 Verify code meets coding and documentation standards

C10 Generate user documentation

C11 Generate ‘as built’ documentation

C12 Update design documents

C13 Generate version description document

Ca Configuration control of implementation products

Cb DELETE use of style guides in code development

Cc Create Executables

Cd Perform Design Traceability (bidirectional)

Ce Knowledge of Auto coding techniques and tools

Cf Knowledge of Code and Data Partitioning techniques

F18 Implement SW consistent with Cyber security design

Z10 Integrate with reused/modified SW, legacy SW, COTS, and open source

D8 DELETE Verify code by analysis

Z11 Knowledge of SW code development tools

Z104 Maintain/update data dictionary

Z105 Develop unit test plans and procedures

Z121 Knowledge of NPR 7150.2, NASA and Center Standards, and CMMI direction and guidance related to software implementation

Z204 Conduct performance testing

Z205 Optimize code

Q23 Include domain/environmental considerations

Q25 Knowledge of Debugging Strategies

Q45 Knowledge of Static Analysis Tools

4. Software Implementation Course

Page 44: Carol daniele

10/10 44

D1 Generate test documents (plans/procedures consistent with requirements)

D3 Develop test tools and simulations

D5 Test SW

D6 Generate problem reports

D7 Analyze test results

D8 Verify code by analysis (moved from Course 4)

D11 Support hardware/SW integration testing

Da Knowledge of SW’s role in system testing

Db Knowledge of hardware-in-the-loop testing of SW systems

Dc Perform End-to-end SW testing

F13 Perform traceability (bidirectional)

Kx Perform testing COTS, MOTS software and open source

Z12 Document test results

Z13 Knowledge of SW testing tools

Z120 Knowledge of NPR 7150.2, NASA Standards, and CMMI direction and guidance related to software design

Z202 Off nominal testing

Z203 Certification testing ([5] A theme throughout the set of courses includes the varying levels of rigor and techniques needed to develop and maintain SW up through human rated space systems.)

Q24 Knowledge of types of software testing

Q26 Validate software

Q27 Knowledge of test completion criteria

Q28 Accredit software testing tools

Q29 Develop test environment

Q30 Perform test reviews

5. Software Testing Course

Page 45: Carol daniele

10/10 45

Ax Requirements management (duplicate card, refresher from course #3)

B6 Perform trade analyses

D9 Knowledge of formal specifications, model checking, and formal verification (formal methods)

E8 Participate in technical audits

E9 Evaluate contract deliverables

F2 Collect and evaluate metric data

F5 Participate in SW change boards

F8 Conduct peer reviews/inspections

F9 Participate in formal reviews

F18 Perform cyber security design (duplicate card

G1 Identification of SW classifications (duplicate card)

G4 Generate planning documents (including life cycle planning )

G5 Plan Build Content

I1 In support of organization write proposals

K1 Knowledge of software development lifecycles (similar card; e.g. waterfall, incremental, spiral, agile)

K3 Knowledge of prototyping

K7 Knowledge of software planning process (cost estimate, WBS, earned value management, etc.)

K18a More in-depth knowledge of flight and ground systems (similar card)

K23 Additional knowledge of software process improvement (e.g. CMMI) (similar card, progression of knowledge from SW Engineering 101)

K25a Knowledge of computational modeling and simulations techniques

K32a Knowledge of estimation techniques (cost, scope, schedule …)

Z14 Monitoring contract performance

Z15 Integration of SW life cycles with system life cycles

Z16 Overview of SW development tools and equipment (including where NASA does trial studies and research on tools)

Z105 Knowledge of NPR 7150.2, NASA and Center Standards, NASA Preferred and Center Standards, and CMMI direction and guidance related to SE 201 topics

Z106 Generate teaming agreements including contractor teams ([6] Teaming/intergroup coordination should be a common thread throughout the curriculum.)

Z125 Plan for SW assurance activities

Z200 Knowledge of Intermediate NASA Advanced Technology, Basic and Applied Research, and Institutional systems

Q9 Testing techniques and tools review/refresher

Q10 CM Review/Refresher

Q11 Knowledge of Stakeholder Management

6. Software Engineering 201(SWE 201) Including Maintenance Course

Page 46: Carol daniele

10/10 46

D12 DELETE Deploy SW

F1 Maintain SW

F4 Manage change requests

F6 Manage problem reports

Z17 Knowledge of Reverse engineering tools and techniques

Z107 Deployment of SW and transition to operations (replaces D12)

DELETE G5 Plan build content

Z108 Knowledge of SW maintenance plans and procedures

Z109 Knowledge of NPR 7150.2, and Center Standards, and CMMI direction and guidance related to software maintenance

6. Software Engineering 201 (SWE 201) Including Maintenance

continued

Page 47: Carol daniele

10/10 47

F11 Perform configuration management

Z18 Data Management

Z19 CMMI Process Area for Configuration Management

Z20 NPR 7150.2, NASA and Center Preferred Standards direction and guidance related to SW configuration management

Z21 How to prepare a SW CM plan — activities, schedules, responsibilities, resources, tools

Z22 Selecting work products to control

Z23 Selecting appropriate levels of control — informal, semi-formal, formal

Z24 SCM requirements and activities performed by SW engineering and other groups

Z25 Defining check-in/check-out procedures

Z26 Developing organizational SW CM policies and procedures

Z27 Establishing and maintaining SW baselines

Z28 Establishing and maintaining a configuration management library system

Z29 Establishing and running a SW Configuration Control Board (SCCB)

Z30 Tracking and controlling changes to work product

Z31 Conducting SW CM audits - the unique CMMI requirements for PPQA and SW CM

Z32 Production, storage, update and retrieval of SCM reports and records

Z33 Selecting and using SCM tools

Z201 Collecting and analyzing configuration management metrics

Q31 Knowledge Of PDLM Tools with Respect to CM

Q40 Knowledge of Change Management

7. Software Configuration Management Course

Page 48: Carol daniele

10/10 48

B1 Select architecture

B2 Identify SW components

B3 Analyze data flow

B4 Analyze control flow

B5 Choose algorithm

B10 Design external interfaces (including user interfaces)

B11 Verify design

B12 Generate design documentation

Bx Identify Intermediate design technologies/tools (similar card)

C8 Perform margin analysis (duplicate card)

F13 Perform traceability (bidirectional)

F18 Perform Cyber security Design

Z34 Knowledge of Architectural SW design

Z35 Knowledge of Detailed SW design

Z36 Knowledge of SW system architectures

Z37 Knowledge of design patterns

Z38 Knowledge of SW design development tools

Z39 Knowledge of Object-Oriented Design

Z40 Knowledge of Architectural Design of Real-Time Software

Z120 Knowledge of NPR 7150.2, NASA Standards, and CMMI direction and guidance related to software testing

Z123 Use of state machines and discrete logic to model designs

Q18 Knowledge of Software Architecture Analysis Techniques

Q19 Conduct Formal Design Reviews

Q20 Knowledge of Software Safety Critical Design Techniques

Q21 Evaluate Legacy Systems

8. Software Design Course

Page 49: Carol daniele

10/10 49

Z40 Knowledge of Architectural Design of Real-Time Software (duplicate card)

Z41 Knowledge of Hardware and SW Co-design Techniques

Z41a Capability to design hardware and software

Z42 Fundamental Knowledge of Board Support Package Capabilities

Z43 Knowledge of Compiler, linkers design

Z44 Knowledge of Emulator design techniques

Z44a Ability to use emulator design techniques

Z45 Knowledge of Embedded SW design

Z45a Ability to test embedded design

Z45b Knowledge of embedded software testing techniques (including design for testing)

Z46 Defining and managing margins (by phase)

Z47 Knowledge of Real-time kernels

Z48 Knowledge of Operating systems and SW executives (including real time operating systems and COTS operating systems)

Z49 Capability to develop software drivers

Z50 Knowledge of Real time and embedded programming considerations and constructs

Z51 Knowledge of Microprocessors/Microcontrollers

Z52 Understanding Embedded Systems I/O

Z53 Knowledge of Digital Signal Processors

Z54 Knowledge of Data bus, interfaces, and protocols

Z55 Knowledge of and design considerations for the selection of Single Board Computers

9. Software For Embedded Systems Course

Page 50: Carol daniele

10/10 50

Z56 Knowledge of and design considerations and selection of FPGAs, ASICs (hardware logic devices)

Z56a Capability to conduct trade studies between software and hardware logic devices (FPGAs, ASICS)

Z57 Knowledge of Embedded system development tools

Z58 Knowledge of Hardware in the loop testing of Software systems (duplicate card)

Z58a Ability to perform hardware in the loop testing of software systems

Z59 DELETE End-to-end testing (duplicate card)

Z60 Ability to estimate and track memory size and through put

Z123 Knowledge of state machines and discrete logic

Z123a Ability to model embedded systems/subsystem

Z206 Knowledge of Debugging techniques

Z206a Ability to use Debugging techniques

Q50 Knowledge of Fault tolerance techniques for embedded software

Q51 Knowledge of fault tolerance management techniques for embedded software

Q52 Knowledge of design considerations for safety critical embedded software

Q53 Knowledge of Assurance Techniques for embedded software

Q54 Knowledge of physical security considerations and access controls for embedded systems

Q55 Knowledge of unique management considerations for the development of embedded software

Q56 Knowledge of Embedded Software Standards

Q57 Knowledge of the management of embedded software system development (acquisition)

9. Software For Embedded Systems (continued)

Page 51: Carol daniele

10/10 51

F14 Perform SW hazard analyses

F15 Perform SW safety analyses

F16 Perform SW FMEA (Failure Modes Effects Analysis)

F17 Perform SW reliability analyses

Z61 Knowledge of SW safety management and planning

Z62 Knowledge of SW assurance and IV&V

Z63 Knowledge of NASA Safety standard requirements and practices

Z64 Knowledge of Human rated and Mission Critical SW techniques

Z65 Knowledge of NASA SW best practices for SW safety and reliability

Z66 Perform Traceability to FMEAs, hazard analyses, safety analyses

Z110 Knowledge of NPRs, NASA Standards, and CMMI (e.g., PPQA) direction and guidance related to SW safety and reliability.

Q32 Knowledge of Fault tree analysis

Q33 Support Process and product quality audits

10. Software Engineering Assurance and Safety Course

Page 52: Carol daniele

10/10 52

Ax Requirements Management (duplicate card, refresher from course #3)

B7 Develop and execute acquisition strategy

B8 Identify SW development environment

B9 Certify SW development environment

D2 Identify test environment

D4 Certify test environment

F10 Conduct formal reviews (advanced tasks)

G1 Identification of SW classifications ([7] Note: NASA’s SW classification definitions are contained in NPR 7150.2. NASA criteria for determining whether SW is “safety critical” is contained in NASA-STD 8739.8))

G7 Manage SW engineering processes

G8 Manage SW resources (technical, human, budget)

G9 Manage SW schedules

G10 Monitor SW development progress

G11 Manage risks

H4 Develop team competencies

K31 Project management skills

Z67 Knowledge of SW Development/Management Planning

Z74 Using Metrics in project planning (duplicate card)

Z106 Generate and manage teaming agreements (duplicate card) (include Contractors on team)

Z207 Knowledge of NPR 7150.2, NASA and Center Core Standards, NASA Preferred Standards, and CMMI direction and guidance related to SE 301 topics

Q12 Taylor SWE Processes to Project (will replace G1 in SWE 301 eventually)

Q13 Manage Stakeholders

Q14 Knowledge of value of IV&V during requirements development (duplicate card

Q22 Manage intellectual property

Q31 Knowledge Of PDLM Tools with Respect to CM (duplicate card)

Q37 Collect and Submit Lessons Learned

Q38 Apply Past Lessons Learned

11. Software Engineering 301 (SWE 301) Course

Page 53: Carol daniele

10/10 53

G12 Analyze metrics

Z69 Identify measurement goals & objectives at all levels - projects through Agency

Z70 Identify metrics

Z71 Knowledge of the benefits of measurement

Z72 Knowledge of management issues and indicators

Z73 Knowledge of performance analysis

Z74 Knowledge of using metrics in project planning

Z75 Knowledge of analyzing earned value

Z76 Implementing project measures and coverage of CMMI unique guidance for Measurement Analysis

Z77 Identify key areas of concern and uses of measurement for project management

Z78 Define indicators based upon what a project manager would want to know

Z79 Use measurement to support decision making

Z80 Understand where measurement is used from the perspective of a generic management process (NPR 7150.2) and a reference model such as CMMI

Z81 use measurement data to communicate more clearly to all project stakeholders

Z82 Trending analysis (both within a given project and organizational for local, Center, & Agency needs)

Q34 Collect Metrics

12. Software and Process Metrics Course

Page 54: Carol daniele

10/10 54

G3 Estimate SW schedule

Gx Software size-estimation attributes (e.g. complexity)

Gy Throughput estimating

K32 SW estimation skills overview (cost, scope, schedule, etc.)

T9 SW cost estimation tools/methods

Z84 Defining Your Project Scope

Z85 Adjusting For the Environment

Z86 "What If" Modeling

Z87 Knowledge of Scheduling and Project Constraints

Z88 Project Risk and Sensitivity Analysis

Z89 Software Case Studies/Class Demonstrations

Z90 How to identify risks

Z91 How to identify, collect, and report on data that impacts SW estimates

Z111 DELETE How to monitor and control SW requirement creep and volatility

Z92 How to monitor and control project SW costs and schedule

Z93 Keys to successful implementation of a SW estimation and tracking strategy

Q35 Knowledge of how to use trades to ask for money

Q36 Identify resources

13. Software Estimations Course

Page 55: Carol daniele

10/10 55

G12 Analyze metrics (duplicate card)

I3 Maintain organizational assets (e.g. templates, metrics)

I4 Improve SW engineering processes (e.g. IDEAL Model, Information mapping, process change method, etc.)

K23 SW process improvement (using CMMI)

Z208 Perform SCAMPI-A/B/C appraisals

Z209 Perform Team Support related to CMMI

Q39 Knowledge of characteristics of a good process

14. Software Process Improvement Course

Page 56: Carol daniele

10/10 56

E2 Develop SW part of SOW for RFP and task orders

E3 Develop SW acquisition/contractor requirements for RFP

E4 Develop SW DRD (Data Requirements Document)/CDRL

E5 Develop proposal evaluation criteria

E6 Evaluate suppliers and proposals

E7 Monitor contractor performance (including insight and oversight, duplicate card)

E9 Evaluate contract deliverables (duplicate card)

E10 Accept product formally

Z94 Supporting the development of Concept of Operations

Z95 Develop CDRL (Contract Data Requirements List)

Z96 Define Metrics, Reviews, etc. for SW as part of a contractual RFP or task order for evaluation of products and processes

Z97 Define product specification standards

Z98 Define quality surveillance plan and define incentives

Z99 How to write a Request for Proposal to obtain the SW data needed to perform an independent estimate

Z100 How to structure Contract Line Item Numbers to obtain the data needed to track project progress and cost

Z112 Define and validate the scope of the acquisition

Z113 Identify some of the major problems, symptoms, and potential impacts encountered when acquiring SW-intensive systems and proven techniques to avoid them

Z114 Recovery methods when SW acquisition related problems challenge a project

Z122 NPR 7150.2, NASA Standards, and CMMI direction related to SW that needs to be rolled down to the contractor

Q41 Knowledge of FAR/Escrow as related to software Acquisition and Intellectual Property

Q42 Knowledge of general (NASA and Center) acquisition strategies for COTS software

Q43 Execute Performance Evaluation Plan

Q44 Knowledge of Alternate Acquisition Strategies

15. Software Acquisition Course

Page 57: Carol daniele

10/10 57

L1 Formal modeling to capture the logic and discrete mathematic elements of a system/subsystem

L2 Formal specifications

L3 Model checking

L4 Formal verification techniques

Q46 Knowledge of Tools and techniques for formal methods.

16. Formal Methods for Software Course

Page 58: Carol daniele

Final SWEET FrameworkIncludes CoursesIncludes On-The-Job TrainingIncludes Credit for Previous TrainingAllows for Substitution of other courses to

meet DACUM CoursesMay Use NSC SMA Technical Excellence

Program (STEP) as a Possible Template for Structure

10/10 58

Page 59: Carol daniele

STEP FrameworkOverall STEP Program Commitment

59

Estimated Hours per STEP LevelSTEP Training Elements Level 1 Level 2 Level 3 Level 4

Core Training 3 24 40 N/A

Discipline Training 18 100 137 137

Domain Training 4 40 TBD TBD

Total Academic Hours 25 164 177 (+TBD) 137 (+TBD)

On-the-Job Training N/A 200 400 400

Reference Material N/A varies varies varies

Years of work experience N/A 1y-3y 3y-5y 8y-10yComplete Enrichment Experience N/A Yes Yes Yes

Pass a Comprehensive Level Test N/A N/A Yes-Written N/A

Pass Peer Review Panel N/A N/A N/A Yes

Pass a Qualification Board N/A N/A Yes Yes

Continuing Education N/A 16 24 32