The global skills and competency framework for the digital world

#1556 Add architecture responsibilities to Software design skill change request pending

The proposed amendments to the "Software Design" skill aim to explicitly include software architecture within its scope, aligning the SFIA framework with industry standards such as SWEBOK Version 4. These changes will provide clarity and ensure comprehensive coverage of both software design and architecture activities

Rationale:

  • The current description of the "Software Design" skill does not explicitly include software architecture, which is a crucial aspect of designing software systems. 
  • Software architecture is a fundamental part of software design. It defines the high-level structure, key components, and their interactions within a software system. It is essential for addressing cross-cutting concerns, ensuring system quality attributes, and guiding downstream design decisions.
  • The latest edition of the Software Engineering Body of Knowledge (SWEBOK Version 4) has introduced a new knowledge area dedicated to "Software Architecture," recognising its importance and distinct nature within the software engineering discipline. This addition supports the benefit in having software architecture explicitly addressed in the SFIA framework.

Applicability:

  • Software design as a skill is applicable across various sectors and domains where software systems are developed. It is relevant to the design of applications, components, modules, and interfaces in both small-scale and large-scale software projects.
  • Including software architecture within the scope of this skill will provide a more comprehensive coverage of the activities involved in designing software systems, from high-level architectural decisions to detailed design.

Proposed solution:

  1. Update the skill name to "Software design and architecture" to explicitly include software architecture and avoid ambiguity.
  2. Modify the short description to: "Specifying, designing, and architecting software to meet defined requirements by following agreed standards and principles."
  3. Expand the guidance notes to include software architecture-related activities, such as:
    • Defining and documenting software architectures
    • Evaluating architectural alternatives and trade-offs
    • Considering the system's context and stakeholder concerns
    • Ensuring alignment with enterprise and system-of-systems contexts
  4. Enhance the higher level descriptions (levels 4-6) to incorporate architecture-related responsibilities, such as:
    • Designing and architecting complex software applications, components, and modules
    • Defining and maintaining architectural principles, patterns, and frameworks
    • Ensuring adherence to technical strategies and systems architectures

Proposed change applies to Software design

Current status of this request: pending