Carol daniele
Upcoming SlideShare
Loading in...5
×
 

Carol daniele

on

  • 13,577 views

 

Statistics

Views

Total Views
13,577
Views on SlideShare
13,577
Embed Views
0

Actions

Likes
1
Downloads
18
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Carol daniele Carol daniele Presentation Transcript

  • Carl J. Daniele Office of the Chief Engineer Training Coordinator Mark Goldman GSFC Senior Human Resources Development Specialist
  • Presentation Includes
    • Definition 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 NASA
      • Presentation Developed by Carl Daniele of Carl J. Daniele Consulting
    10/10
  • Mark Goldman, Senior Human Resources Development Specialist NASA/GSFC, Code 114 [email_address] 301-286-8852 DACUM Presented on February 22, 2012
    • An Acronym for D eveloping A C urricul UM
    • 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
  • 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/10
  • 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/10
  • 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/10
  • 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/10
  • 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/10
  • 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-Learning
    10/10
  • 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/10
  • Use of DACUM Process to Develop a Curriculum for Software Engineering at NASA
    • Carl J. Daniele Consulting
    • Carl J Daniele
    • Training Coordinator for the Office of the Chief Engineer
    • Contract through NASA Glenn Research Center
    • 8631 Ashwood Drive
    • Strongsville, Ohio 44149-1122
    • Phone: 440-238-8059
    • Cell: 440-476-7353
    10/10
  • NASA Software Engineering DACUM History 10/10 Date 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
  • 10/10 CURRENT DACUM ( Blue – word change; Yellow – no change ; White – added requirement; green - delete ) 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 Design 9. SW for Embedded Systems 10. SWE Assurance and Safety 11. SWE 301 12. SW & Process Metrics 13. SW Estimations 14. SW Process Improvement 15. SW Acquisition 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
  • 10/10 3. Requirements Development and Management including Inspections Ax1 Define and validate Scope Ax2 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 requirements A2 Develop software requirements from operations concept A3 Analyze requirements and associated risks A4 Validate Requirements (ex.. prototype, simulation, inspection, etc.) A5 Identify verification methods A6 Document interface requirements A7 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 studies Z09 Knowledge of SW Requirements tools Z103 Knowledge of NPR 7150.2, NASA and Center Standards, and CMMI direction and guidance related to software requirements and management Z111 How to monitor and control software requirement creep/volatility (moved from SW Estimations class) Z123 Use of state machines and discrete logic to model requirements Q14 Knowledge of value of IV&V during requirements development Q15 Knowledge of use case development Q16 Knowledge of Requirements Phasing Q17 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 responsibilities Z118 Peer reviews/ inspections tailoring guidelines Z124 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
  • 10/10 Comparison of SWEET to SWEBOK and IEEE 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 Discipline A1. Elicit Requirements Requirements Elicitation Eliciting requirements A2. Develop operations concept Requirements Process Requirements fundamentals A3. Analyze Requirements Requirements Analysis Requirements 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    
  • Curriculum Check
    • RESULTS – 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
  • 10/10 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
  • 10/10 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
  • NASA Centers Recommend Courses
    • Courses Requirements from the DACUM will be divided between the NASA Centers
    • Centers Review existing Courses (Commercial, APPEL, National Safety Center(NSC) Safety Technical Excellence Program (STEP), SATERN, etc.)
    • Centers Provide Recommendations to OCE
    • OCE makes a “Make-Buy” Decision
    10/10
  • Proposed Schedule for Course Development
    • Program will be called Software Engineering Technical Excellence Training (SWEET)
    • SWE 101 available by 9/30/2012
    • Foundations 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
  • BACKUP – Mark Goldman
  • 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/10
  • 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/10
  •  
  • 10/10
  • 10/10 The NASA Software Engineer develops, acquires, manages, maintains and researches software systems using disciplined, quantifiable, systematic approaches.
  • 10/10 NASA SWE TASKS 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 interfaces Verify design Generate design documentation C1 C2 C3 C4 C5 C6 C7 C8 C9 C10 C11 C. Implement Software Write code Conduct unit tests Debug 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 software Generate problem reports Analyze test results Verify code by analysis Perform 'proof of correctness' (formal methods) Document verification results Support hardware/software integration testing Deploy software
  • 10/10 NASA SWE TASKS E1 E2 E3 E4 E5 E6 E7 E8 E9 E10   E E. Acquire Software ( ADV .) Interact with Procurement ( 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 F F. 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         H H. 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 interpersonal conflicts
  • 10/10 NASA SWE TASKS I1 I2 I3 I4               I. Support Organization Write proposals in response to RFPs Set up labs Maintain organizational assets (e.g. templates, metrics) Improve software engineering processes               J1 J2 J3 J4 J5 J6 J7 J8 J9 J10 J11 J. Continue Professional Development Participate in professional organizations 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  
  • 10/10
  • 10/10 Baseline 5.6 NASA Software Engineering DACUM Course coverage ( Green fully ; Orange partially ; Red little ) Early Career Courses Mid-Career Courses Later Career Course           0. Courses Outside OCE 1. Intro Aerospace 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 Metrics 13. SW Estimations 14. SW Process Improvement 15. SW Acquisition 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
  • 10/10 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 Flow Software 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 concepts B7. 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    
  • Use the Course/Competency Matrix (horizontal)
  • 2. Software Acquisition                                   2A. Acquisition Processes, Contract Management and contractor performance   ●         ●                 ●  
  • 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   ● ●   ●   ●   ●               ●
  • 4. Software Engineering Management                                   4A. Software Engineering Planning and Management             ●         ● ● ●       4B. Software Metrics   ●   ●     ● ●         ●   ● ●   4C. Risk Management   ●                   ●   ●       4D. Software Estimation             ●             ●       4E. Requirements Management     ●       ●         ●          
  • mm m Software Engineering Competencies Software Acquisition Software Engineering Management Acquisition Processes, Contract Management and Contractor Performance Software Engineering Planning and management Software Estimation Risk Management Software Metrics Requirements Management Software Safety and Reliability Software Assurance Information Technology Security Operational Concept Software Product Requirements Development State machines and Discrete Logic for Modeling Software Design Embedded Systems Software Implementation Software Testing Techniques and Environments Verification and Validation Software Engineering Processes and Process Improvement Formal Modeling and Validation Configuration and Change Control Software Assurance Processes Software Requirements Development Process Peer Reviews/Inspections Software Product Improvement Processes Software Engineering Tools and Equipment Software Design Process 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
  • 10/10 1. Foundations of Aerospace at NASA Course Current NASA SWE DACUM Course Requirements 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 Color Code Blue Updated wording Yellow Original Wording White Added
  • 10/10 2. Software Engineering 101 (SWE 101) Course 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 process Z05 Knowledge of configuration management Z06 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 Development Q5 Intro to User-Centered Design Q6 Knowledge of Software implementation techniques/methodologies Q7 Knowledge of estimation techniques Q8 Knowledge of basic cyber-security
  • 10/10 3. Requirements Development and Management including Inspections Course Ax1 Define and validate Scope Ax2 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 requirements A2 Develop software requirements from operations concept A3 Analyze requirements and associated risks A4 Validate Requirements (ex.. prototype, simulation, inspection, etc.) A5 Identify verification methods A6 Document interface requirements A7 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 studies Z09 Knowledge of SW Requirements tools Z103 Knowledge of NPR 7150.2, NASA and Center Standards, and CMMI direction and guidance related to software requirements and management Z111 How to monitor and control software requirement creep/volatility (moved from SW Estimations class) Z123 Use of state machines and discrete logic to model requirements Q14 Knowledge of value of IV&V during requirements development Q15 Knowledge of use case development Q16 Knowledge of Requirements Phasing Q17 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 responsibilities Z118 Peer reviews/ inspections tailoring guidelines Z124 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
  • 10/10 4. Software Implementation Course 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
  • 10/10 5. Software Testing Course 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
  • 10/10 6. Software Engineering 201(SWE 201) Including Maintenance Course 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
  • 10/10 6. Software Engineering 201 (SWE 201) Including Maintenance continued 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
  • 10/10 7. Software Configuration Management Course 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
  • 10/10 8. Software Design Course 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
  • 10/10 9. Software For Embedded Systems Course 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
  • 10/10 9. Software For Embedded Systems (continued) 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)
  • 10/10 10. Software Engineering Assurance and Safety Course 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/10 11. Software Engineering 301 (SWE 301) Course 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
  • 10/10 12. Software and Process Metrics Course 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 U se 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
  • 10/10 13. Software Estimations Course 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
  • 10/10 14. Software Process Improvement Course 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
  • 10/10 15. Software Acquisition Course 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
  • 10/10 16. Formal Methods for Software Course 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.
  • Final SWEET Framework
    • Includes Courses
    • Includes On-The-Job Training
    • Includes Credit for Previous Training
    • Allows for Substitution of other courses to meet DACUM Courses
    • May Use NSC SMA Technical Excellence Program (STEP) as a Possible Template for Structure
    10/10
  • STEP Framework Overall STEP Program Commitment Estimated Hours per STEP Level STEP 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-10y Complete 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