- 1. Activities and Their SWEHB Components
- 2. Definitions
- 3. Chapter 2 SWE Distribution
- 4. Activity Groupings
- 5. Activity Diagram
- 6. Activities used in SPAN
- 7. Design Decisions
1. Activities and Their SWEHB Components
This is a working page to build the list of activities and the SWEs and topics that define them.
The table below was built from the activity descriptions in NPR 7150.2D chapters 3 thru 5. These are highlighted in yellow. The activity name includes the numbering that came from the NPR. Once we are sure that we know what activities we want to use, we should renumber the activities in a way that seems appropriate.
Additional activities were derived from chapter 2. These chapter 2 activities were then copied into the activities highlighted in yellow where they seemed most likely to belong. See the subheading "SWEs from Ch 2 - Institutional Requirements".
At this point, all SWEs and Topics are represented "somewhere" in this scheme. It does not mean that they are in all of the appropriate places. Once we decide that the activity names should be, adding and deleting as appropriate, we will need to make sure that all of the SWEs, Topics and other pages are represented in the appropriate Activities.
Distribution Of SWEs Into Activities
- All SWEs in NPR 7150.2D are represented in an activity in the yellow group. SWEs that come from chapter 2 represent things that are done at the Institutional level to enable projects to perform a SWE at the project level. In a sense, they are enabling SWEs.
Distribution Of Topics And PATs Into Activities
- All topics are represented in at least one activity.
- Some topics are associated with multiple SWEs and may appear in more than one activity. For example, topic 8.5 - SW Failure Modes and Effects Analysis deals with design as well as has safety related considerations as well. It appears in both the 3.7 Safety-Critical Software and 4.3 Software Design activities.
- All PATs are represented in at least one activity. Some PATs may appear in multiple activities depending on the same criteria as topics.
Topics That Don't Fit Into Activities
- There are a few topics that don't fit into the activity scheme. They are listed in the next to last row in the red highlight.
Activities That Are Not Represented In This Model
- There are a few topics that are not represented in this activity model. They are listed in the last row in the green highlight. If we want this activity model to match more closely with the way projects do their work, it may be necessary to add these activities into the model and move the appropriate SWEs, Topics, PATs, etc. into them.
Additional Considerations Moving Forward
- 3.8 Automatic Generation of Software Source Code content might be better to put into the activity 4.3 Software Design or 4.4 Software Implementation
- 3.12 Software Bi-Directional Traceability has only one SWE and no other topics or other materials associated with it. It may be more appropriate to put this SWE under 4.1 Software Requirements
- 4.2 Software Architecture and 4.3 Software Design might be better to consider as a single activity.
2. Definitions
In the context of this view of the SWEHB, some definitions are in order. These are ideas for helping partition the information so it can be organized in a way to make finding things easier.
2.1 Activity
General name for a set of processes, performed by one or more groups of stakeholders in the lifecycle of the development of a software product. Activity names may align with project phases in some cases depending on the development process or life cycle chosen for the project. Some activities are performed in a sequence. Others may be started and continue while others start up later and run in parallel with other activities. An example of this is coding and testing. These activities may appear to run together while different portions or releases of the code are being developed.
An activity is composed of
- SWE requirements that are satisfied during the conducting of the activity, and
- Other work described in the other SWEHB components.
2.2 SWE Components
Each SWE requirement is composed of one or more objectives that represent an industry best practice that OCE expects projects (on the agency in the case of Institutional Requirements) to perform. How these objectives are achieved is at the discretion of the group satisfying the requirement. Each SWE page lists some tasks that would accomplish the requirement, and guidance on how they might be completed.
Tasks for the Software Engineering (tab ?) as well as Software Assurance (tab 7) are listed. In cases where additional support or more in depth guidance is available, the reader is referred to a Topic.
2.3 Other SWEHB Components
Any page in the SWEHB that contains guidance on performing a process, such as
- creating a document,
- implementing a development tool,
- preparing for or conducting a review, or
- other related topic supporting the work of an activity.
The SWEHB Topics page could be expanded to organize and present more groupings of topics. Numbering of topics allows existing reference management macros to be used in the Resources tab of the topic.
In the table below, I have organized it in Topic Series number order. Rows in green highlight are currently in use. Components include:
| Component Type | Topic Series | Component Description |
|---|---|---|
| Process | 1.xx | Regularly performed set of actions with an expected set of outcomes. An example might be a generic Peer Review Process. A process usually contains:
|
| Cybersecurity Topics | 2.xx | In depth guidance on Software Cybersecurity topics. |
| Software Safety Topics | 3.xx | In depth guidance on Software Safety topics. |
| Review | 4.xx | List of things to do or consider when performing a development or assurance task in a project. Usually includes Items for:
|
| Document Content | 5.xx | Describes the minimum content expected in a particular document |
| Checklist | 6.xx | List of things to consider when performing some development or assurance task in a project. Checklists are frequently designed as a Process Asset Template (PAT). |
| Software Engineering Topics | 7.xx | In depth guidance on Software Engineering topics. |
| Software Assurance Topics | 8.xx | In depth guidance on Software Assurance topics. |
| Software Design Principles | 9.xx | Software Design Principles. |
| PAT (Process Asset Template) | PAT-xxx | List of things to do or consider when performing a development or assurance task in a project. These may be used in any of the other Topic series. This series number format will allow using the "refstable" macro to select references if we allow references to be assigned to a PAT. |
| Activities | A.xx | SWEHB Activity View series. This series number format will allow using the "refstable-topic" macro to select references if we allow references to be assigned to an Activity. |
3. Distribution of Chapter 2 SWEs
The SWEs from NPR 7150.2D chapter 2 are the Institutional Requirements. Initially, I grouped them into 7 "activities" to make sure that they didn't fall out of the overall activity scheme. The table below is the result of that work.
SWEs that come from chapter 2 represent things that are done at the Institutional level to enable projects to perform a SWE at the project level. In a sense, they are enabling SWEs.
Additional activities were derived from chapter 2 and are highlighted blue below as the first 7 activities. These chapter 2 activities were then copied into the activities in tab 1, highlighted in yellow, where they seemed most likely to belong.
| Activity Name | SWEs | SWEHB Components: Related Topics, Document Structures, Principles, Checklists, and PATs |
|---|---|---|
"Benchmarking and Appraisals" Moved to 3.9 Software Development | ||
"Licensing, Sharing and Reuse" Moved to 3.10 Software Reuse | ||
"Measurements and Metrics" Moved to 5.4 Software Measurements | ||
"Process Definition" Moved to 3.9 Software Development | ||
"Process Library" Moved to 3.9 Software Development | ||
"Requirement Mapping, Tailoring, Moved to 3.5 Software Classification | ||
"Training" Moved to 3.4 Software Training |
4. Activity Groupings
In this tab I will construct the new table of Activities based on our agreement with Tim's input.
- SWEHB Activity will be the name of the activity we use going forward.
- NPR Activity Groupings reflects the names of the groups of SWEs found in the NPR.
- Rows have been added for each SWE so that Supplementary Materials can be associated with the appropriate SWEs.
Tim's Activities
| SWEHB Activity | NPR Activity Groupings | Supplementary Materials: Related Topics, Document Structures, Principles, Checklists, and PATs, etc. | |
|---|---|---|---|
| A.01 | Software Life Cycle Planning | Software Life Cycle Planning | |
| Software Cost Estimation | |||
| Software Schedules | |||
| Software Training | |||
| Software Classification Assessments | |||
| Software Cybersecurity (using secure coding guidelines part) | |||
| Software Development Processes and Practices | |||
| Related Institutional Requirements | |||
| |||
| A.02 | Software Assurance and Software Safety | Software Assurance and Software Independent Verification & Validation | |
Safety-Critical Software | |||
Software Development | |||
Related Institutional Requirements | |||
A.03 | Software Requirements | Software Requirements | |
| Software Cybersecurity (requirements part) | |||
| Software Bi-Directional Traceability | |||
| A.04 | Software Design | Software Architecture | |
Software Design | |||
| A.05 | Software Implementation | Software Implementation | |
| Automatic Generation of Software Source Code | |||
| A.06 | Software Testing | Software Testing | |
| Software Cybersecurity (testing part) | |||
Software Non-conformance | |||
| A.07 | Release, Operations, Maintenance, and Retirement | Software Operations, | |
Software Reuse | |||
Related Institutional Requirements | |||
A.08 (Full Life Cycle Activities) | Software Configuration Management (SCM) | Software Configuration Management (SCM) | |
| A.09 | Software Risk Management | Software Risk Management | |
| A.10 | Software Peer Reviews and Inspections | Software Peer Reviews and Inspections | |
| A.11 | Software Measurements | Software Measurements | |
| A.12 | Software Non-conformance or Defect Management (all non-testing parts) | Software Non-conformance | |
| A.13 | NASA Institutional Requirements | Benchmarking and Appraisals Related | |
| Library Related | |||
| Classification Related | |||
| Process Definition Related | |||
| |||
| |||
| |||
| |||
| Measurements and Metrics Related | |||
| Mapping Matrix and Classification Related | |||
| Training Related | |||
5. Activity Diagram
This activity Diagram represents the SWEHB Activities and their layout on a timeline. The timeline is notional and only represents the predecessors and successors and not any iterations that might be necessary in the real world.
5.1 - Fred's Initial Rough Cut Of Activity Groupings In A Diagram
Gliffy diagrams plugin has been fixed. One of the greatest benefits of Gliffy diagrams is the ability to embed a link in the diagram. I will use this diagram to experiment with Gliffy capabilities. Eventually, a diagram similar to this one will be used to give users a visual representation of the Activity View of SWEHB.
5.2 Tim's Activities in a Diagram
6. Activities used in SPAN
One element that should probably be in each activity is a link to the SPAN page where more information about the Activity from the Center perspective can be seen.
This is a list from SPAN of Activities used in various Center Process Asset Libraries.
| Activity in SPAN | Description | Has Counterpart in SWEHB |
| Project Planning | Project planning and scheduling assets | 3.1 Software Life Cycle Planning 3.3 Software Schedules |
| Process Selection | Selecting processes using the Compliance Matrix | 3.5 Software Classification Assessments |
| Classification | Classification of Software Process | 3.5 Software Classification Assessments |
| Estimation | Estimation processes and related assets | 3.2 Software Cost Estimation |
| Project Monitoring and Control | Monitoring and control assets | 5.5 Software Non-conformance or Defect Management |
| Risk Management | Risk Management assets | 5.2 Software Risk Management |
| Closure | Assets used when closing a project | |
| Requirements | Assets for recording and tracking requirements and change control | 4.1 Software Requirements 3.12 Software Bi-Directional Traceability |
| Design | Assets for use during product design | 4.3 Software Design 3.10 Software Reuse 4.2 Software Architecture |
| Code and Integration | Coding and software integration assets | 4.4 Software Implementation 3.8 Automatic Generation of |
| Peer Review | Review processes and follow up activities | 5.3 Software Peer Reviews and Inspections |
| Verification and Validation | Verification and Validation assets | 3.6 Software Assurance 4.5 Software Testing |
| Release, Sustain and Retire | Assets used during product release, Sustaining activities, and Retirement | 4.6 Software Operations, Maintenance, and Retirement |
| Configuration Management | Configuration management and change control assets | 5.1 Software Configuration Management (SCM) |
| Metrics | Metrics assets | 5.4 Software Measurements |
| Decision Making | Decision making processes and templates | |
| Improvement | Process Improvement activities including SEPG | 3.9 Software Development Processes and Practices |
| Software Quality Assurance | Software Quality Assurance and Audit assets | 3.6 Software Assurance and Software Independent Verification & Validation |
| Safety | Safety | 3.7 Safety-Critical Software |
| Purchasing | Assets used in purchasing software | 3.1 Software Life Cycle Planning |
| Contracting | Assets used when contracting software development | 3.1 Software Life Cycle Planning |
| Training | General Training | 3.4 Software Training |
6.2 Activity Groupings in NPR but not explicitly in SPAN
| Activity Grouping in NPR | How it is accounted for in SPAN |
|---|---|
| 3.11 Software Cybersecurity | Not currently accounted for in SPAN |
7. Design Decisions
The following questions and decisions by the group will steer the design of the Activity View of the SWEHB.
| # | Design Element | Question | Design Requirement |
|---|---|---|---|
| 1 | Activity Names | What is the list of Activity Names that will be used in the Activity View of SWEHB? Decision: Use Tim's Naming of Activities |
|
| 1.1 | Diagram | Should we have a high level diagram on the top level activity page? Decision: Open - will continue to develop Tim's diagram with activity links, etc. |
|
| 2 | SWE Pages | Is every SWE accounted for in one or more Activities? Question: who wants to come up with the rationale statements? |
|
| 3 | Topic and other pages | Is every Topic and other appropriate SWEHB page accounted for in one or more Activities? Question: who wants to come up with the rationale statements? |
|
| 4 | Related Link Tables | Currently being updated in all SWEs (tab 3) and many Topics Decision: Preference is to have a single column in tabs 3 and 7 with just links (no other excerpts or requirements). Tab 5 Resources would have a table with 2 columns, one for link table from tab 3, the other with the link table from tab 7. | See examples in SWE-013 Software Plans - Related Links demo
|
| 5 | Activity page Layout | What information should be displayed on an Activity page? |
|
| ? | What to do with SWE tab 4s | Do Small Project tabs belong in SWEs or should Small Projects be the subject of a Topic? | This would free up a tab for other use. |
| ? | What to do with SWE tab 2s | Most Rationale statements are small, could they be put on tab 1? | This would free up a tab for other use |


