Академический Документы
Профессиональный Документы
Культура Документы
2 Model(SWECOM)
3 Contents
4 1. Introduction
5 2. SWECOM and the US IT Competency Model
6 3. The Elements of SWECOM
7 4. SWECOM Technical Skills
8 5. SWECOM Competency Levels
9 6. Employer and Individual Gap Analysis
10 7. SWECOM Validation
11 8. Acknowledgements
12 9. References
13 10. Glossary of Terms
14 11. Software Requirements Skill Area
15 12. Software Design Skill Area
16 13. Software Construction Skill Area
17 14. Software Testing Skill Area
18 15. Software Sustainment Skill Area
19 16. Software Process and Life Cycle Skill Area
20 17. Software Systems Engineering Skill Area
21 18. Software Quality Skill Area
22 19. Software Security Skill Area
23 20. Software Safety Skill Area
24 21. Software Configuration Management Skill Area
25 22. Software Measurement Skill Area
26 23. Human-Computer Interaction Skill Area
27 24. Appendix A: Contributors
28 25. Appendix B: SWECOM Intended Audiences
29 26. Appendix C: SWECOM Use Cases
30 27. Appendix D: Gap Analysis Worksheets
31
SWECOM 1 IEEE 2014
32 ASoftwareEngineeringCompetency
33 Model(SWECOM)
34 Abstract
35 This software engineering competency model (SWECOM) describes competencies for software
36 engineers who participate in development of and modifications to software-intensive systems.
37 Skill areas, skills within skill areas, and work activities for each skill are specified. Activities are
38 specified at five levels of increasing competency. Case studies of how the SWECOM model can
39 be used by a manager, an employee, a new hire, or a curriculum designer are provided. Staffing
40 Gap Analysis and Individual Gap Analysis worksheets are included in an appendix.
41 1.Introduction
42 A competent person has the skills needed to perform, at a given level of competency, the work
43 activities assigned to her or him. Knowledge in this competency model is contrasted to skill:
44 knowledge is what one knows; skill is what one can do. This document presents a competency
45 model for use by those who develop software, their managers, human-resource personnel,
46 curriculum designers, and others listed in Appendix B of this document. An individual who
47 develops or maintains software might use this competency model to assess his or her current
48 competency levels for various software engineering activities or to develop a plan for improving
49 her or his competencies (e.g., requirements elicitation, design synthesis, software construction,
50 test planning). A manager (project, functional, or line manager) might use this competency
51 model to inventory staff skills and identify areas for needed additions and improvements. In
52 addition, a manager might use this model to counsel individual employees. Also, HR personnel
53 might use the model to identify needed training and recruitment activities. Each activity in this
54 competency model is described at five levels of competency.
55 Skill areas in this competency model include skills that are decomposed into activities, rather
56 than job roles, because job roles are typically dependent on the organizational environment in
57 which the work activities occur. The activities in this model can be grouped into job roles by
58 organizations, organizational units, and projects to satisfy their needs.
59 This competency model is termed the Software Engineering Competency Model (SWECOM). It
60 has been validated by invited reviews from subject matter reviewers and reviews from interested
61 public reviewers. Subsequent revisions have been made in response to those reviews. The
62 contributors to development of SWECOM are listed in Appendix A.
63 Appendix B lists the intended audience for SWECOM. Appendix C includes use cases to
64 indicate how managers, employees, and new hires might find SWECOM to be useful. Appendix
96 2.SWECOMandtheUSITCompetencyModel
97 SWECOM includes elements similar to those in the US Department of Labor Information
98 Technology Competency Model (US IT) that was developed to identify the knowledge, skills,
1
Information technology is broadly interpreted in the US IT competency model.
118 3.TheElementsofSWECOM
119 The elements of SWECOM are illustrated in Figure 1. Cognitive Skills and Behavioral Attributes
120 and Skills are described below. These foundations are not unique to SWECOM but were
121 developed for SWECOM as necessary for effective performance of software engineering
122 technical activities. Requisite knowledge is the intellectual basis for the software engineering
123 profession. The references listed above, those cited in the references section, and those in the
124 consolidated reference list in the SWEBOK Guide (www.swebok.org, Appendix C) characterize
125 requisite knowledge.
Cognitive Behavioral
Skills Attributes and Skills
Technical
Skills
Requisite Related
Knowledge Disciplines
126
127 Figure 1. The Elements of SWECOM
128 Related disciplines include but are not limited to:
129 Computer Engineering,
130 Computer Science,
131 General Management,
165 4.SWECOMTechnicalSkills
166 Technical skills and associated activities are the primary focus of SWECOM; they are grouped
167 as Life Cycle Skill Areas and Crosscutting Skill Areas. A Life Cycle Skill Area is one that
168 includes skills needed to accomplish various work activities within a phase of software
169 development or sustainment; for example, software requirements engineering. Life cycle skill
170 areas are categorized by typical phases of software development and modification. In practice,
171 software phases are often intermixed, interleaved, and iterated in various ways; however, no
172 implication of development processes (e.g., waterfall versus agile) is intended.
173 A Crosscutting Skill Area is one that applies across all Life Cycle Skill Areas (e.g., quality
174 assurance); crosscutting skills are applied as appropriate to each life cycle skill area, and in some
175 cases to other crosscutting skill areas, for each software project. In addition to cutting across life
176 cycle skill areas, crosscutting skill areas are sometimes called specialty disciplines that are
177 practiced by specialists in those skill areas (e.g., safety, security, systems engineering). Software
178 engineers at all competency levels typically have some working knowledge of the crosscutting
179 skill areas.
180 The five life cycle skill areas and eight crosscutting skill areas of SWECOM are listed in Tables
181 4 and 5, respectively. The references cited in the tables are in the references section of this
182 document; they provide the knowledge foundations for each skill area.
183 Table 4. Software Engineering Life Cycle Skill Areas and Skills
Life Cycle Skill Areas Skills
Software Requirements Skills Software Requirements Elicitation
Software Requirements Analysis
References: Software Requirements Specification
[ACM 2004] Software Requirements Verification
192 5.SWECOMCompetencyLevels
193 SWECOM is organized by skill area (e.g., Software Requirements), skills within skill areas (e.g.,
194 software requirements elicitation), and activities within skills (e.g., prototyping to elicit
195 requirements). Activities are specified at five levels of competency:
196 Technician
197 Entry Level Practitioner
198 Practitioner
199 Technical Leader
200 Senior Software Engineer
201 In general, a Technician follows instructions, an Entry Level Practitioner assists in performance
202 of an activity or performs an activity with supervision; a Practitioner performs activities with
203 little or no supervision; a Technical Leader leads individuals and teams in the performance of
204 activities; and a Senior Software Engineer modifies existing methods and tools, and creates new
205 ones. Some organizations may choose to merge the Technician and Entry Level Practitioner
2
Knowledge equivalence might be gained by a combination of education, mentoring, training, and on-the-job
experience.
3
Relevant experience is the experience needed to acquire ability, at a given level of competency, for a SWECOM
skill area, skill, or activity.
284 6.EmployerandIndividualGapAnalysis
285 Appendix D includes two worksheets similar to those in the Department of Labor Information
286 Technology Competency Model cited above [INFOCOMP 2012]. The first spreadsheet
287 (SWECOM Staffing Gap Analysis Worksheet) is for use by managers, human resources
288 personnel, and others who analyze available and needed skills within an organizational unit.
289 The second spreadsheet (SWECOM Individual Gap Analysis) is for use by an individual who
290 desires to assess his or her levels of competency for different skills and activities at different
291 competency levels. An individual can use the spreadsheet for self-assessment, or an individual
292 and a manager can use it as a basis for developing a plan of improvement; the improvement plan
293 might include future work assignments, mentoring, and/or additional education and training.
334 8.Acknowledgements
335 Appendix A lists the individuals who developed this competency model, the subject matter
336 expert reviewers, the public reviewers, and those who were interviewed.
337 9.References
338 [Abran 2010] Alain Abran, Software Metrics and Software Metrology, Wiley-IEEE Computer
339 Society Press, 2010.
340 [ACM 2004] ACM/IEEE-CS Joint Task Force on Computing Curricula, Software Engineering
341 2004, Curriculum Guidelines for Undergraduate Degree Programs in Software Engineering,
342 Aug. 2004; www.acm.org/education/curricula.html.
343 [Aiello 2010] Bob Aielloand Leslie Sach, Configuration Management Best Practices: Practical
344 Methods that Work in the Real World, Addison-Wesley Professional, 2010.
345 [Allen 2008] Julia Allen et al., Software Security Engineering: A Guide for Project Managers,
346 Addison-Wesley Professional, 2008.
347 [Babich 1986] Wayne A. Babich, Software Configuration Management: Coordination for Team
348 Productivity, Addison-Wesley, 1986.
349 [BITS 2012] BITS Software Assurance Framework, Financial Services Roundtable, 2012;
350 www.bits.org/publications/security/BITSSoftwareAssurance0112.pdf.
351 [Bozzano 2010] Marco Bozzano and Adolfo Villafiorita, Design and Safety Assessment of
352 Critical Systems, CRC Press, 2010.
353 [Buxton 2007] Bill Buxton, Sketching User Experiences: Getting the Design Right and the Right
354 Design, Morgan Kaufmann Publishers, 2007.
355 [CMMI 2014] Capability Maturity Model Integrated, CMMI Institute, 2014;
356 http://cmmiinstitute.com.
357 [Fowler 1999] M. Fowler et al., Refactoring: Improving the Design of Existing Code, Addison-
358 Wesley, 1999.
359 [Hilburn 2013] Thomas Hilburn et al., Software Assurance Competency Model, Technical Note
360 CMU/SEI-2013-TN-004, Software Engineering Institute, Mar. 2013;
361 http://resources.sei.cmu.edu/library/asset-view.cfm?assetID=47953.
362 [Hunt 1999] A. Hunt and D. Thomas, The Pragmatic Programmer: From Journeyman to
363 Master, Addison-Wesley, 1999.
482 References
483 [ACM 2004] ACM/IEEE-CS Joint Task Force on Computing Curricula, Software Engineering
484 2004, Curriculum Guidelines for Undergraduate Degree Programs in Software Engineering,
485 Aug. 2004; www.acm.org/education/curricula.html.
486 [Laplante 2009] Phillip A. Laplante, Requirements Engineering for Software and Systems, 2nd
487 ed., CRC Press, 2009.
488 [Robertson 2012] Suzanne Robertson and James C. Robertson, Mastering the Requirements
489 Process: Getting Requirements Right, 3rd ed., Addison-Wesley Professional, 2012.
490 [SWEBOK 2014] P. Bourque and R.E. Fairley, eds., Guide to the Software Engineering Body of
491 Knowledge, Version 3.0, IEEE Computer Society Press, 2014; www.swebok.org.
492 [Wiegers 2013] Karl E. Wiegers and Joy Beatty, Software Requirements, 3rd ed., Microsoft
493 Press, 2013.
Table A11
Software Requirements Engineering Software Requirements Engineering Activities
Skill Sets
Software Requirements Elicitation Identifies stakeholders for elicitation of requirements
Engages stakeholders in elicitation of requirements
Uses appropriate methods to capture requirements
Negotiates conflicts among stakeholders during elicitation
Software Requirements Analysis Uses appropriate domain analysis techniques.
Performs analysis of requirements for feasibility and emergent
properties.
Software Requirements Specification Uses appropriate notations for describing requirements.
Software Requirements Verification Checks requirements for accuracy, lack of ambiguity, completeness,
and Validation consistency, traceability and other desired attributes.
Constructs and analyzes prototypes
Negotiates conflicts among stakeholders during verification
Software Requirements Process and Uses appropriate methods for management of requirements, including
Product Management configuration management
494
495
Table B11
SSE Competency Software Requirements Engineering Skills Matrix
Levels Senior Software
Technician Entry Level Practitioner Technical Leader
Skill Sets Engineer
Software 1. Identifies
Requirements important
Elicitation stakeholders (P/L)
1. Assists in 2. Engages different
engaging stakeholders in
different determining needs
stakeholders in and requirements
determining (P)
needs and
requirements (A)
3. Applies different
methods as
appropriate to the
project to elicit
requirements (P)
1. Assists 2. Assists in 4. Assists in 1. Selects 1. Creates new
requirements applying negotiating conflicts appropriate ways to engage and
engineers with different between methods to engage communicate with
preparation of methods as stakeholders in and communicate stakeholders,
surveys and appropriate to requirements with stakeholders management team
other elicitation the project to elicitation (A) in requirements and developers in
instruments elicit activities (L) requirements
(F/A) requirements (A) activities (C)
2. Negotiates
conflicts between
stakeholders in
requirements
elicitation (P/L)
Software 1. Assists in 1. Selects the most 1. Leads 1. Creates new
Requirements domain analysis appropriate domain identification of domain analysis
Analysis (A) analysis methods emergent methods (C)
(P/L) properties and
requirements
throughout the
software
development
lifecycle (P)
2. Identifies
emergent properties
and requirements
throughout the
software
development
lifecycle (P)
Software 1. Assists with 1. Prepares 1. Selects the most 1. Leads 1. Creates new
Requirements preparation of requirements appropriate formal development of the requirements
Specification requirements for documentation and informal SRS (L) specification
consistency with including notations for methods (C)
internal and descriptions of describing interfaces
published interfaces and and functional and
standards (F/A) functional and nonfunctional
nonfunctional requirements (P/L)
requirements (P)
2. Selects the most
appropriate formal
and informal
notations for
describing
interfaces and
functional and
nonfunctional
requirements (L)
Software 1. Reviews 1. Reviews 1. Selects the most 1. Creates new
Requirements specifications of specifications of appropriate formal requirements
Verification requirements for requirements for and informal validation and
and errors and errors and omissions requirements verification
Validation omissions (P) (L) validation and techniques (C)
verification
techniques (L)
2. Assists in 2. Creates
prototype prototypes of
construction and different types as
testing (F/A) needed (P)
3. Assists in 2. Negotiates
negotiating conflicts conflicts between
between stakeholders in
stakeholders in requirements
497
498
505 References
506 [IEEE 1016-2009] IEEE Std. 1016-2009, IEEE Standard for Information Technology-Systems
507 DesignSoftware Design Descriptions, IEEE, 2009.
508 [IEEE 12207-2008] IEEE Std. 12207-2008, IEEE Standard for Systems and Software
509 EngineeringSoftware Life Cycle Processes, IEEE, 2008.
510 [IEEE 15528-2008] IEEE Std. 15528-2008, IEEE Standard for Systems and Software
511 EngineeringSystem Life Cycle Processes, IEEE, 2008.
512 [SWEBOK 2014] P. Bourque and R.E. Fairley, eds., Guide to the Software Engineering Body of
513 Knowledge, Version 3.0, IEEE Computer Society Press, 2014; www.swebok.org.
Table A12
Software Design Skill Sets Software Design Activities
Software Design Fundamentals Employ enabling techniques (e.g., abstraction, coupling/cohesion,
information hiding, etc.) in software design.
Apply exception handling and fault tolerance techniques in software
design.
Use restructuring and refactoring methods in software design.
Apply, as appropriate, design techniques in the areas of concurrency,
event handling, data persistence, or distributed software.
Software Design Strategies and Determine the process and strategy to be used in software design
Methods (e.g., top-down or bottom-up, stepwise refinement, use of patterns
and pattern languages, iterative and incremental processes, etc.).
Select and apply the appropriate design methodology (e.g., a
structural or an object-oriented approach)
Consider design alternatives and perform trade-off analysis
Manage software design activities.
Software Architectural Design Use architectural styles, views, models, and architectural patterns to
specify the high-level organization of a software system
Specify the component interfaces
Design software components and modules using models, design
patterns, notations, and diagramming techniques.
Software Design Quality Analysis and Utilize software design reviews.
Evaluation Perform static analysis tasks to evaluate design quality.
Develop and use simulation and prototypes to evaluate software
design quality.
Manage requirements change.
514
Software 1. Assists 1. Assists in the 1. Applies enabling 1. Evaluates the 1. Analyzes and
Design software application of techniques (e.g., effectiveness of the makes
Fundamentals designers with enabling abstraction, application of recommendations
tools and techniques in the coupling/cohesion, software design related to
techniques for design of information hiding, enabling organization-wide
gathering software etc.) to the design of techniques. (P/L) application of
information components and software software design
about application modules. (A) components and fundamentals. (M)
and use of modules. (P)
software design
fundamentals.
(F/A)
2. Assists in the 2. As appropriate in 2. Provides
application of the domain of direction and
design application, applies advice on methods
techniques in the appropriate design and techniques to
areas of techniques in the be used in the areas
concurrency, areas of of concurrency,
event handling, concurrency, event event handling, or
data persistence, handling, data distributed
or distributed persistence, or software. (L)
software. (A) distributed software.
(P)
3. Assists in the 3. Applies exception
application of handling and fault
exception tolerance techniques
handling and in the design of
fault tolerance software
techniques in the components and
design of modules. (P)
software
components and
modules. (A)
4. Assists in the 4. Uses restructuring
use of and refactoring
restructuring and methods in the
refactoring design of software
methods in the components and
design of modules. (P)
software
components and
modules. (A)
Software 1. Provides 1. Assists in the 1. Applies the 1. Determines the 1. Examines and
Design assistance in the application of the designated software process and assesses the
Strategies and installation and designated design strategy and strategy to be used effectiveness,
Methods use of tools software design methodology to in software design, across an
appropriate for a strategy and create a software at the project level organization, of the
projects methodology to design (e.g., an (e.g., top-down or application of
designated create a software incremental object- bottom-up, software design
design strategy design (e.g., an oriented approach). stepwise strategies and
and incremental (P) refinement, , use of methods. (M)
methodology object-oriented patterns and pattern
(e.g., an approach). (A/P) languages, iterative
incremental and incremental
object-oriented processes, etc.) (L)
approach) (F/A)
2. Selects the 2. Analyzes and
appropriate design makes
methodology (e.g., recommendations
object-oriented, related to
function-oriented, organization-wide
component-based) software design
and strategies to be strategies and
used at the project methodologies.
level. (L) (M)
3. Provides
guidance and
advice on the use
of software design
strategies and
methods. (L)
4. Evaluates the 2. Creates new
effectiveness of the techniques
application of the evaluating software
selected software design quality. (M)
design
methodology. (P/L)
2. Determines
design alternatives
and performs trade-
off analysis.
Software 1. Provides 1. Assists in 1. Applies standard 1. Provides 1. Analyzes and
Architectural assistance in the architectural notations, direction and makes
Design installation and design tasks diagramming advice on standard recommendations
use of software associated with techniques, models, notations, related to
architecture use of standard and patterns (e.g., diagramming organization-wide
tools. (F/A) notations, architectural styles, techniques, models software
diagramming structural and and patterns to be architectural
techniques, behavioral models, applied. (L) design. (M)
models and GoF patterns
patterns. (A) Structured Systems
Design models, and
UML)to model the
high-level
organization of a
software system.
(P/L)
2. Applies a 2. Creates multiple 2. Evaluates the 2. Determines new
selected software views of the effectiveness of the methods and
design pattern to software system. creation of techniques to be
the design of a (P/L) software used in
software architecture. (P/L) architectural
component or design. (M)
module. (A/P)
3. Uses design
patterns and
frameworks to
design mid-level
software
components or
modules. (P)
Software 1. Assists 1. Participates in 1. Facilitates 1. Selects the 1. Analyzes and
Design software software design software design appropriate tools makes
Quality designers with reviews. (P) reviews (P/L) and techniques recommendations
Analysis and tools and (e.g., design related to
Evaluation techniques for reviews, static organization-wide
collecting design analysis, design quality
metrics and simulation and evaluation and
evaluating prototyping, design analysis
software design metrics) to ensure a techniques. (M)
quality. (F/A) software designs
quality. (L)
517
518
525 References
526 [ACM 2004] ACM/IEEE-CS Joint Task Force on Computing Curricula, Software Engineering
527 2004, Curriculum Guidelines for Undergraduate Degree Programs in Software Engineering,
528 August 2004; www.acm.org/education/curricula.html.
529 [Fowler 1999] M. Fowler et al., Refactoring: Improving the Design of Existing Code, Addison-
530 Wesley, 1999.
531 [Hunt 1999] A. Hunt and D. Thomas, The Pragmatic Programmer: From Journeyman to
532 Master, Addison-Wesley, 1999.
533 [McConnell 2004] S. McConnell, Code Complete, 2nd ed., Microsoft Press, 2004.
534 [SWEBOK 2014] P. Bourque and R.E. Fairley, eds., Guide to the Software Engineering Body of
535 Knowledge, Version 3.0, IEEE Computer Society Press, 2014; www.swebok.org.
Table A13
Software Construction Skill Sets Software Construction Activities
Software Construction Planning Select appropriate processes and models for constructing software,
including appropriate reuse processes
Select appropriate languages and tools for software construction
Select appropriate frameworks, platforms and environments
Managing Software Construction Establish and follow project standards for version control and
configuration management
Collect and monitor standard measures of code quality and size
Detailed Design and Coding Create detailed designs that minimize complexity and enhance quality
Create code to implement detailed designs
Refactor code when needed
Establish and follow standards for designs and code
Use appropriate design patterns
Use defensive coding techniques to minimize propagation of errors
and threats
Documents code through comments to support software maintenance
Debugging and Testing Use appropriate tools and techniques for debugging
Create and execute unit tests for all delivered code
Achieve test coverage goals
Integrating and Collaborating Establish and follow integration strategy and processes
Table B13
Software Construction Skill Sets and Activities by Competency Level
Levels Senior Software
Technician Entry Level Practitioner Technical Leader
Skill Sets Engineer
informal
reviews) (P)
4. Participates in 4. Creates new
project defined code review and
reviews and inspection methods
inspections (P) (C)
539
550 References
551 [IEEE 730-2002] IEEE Std. 730-2002, IEEE Standard for Software Quality Assurance Plans,
552 IEEE, 2002.
553 [IEEE 829-1998] IEEE Std. 829-1998, IEEE Standard for Software Test Documentation, IEEE,
554 1998.
555 [IEEE 1012-2012] IEEE Std. 1012-2012, IEEE Standard for System and Software Verification
556 and Validation, IEEE, 2012.
557 [SWEBOK 2014] P. Bourque and R.E. Fairley, eds., Guide to the Software Engineering Body of
558 Knowledge, Version 3.0, IEEE Computer Society Press, 2014; www.swebok.org.
559 [Myers 2011] Glenford J. Myers, The Art of Software Testing, 3rd ed., Wiley, 2011.
Table A14
Software Testing Skill Sets Software Testing Activities
Software Testing Planning Identify all stakeholders involved in software testing
Identify success and failure criteria
Identify test completion criteria
Design and implement the software test plan
Identify and coordinate customer representatives and other
stakeholders participating in the software acceptance and/or
demonstration
Software Testing Infrastructure Identify tools to be used throughout testing activities
Identify appropriate documentation to be generated and archived
Design/select and implement the test environment
Software Testing Techniques Identify test objectives
Select appropriate testing/demonstration techniques
Design, implement, and execute test cases
Software Testing Measurement & Identify, collect, and store appropriate data resulting from
Defect Tracking testing/demonstration
(P)
8. Establish criteria
for regression,
testing such as
defect density, etc.
(P/L)
Software 1. Set up the 1. Select 1. Define the 1. Identify testing 1. Identify
Testing necessary test appropriate unit necessary set up for tools and test data organizational
Infrastructure and test techniques testing and warehousing across testing tools and
demonstration demonstration. (P/L) projects (P) data warehousing
environment (P) across project (L)
2. Install the 2. Select the 2. Identify the 2. Create new test
necessary tools most appropriate appropriate documentation
(P) testing tools (P) documentations (i.e., test plan,
necessary for the defect recording,
testing activities (P) etc.) (L/P)
3. Develop the 3. Design and 3. Design the test
appropriate implement the environment (L/P)
infrastructure for test environment
data warehousing (P)
(P)
Software 1. Perform 1. Design and 1. Specify 1. Design System 1. Create new
Testing manual test execute unit test appropriate test test plan and test testing (i.e., unit,
Techniques activities (i.e., cases (P) cases for the cases (L) integration, stress,
data entry, test selected testing etc.) techniques.
case execution, technique (L/P) (C)
etc.) (P)
2. Execute 2. Assist with the 2. Identify
regression development of automated testing
testing. (P) the test cases (P) opportunities (L/P)
3. During 3. Execute
demonstration, integration and
monitor system test cases
customer use, (P)
and record
customer
feedback for
product
improvement (A)
4. Ensure the 4. Execute test
569
570
595 References
596 [IEEE 12207-2008] IEEE Std. 12207-2008, IEEE Standard for Systems and Software
597 EngineeringSoftware Life Cycle Processes, IEEE, 2008.
598 [IEEE/ISO/IEC 24765-2010] IEEE/ISO/IEC 24765:2010 Systems and Software Engineering
599 Vocabulary, IEEE, 2010.
600 [Lapham 2006] M. Lapham and C. Woody, Sustaining Software-Intensive Systems, CMU/SEI-
601 2006-TN-007, Software Engineering Institute, 2006; http://resources.sei.cmu.edu/library/asset-
602 view.cfm?assetID=7865.
603 [SWEBOK 2014] P. Bourque and R.E. Fairley, eds., Guide to the Software Engineering Body of
604 Knowledge, Version 3.0, IEEE Computer Society Press, 2014; www.swebok.org.
605
606
Table B15
Sustainment Skill Sets and Activities by Competency Levels
Levels Organizational
Technician Entry Level Practitioner Technical Leader
Skill Sets Leader
Table B15
Sustainment Skill Sets and Activities by Competency Levels
Levels Organizational
Technician Entry Level Practitioner Technical Leader
Skill Sets Leader
Table B15
Sustainment Skill Sets and Activities by Competency Levels
Levels Organizational
Technician Entry Level Practitioner Technical Leader
Skill Sets Leader
determining the
impacts of
software
changes on the
operational
environment
(C)
5. Modifies
existing and
develops new
system
acceptance
methods, tools,
and techniques
(C)
Operations 1. Operates 1. Performs 1. Develops 1. Approves 1. Modifies
operational operational operational software operational existing and
software software configuration software creates new
configuration configuration management plans configuration standards and
management management (L) management frameworks for
tools (A) (P) plans (L) operational
software
configuration
management
(C)
2. Follows 2. Performs 2. Leads operational 2. Develops
instructions to operational software assurance software
perform software activities (L) assurance plans
operational assurance (P) (L)
software
assurance tasks
(F)
3. Installs COTS 3. Maintains 3. Leads
and other currency of maintenance of
software updates COTS and currency of COTS
(P) other software and other software
(P) technologies (L)
4. Diagnoses and 4. Leads 4. Develops 3. Creates
Table B15
Sustainment Skill Sets and Activities by Competency Levels
Levels Organizational
Technician Entry Level Practitioner Technical Leader
Skill Sets Leader
Table B15
Sustainment Skill Sets and Activities by Competency Levels
Levels Organizational
Technician Entry Level Practitioner Technical Leader
Skill Sets Leader
607
608
622 References
623 [IEEE 12207-2008] IEEE Std. 12207-2008, IEEE Standard for Systems and Software
624 EngineeringSoftware Life Cycle Processes, IEEE, 2008.
625 [IEEE 15528-2008] IEEE Std. 15528-2008, IEEE Standard for Systems and Software
626 EngineeringSystem Life Cycle Processes, IEEE, 2008.
627 [SWEBOK 2014] P. Bourque and R.E. Fairley, eds., Guide to the Software Engineering Body of
628 Knowledge, Version 3.0, IEEE Computer Society Press, 2014; www.swebok.org.
629
630
Software 1. Provides 1. Carries out 1. Leads a small 1. Selects a life- 1. Determines the
Development assistance in the process team in execution of cycle model need for and selects
Life-Cycle installation and activities some portion of a process for a or develops an
Models use of tools specified in a life-cycle process software team. (L) organization-wide
appropriate for life-cycle model (e.g., life-cycle model
a projects process model software design) (C)
designated life- script. (A/P) (P/L)
cycle model
(F/A)
2. Assists in 2. Selects
selection of a department or
department or organization-wide
organizational- process models.
wide life-cycle (C)
process model.
(P/L)
3. Advises on
process
infrastructure,
training, and tools.
(C)
Process 1. Provides 1. Interprets and 1. Provides review 1. Leads definition 1. Conducts
Definition and assistance in the adapts a of defined and and tailoring of research into
Tailoring installation and software tailored processes. software processes effective software
use of tools for process to (A/P) for a project team process definition
defining and individual or for a software and tailoring. (C)
2. Tailors a software
modifying process engineering
process to the work
software responsibilities activity (e.g.,
of a small team.
processes. (F/A) and tasks. (A/P) requirements
(P/L)
engineering,
design, etc.). (L/M)
2. Provides 2. Leads definition
guidance to others and tailoring of
involved in tailored organization-wide
processes software processes.
(individual and (L/C)
team) (L)
Process 1. Provides 1. Collaborates 1. Leads small 1. Leads large 1. Provides
Implementation assistance in the in the execution teams in the teams or multi- organization-wide
and installation and of a team implementation and team projects in the guidance and
Management use of tools for software execution of a implementation advice on how to
implementing, process. software process. and execution of a implement and
managing, and (P/L) software process. manage software
measuring (L) processes. (C)
software
processes. (F/A)
2. Implements 2. Provides guidance 2. Provides
and manages and advice to guidance and
individual individuals on the advice to software
process. (F/A) implementation and teams on how to
management of their implement and
personal processes. manage software
(P/L) processes. (L/M)
3. Serves as a 3. Serves as leader 2. Provides
member of a of a SEPG. (L) guidance and
Software advice on the
Engineering Process formation,
Group (SEPG). (P) structure, and
responsibilities of
SEPGs. (C)
Process 1. Provides 1. Assists in 1. Leads small 1. Leads software 1. Conducts
Assessment and assistance in the collecting data teams in collecting teams in collecting research into the
Improvement installation and for assessment data for assessment data for assessment effectiveness and
use of tools for of a software of software of software improvement of
assessing and process. (A) processes. (P/L) processes. (P/L) software processes.
improving (C)
software
processes. (F/A)
2. Collects data 2. Analyzes process 2. Analyzes
relevant to assessment data and process assessment
individual implements data and
process improvement of implements
execution. small team software improvement of
(F/A) processes. (P/L) team software
processes. (P/L)
3. Assesses and 3. As a member of a 3. Leads the SEPG, 2. Uses assessment
implements SEPG, provides in providing data, team reports,
improvement of input on software guidance on and SEPG reports
an individual process department or to establish
software organization-wide organization
635
636
681 References
682 [IEEE 12207-2008] IEEE Std. 12207-2008, IEEE Standard for Systems and Software
683 EngineeringSoftware Life Cycle Processes, IEEE, 2008.
684 [IEEE 15528-2008] IEEE Std. 15528-2008, IEEE Standard for Systems and Software
685 EngineeringSystem Life Cycle Processes, IEEE, 2008.
686 [SEBoK 2013] A. Pyster and D.H. Olwell, eds., The Guide to the Systems Engineering Body of
687 Knowledge (SEBoK), v. 1.2, The Trustees of the Stevens Institute of Technology, 2013;
688 http://sebokwiki.org.
689 [SWEBOK 2014] P. Bourque and R.E. Fairley, eds., Guide to the Software Engineering Body of
690 Knowledge, Version 3.0, IEEE Computer Society Press, 2014; www.swebok.org.
691
models (C)
Concept Definition 1. Assists by 1. Identifies 1. Develops lists 1. Prepares 1. Develops
locating potential of stakeholders criteria for new techniques
identified stakeholders by and categorizes identifying for identifying
stakeholders (A) examining their likely stakeholders (L) stakeholders (C)
historical data and interests (P/L)
having
discussions with
appropriate
personnel inside
and outside the
systems
engineering team
(A/P)
2. Arranges 2. Attends 2. Leads
stakeholder stakeholder stakeholder
meetings (A) meetings and meetings (L)
solicits
stakeholder
needs, wants, and
desires (P)
3. Attends 2. Attends
stakeholder stakeholder
meetings and meetings to
takes meeting document
minutes (A) stakeholder needs,
wants, and desires
(P)
4. Follows 3. Develops 3. Leads 3. Facilitates 2. Develops
directions to elements of the development of development of new methods,
prepare elements Concept of scenarios, the Concept of tools, and
of the Concept Operations (A) storyboards, Operations (L) techniques for
of Operations prototypes, and concept
(F) use cases (L) definition (C)
4. Obtains
stakeholder
consensus on the
Concept of
Operations (L)
5. Develop
acceptance
criteria (P)
System 1. Attends 1. Establishes the 1. Establishes the 1. Establishes
Requirements meetings and system system organizational
documents the development development policies and
system environment and environment and procedures for
development identify identify system
components (L)
1. Identifies 4. Procures
sources of selected software
software components (L)
components to
be procured (A)
5. Participates in 2. Leads / 2. Develops
system design participates in new approaches
meetings to avoid system design to system
isolated stovepipe meetings to avoid design to avoid
units of software isolated stovepipe isolated
(P) units of software stovepipe units
(P/L) of software (C)
Requirements 1. Documents 1. Assists in 1. Identify 1. Leads / 1. Develops
Allocation allocable and identifying allocable and non- participates in new methods,
non-allocable allocable and non- allocable meetings to tools, and
requirements (F) allocable requirements (P) identify and techniques for
requirements (A) allocate requirements
requirements allocation and
(functional, flowdown (C)
behavioral,
structural, quality)
and interfaces to
software
components and
other major
system
components (L/P)
2. Documents 2. Attends 2. Participates in
allocation of meetings and meetings to
requirements records minutes to allocate
(functional, allocate requirements
behavioral, requirements (functional,
structural, (functional, behavioral,
quality) and behavioral, structural, quality)
interfaces to structural, quality) and interfaces to
software and interfaces to software
components and software components and
other major components and other major
system other major system
components (F) system components (P)
components (P/L)
3. Participates in 3. Leads meetings
meetings to refine to refine
requirements requirements
allocated to allocated to
software (P) software (L)
components (C)
2. Participate in 2. Lead /
system participate in
verification system
activities (P) verification
activities (L/P)
2. Assist in 3. Provide liaison 3. Lead /
providing liaison to software participate in
to software component providing liaison
component engineers (P) to software
engineers (A) component
engineers (L)
System Validation 1. Operate tools 1. Assist in 1. Participate in 1. Lead / 1. Modify
and Deployment for performing performing simulated and Participate in existing and
simulated and simulated and live live system tests simulated and live develop new
1. Participate in live system tests system tests (A) (P) system tests (P/L) methods, tools,
system acceptance (F) and techniques
testing for system
validation and
deployment (C)
698
737 References
738 [IEEE 730-2002] IEEE Std. 730-2002, IEEE Standard for Software Quality Assurance Plans,
739 IEEE, 2002.
740 [IEEE 829-2008] IEEE Std. 829-2008, IEEE Standard for Software and System Test
741 Documentation, IEEE, 2008.
742 [IEEE 1012-2012] IEEE Std. 1012-2012, IEEE Standard for System and Software Verification
743 and Validation, IEEE, 2012.
744 [IEEE 12207-2008] IEEE Std. 12207-2008, IEEE Standard for Systems and Software
745 EngineeringSoftware Life Cycle Processes, IEEE, 2008.
746 [IEEE 15528-2008] IEEE Std. 15528-2008, IEEE Standard for Systems and Software
747 EngineeringSystem Life Cycle Processes, IEEE, 2008.
748 [Kan 2002] Stephen H. Kan, Metrics and Models in Software Quality Engineering Second
749 Edition, Addison-Wesley, 2002.
750 [RTCA DO-178C] RTCA, Inc., Software Considerations in Airborne Systems and Equipment
751 Certification, DO-178C/ED-12C, 13 Dec. 2011.
752 [SWEBOK 2014] P. Bourque and R.E. Fairley, eds., Guide to the Software Engineering Body of
753 Knowledge, Version 3.0, IEEE Computer Society Press, 2014; www.swebok.org.
754 [Westfall 2009] Linda Westfall, The Certified Software Quality Engineering Handbook, Quality
755 Press, 2009.
756
Audits (concentrates on both Plan, organize, and conduct the independent audits
product and process, but it is done Collect appropriate data resulting from the audit raised as a
by an independent, internal or result of audit
external, organization) Collect and analyze the data collected from the audits
Establish and implement the appropriate resolutions for the
identified problems
Statistical Control Identify and collect set of quality data under statistical control
Identify set of subjective and objective variances for the data
Analyze the data collected
Establish and implement set of control processes
Evaluate the effectiveness of the control processes
757
758
Software 1. Follow defined 1. Follow quality 1. Establish Quality 1. Establish the 1. Create new and
Quality quality processes standards for the Standards for the culture of improved quality
Management and standards (P) product and product (P/L) producing quality practices for
supporting product, and delivering high
processes (P) following the quality product (C)
quality process
across the projects
(P/L)
2. Assist with 2. Follow 2. Select the 2. Create new
establishing the defined quality appropriate SQM processes (C)
appropriate models (P) processes for the
infrastructure (i.e., project that support
defect tracking the identified quality
tool) to support goals (P)
organizations
quality goals (A)
3. Use 3. Identify quality 2. Establish quality 3. Examines and
appropriate tools characteristics and standards, models assesses the
and resources to attributes for the and processes for effectiveness of a
develop quality product and projects (P/L) specific SQM
products (P) establish their process across an
priorities (P) organization. (C)
4. Assist with 4. Identify the 3. Analyze the 4. Make
identification of quality models that advantages and recommendations
the different need to be followed disadvantages of related to
quality for the project (P) alternative SQM organization-wide
characteristics processes and tools SQM processes.
and attributes for that can be used for (C)
the product (A/P) achieving
organizational
product quality
goals (P)
5. Ensure 5. Develop the 4. Develop QA 5. Create/modify
product quality Quality Assurance plan for the project SQM processes to
goals are (QA) plan for the (L) achieve higher
achieved (P) project (P) quality products
and processes. (C)
6. Collect quality 6. Identify 5. Identify 6. Propose/Design
appropriate
report associated
with the meeting
(P)
2. Use 2. Identify the 2. Conduct across 2. Develop new
appropriate appropriate the organization root cause analysis
checklist called personnel that need data analysis for techniques. (C)
for by the review to participate in the the purpose of root
organizer (P) reviews activity. (P) cause analysis. (P)
3. Collect 3. Identify the 3. Based on the
appropriate and appropriate review data,
accurate data that measures that need identify appropriate
is called for by to be collected as corrective actions
the review part of the product to be implemented
organizer (P) review (P) across projects for
the purpose of
achieving product
improvement.
(P/L)
4. Produce the 4. Identify
appropriate appropriate artifacts
documentation under the review
that is called for and the
by the quality corresponding
management checklist (P)
plan (P)
5. Follow the 5. Analyze the
appropriate collected product
practices that are data, for the purpose
defined by the of root cause
quality analysis and
management assessment of the
plan (P) review effectiveness
(P)
6. Identify
appropriate
corrective actions in
order to achieve
product
improvement. (P)
7. Lead the review
team (P)
Audits (both 1. Establish the 1. Conduct the 1. Plan, organize 1. Establish audit 1. Create new audit
independent necessary audit (P) and conduct audits infrastructure by processes (C)
product and environment to (P/L) identifying
process conduct the audit
a. appropriate
audit, (A/P)
organization
internal or
conducting the
external)
audit (P)
b. products and
processes that need
to be included in
audits (P)
and
c. stakeholders
receiving the audit
results (P)
2. Identify and 2. Analyze the
classify the issues audit results for
identified by the continuous
audits (P) improvement (P)
3. Establish and
implement
appropriate
resolution strategy
for identified issues
(P)
Statistical 1. Establish the 1. Collect set of 1. Analyze the data 1. Identify set of
Control necessary quality data collected (L) quality data under
environment for under statistical statistical control
data collection and control (P) (P)
warehousing (P)
2. Deploy set of 2. Identify set of
control process (P) subjective and
objective variances
for the data (P)
3. Evaluate the 3. Analyze the data
effectiveness of the collected (L)
control processes
(A)
4. Establish and
implement set of
control processes
(P)
5. Evaluate the
effectiveness of the
control processes
(P)
761
762
770 References
771 [Allen 2008] Julia Allen et al., Software Security Engineering: A Guide for Project Managers,
772 Addison-Wesley Professional, 2008.
773 [BITS 2012] BITS Software Assurance Framework, Financial Services Roundtable, 2012;
774 www.bits.org/publications/security/BITSSoftwareAssurance0112.pdf.
775 [Hilburn 2013] Thomas Hilburn, et al., Software Assurance Competency Model, Technical Note
776 CMU/SEI-2013-TN-004, Software Engineering Institute, Mar. 2013;
777 http://resources.sei.cmu.edu/library/asset-view.cfm?assetID=47953.
778 [Merkow 2010] M. Merkow and L. Raghavan, Secure and Resilient Software Development, CRC
779 Press, 2010.
780 [Seacord 2005] R. Seacord, Secure Coding in C and C++, Addison-Wesley, 2005.
781
782
783
Table B19
Software Security Skill Sets and Activities by Competency Level
Skill Sets Senior Software
Technician Entry Level Practitioner Technical Leader
Levels Engineer
vulnerabilities
(e.g., buffer
overflow, input
validation) (F)
2. Follows
recommended
coding standards
to avoid security
vulnerabilities
(e.g., validating
input, preventing
exception
handling
mechanisms
from revealing
too much
information
about
applications and
systems. (F)
Process 1. Assists in 1. Follows 1. Establishes
collection of project standards organization
metrics for in collection of standards for
security security security assessment
assessment assessment processes (L)
processes. (A) metrics. (F)
Quality 1. Assists in 1. Performs code 1. Selects 1. Creates new
installation of reviews to appropriate static static analysis
static analysis identify security analysis tools to methods or tools.
tools. (A) vulnerabilities. identify security (C)
(P) vulnerabilities. (P/L)
2. Uses static
analysis methods
to identify
security
vulnerabilities.
(P)
788
801 References
802 [Bozzano 2010] Marco Bozzano and Adolfo Villafiorita, Design and Safety Assessment of
803 Critical Systems, CRC Press, 2010.
804 [Hilburn 2013] Thomas Hilburn, et al., Software Assurance Competency Model, Technical Note
805 CMU/SEI-2013-TN-004, Software Engineering Institute, Mar. 2013;
806 http://resources.sei.cmu.edu/library/asset-view.cfm?assetID=47953.
807 [IEEE 12207-2008] IEEE Std. 12207-2008, IEEE Standard for Systems and Software
808 EngineeringSoftware Life Cycle Processes, IEEE, 2008.
809 [Leveson 2011] N. Leveson, Engineering a Safer World: Systems Thinking Applied to Safety,
810 The MIT Press, 2011.
811 [Rierson 2013] Leanna Rierson, Developing Safety-Critical Software: A Practical Guide for
812 Aviation Software and DO-178C Compliance, CRC Press, 2013
813 [Stephans 2004] R.A. Stephans, System Safety for the 21st Century: The Updated and Revised
814 Edition of System Safety 2000, Wiley, 2004.
815 [Vincoli 2006] J.W. Vincoli, Basic Guide to System Safety, Wiley, 2006.
816
817
822
823
824
844 References
845 [Aiello 2010] Bob Aiello and Leslie Sach, Configuration Management Best Practices: Practical
846 Methods that Work in the Real World, Addison-Wesley Professional, 2010.
847 [Babich 1986] Wayne A. Babich, Software Configuration Management: Coordination for Team
848 Productivity, Addison-Wesley, 1986.
849 [IEEE 828-2012] IEEE Std. 828-2012, IEEE Standard for Configuration Management in
850 Systems and Software Engineering, IEEE, 2012.
851 [SWEBOK 2014] P. Bourque and R.E. Fairley, eds., Guide to the Software Engineering Body of
852 Knowledge, Version 3.0, IEEE Computer Society Press, 2014; www.swebok.org.
853
Table B21
Software Configuration Management Skill Sets and Activities by Competency Level
Levels Senior Software
Technician Entry Level Practitioner Technical Leader
Skill Sets Engineer
technical leader
supervision (L)
9. Specify template
for, and supervise
setting up the SCM
library (L)
Conduct SCM 1. Operate tools 1. Implement 1. Evaluate and 1. Tailor and adopt 1. Revise existing
to generate SCM and document report to CCB mechanisms for and develop new
status and audit approved impacts of proposed requesting, mechanisms for
reports (F) changes to SCIs changes to SCIs (P) evaluating, and requesting,
approving software evaluating, and
changes, including approving software
deviations and changes, including
waivers (P) deviations and
waivers (C)
2. Generate, 2. Generate, 2. Generate, classify, 2. Appoint 2. Develop new
classify, and classify, and and manage problem members and mechanisms for
manage problem manage problem reports (L) convenes the CCB SCM status
reports reports (P)
(L) accounting (C)
3. Assist in using 3. Use established 3. Lead CCB in 3. Develop new
adopted procedures for making yes/no processes and
mechanisms for populating and decisions on procedures for
requesting, maintaining SCM change requests (L) generating SCM
evaluating, and library (P) audit reports (C)
approving
software
changes,
including
deviations and
waivers (A)
4. Assist in 4. Use established 4. Ensures that
establishing and mechanisms to approved changes
maintaining the record and report are made and
mechanisms for SCM information documented (L)
recording and (P)
reporting SCM
information and
generating SCM
audit reports
(A)Provide SCM
audit reports as
scheduled and as
requested (P)
5. Develop and 5. Maintain
tailor tools for mechanisms for
generating SCM recording and
audit reports (P) reporting SCM
information (L)
6. Establish and
maintain the
mechanisms for
generating SCM
audit reports (L)
Manage 1. Operate tools 1. Participate in 1. Participate in 1. Develop 1. Modify existing
Software to build software developing developing software software release and develop new
Releases releases (A) software release release plans (P) plans (L) formats and
plans (P) procedures for
implementing
software release
plans (C)
2. Use software 2. Participate in 2. Lead building and 2. Modify existing
release tools to building and verifying of and create new
produce software verifying software releases tools for building
releases (A) software releases (L) software releases
(P) (C)
3. Produce 3. Participate in 3. Implement release
software releases building of plans (P)
(P) software releases
(P)
857
858
859
879 References
880 [Abran 2010] Abran, Alain, Software Metrics and Software Metrology, Wiley-IEEE Computer Society Press, 2010.
881 [IEEE 12207-2008] IEEE Std. 12207-2008, IEEE Standard for Systems and Software
882 EngineeringSoftware Life Cycle Processes, IEEE, 2008.
883 [IEEE 15528-2008] IEEE Std. 15528-2008, IEEE Standard for Systems and Software
884 EngineeringSystem Life Cycle Processes, IEEE, 2008.
885 [IEEE 15939-2008] IEEE Std. 15939-2008, Standard Adoption of ISO/IEC 15939:2007 System
886 and Software Engineering Measurement Process, IEEE, 2008.
887 [SWEBOK 2014] P. Bourque and R.E. Fairley, eds., Guide to the Software Engineering Body of
888 Knowledge, Version 3.0, IEEE Computer Society Press, 2014; www.swebok.org.
889
890
891
Table B22
Software Measurement Skill Sets and Activities by Competency Level
Levels Entry Level Senior Software
Technician Practitioner Technical Leader
Skill Sets Practitioner Engineer
893
894
906 References
907 [Buxton 2007] Bill Buxton, Sketching User Experiences: Getting the Design Right and the Right
908 Design, Morgan Kaufmann Publishers, 2007.
909 [ISO 9241-210:2010] ISO 9241-210:2010, Ergonomics of Human-System Interaction, ISO, 2010.
910 [ISO/IEC 25060:2010] ISO/IEC 25060:2010, Systems and Software EngineeringSystems and
911 Software Product Quality Requirements and Evaluation (SQuaRE)Common Industry Format
912 (CIF) for Usability: General Framework for Usability-Related Information, ISO, 2010.
913 [Rogers 2011] Y. Rogers, H. Sharp, and J. Preece, Interaction Design: Beyond Human Computer Interaction, 3rd
914 ed.,Wiley, 2011.
915 [SWEBOK 2014] P. Bourque and R.E. Fairley, eds., Guide to the Software Engineering Body of
916 Knowledge, Version 3.0, IEEE Computer Society Press, 2014; www.swebok.org.
917
918
920
921
Table B23
HCI Skill Sets and Activities by Competency Level
Levels Technician Entry Level Practitioner Technical Leader Senior Software
Practitioner Engineer
Skill Sets
Requirements 1. Identify 1. Review 1. Coordinate work 1. Modify
stakeholders to identification of activities for existing and
provide HCI stakeholders stakeholder create new
requirements (P) providing HCI identification (L) methods and
requirements (P) tools for
stakeholder
Determine which identification
Assist in selecting process model (C)
process model for approach will be
HCI interface used by the HCI
development (P) team to develop the
interface (L)
Recommend HCI
tools for project use Select HCI tools for
(A) project use (P)
1. Assist in 2. Identify target 2. Review and refine 2. Modify
identifying users and their target user existing and
target users (A) attributes (P) identification and create new
describe their methods and
relevant attributes tools for target
(P) user
identification
(C)
3. Assist in 3. Lead 2. Lead review and
identifying user identification of user refinement of user
interface interface interface
requirements (A) requirements (L) requirements (L)
2. Follow 4. Design and 4. Review and refine 3. Modify
directions to create prototypes prototypes, test for existing and
create simple for use in eliciting elicitation and refine create new
prototypes for user interface user interface methods and
use in eliciting requirements (P) requirements (P) tools for
user interface prototyping (C)
requirements
(F)
5. Use prototypes to
elicit and refine user
interface
933 Interviewees
940 SubjectMatterReviewers
941 Alain Abran, cole de technologie suprieure (TS)
942 Bob Aiello, CM Best Practices Consulting
943 Radu Babiceanu, Embry-Riddle Aeronautical University
944 Wayne Babich, Charles River Development
945 Pieter Botman, True North Systems Consulting
946 Nick Brixius, Embry-Riddle Aeronautical University
947 Drew Calhoun, Lockheed Martin
948 Cynthia Calongne, Colorado Technical University
949 Don Gelosh, Worcester Polytechnic Institute
950 Shafagh Jafer, Embry-Riddle Aeronautical University
951 Andrew Kornecki, Embry-Riddle Aeronautical University
952 Susan K. Land, Missile Defense Agency
953 Phil Laplante, Pennsylvania State University
954 Nancy Mead, Software Engineering Institute
955 Mark Merkow, Charles Schwab
956 Donald Reifer, Reifer Consultants LLC
957 Annette Reilly, Lockheed Martin
958 Leanna Rierson, Digital Safety Consulting
959 Linda Shafer, IEEE Press
960 Richard Hall Thayer, California State University
961 Steve Tockey, Construx
965 PublicReviewers
966 xxx
967
998
1098
Date: [xxx]
Organizational Unit: [xxx]
Completed by: [names and titles of those completing the worksheet]
Note: analysis may be at the level of skill area or skill
Note: Have, Need, and Gap are indicated by number of individuals and
competency level
4
Excel spreadsheets for individual and staff gap analysis are at:
Individual Gap Analysis Worksheet: https://computer.centraldesktop.com/p/eAAAAAAACjPRAAAAAEMv3og
Staffing Gap Analysis Worksheet: https://computer.centraldesktop.com/p/eAAAAAAACjPWAAAAAE91mog
Note: Have indicates that competencies for all activities for a skill at the
indicated level have been demonstrated and Gap indicates the difference
Note: Need includes the activity numbers for which competency must be
demonstrated to advance to the next level for that skill