The global skills and competency framework for the digital world

Software design SWDN

(modified)

Specifying, architecting and designing software to meet defined requirements by following agreed standards and principles.

Guidance notes

(modified)

Activities may include — but are not limited to:

  • designing and architecting software applications, components, interfaces and related characteristics (including security)
  • designing for scalability, performance, resilience, security, and privacy from the outset, aligned with cloud computing, distributed systems, and data protection
  • using design concepts, patterns, modelling techniques and architectural styles (e.g., microservices, serverless, domain-driven design) to develop software designs and architectures, providing the basis for software construction and verification
  • evaluating alternative solutions and trade-offs to facilitate design decisions
  • considering functional and non-functional requirements such as the target environment, performance, security, scalability, and integration with existing systems
  • adopting and adapting software design models, tools, and techniques based on the context of the work, including contemporary practices such as cloud-native architectures, edge computing, cyber-physical systems, and agile and iterative design practices
  • developing prototypes/simulations to enable informed decision-making

Levels

Defined at these levels: 2 3 4 5 6

Software design: Level 1

This skill is not typically observed when working at this level of responsibility.

Software design: Level 2

(unchanged)

Creates and documents detailed designs for simple software applications or components.

Applies agreed modelling techniques, standards, patterns and tools.

Contributes to the design of components of larger software systems.

Reviews own work.

Software design: Level 3

(unchanged)

Undertakes complete design of moderately complex software applications or components.

Applies agreed standards, guidelines, patterns and tools. Assists as part of a team in the design of components of larger software systems. Specifies user and/or system interfaces.

Creates multiple design views to address the different stakeholders' concerns and to handle functional and non-functional requirements. Assists in the evaluation of options and trade-offs.

Collaborates in reviews of work with others as appropriate.

Software design: Level 4

(modified)

Designs and architects complex software applications, components, and modules.

Uses appropriate modeling techniques in line with agreed software design standards, guidelines, patterns, and methodologies. Produces and communicates multiple design views to address stakeholder concerns and meet both functional and non-functional requirements.

Identifies, evaluates, and recommends design alternatives and trade-offs. Models, simulates, or prototypes proposed software behaviours to secure stakeholder approval and facilitate effective software construction.

Reviews, verifies, and enhances own designs against specifications and leads reviews of others' designs.

Software design: Level 5

(modified)

Specifies and designs large or complex software applications, components and modules , and their architectures.

Adopts and adapts software design methods, tools and techniques. Undertakes impact analysis on major design options, makes recommendations and assesses and manages associated risks. Specifies prototypes/simulations to enable informed decision-making.

Evaluates software designs to ensure adherence to standards and identifies corrective action. Ensures that the software design balances functional, quality, security and systems management requirements.

Contributes to the development of organisational software design and architecture policies and standards.

Software design: Level 6

(modified)

Leads the selection and development of software design and architectural methods, tools and techniques.

Defines and maintains architectural principles, patterns, and frameworks to guide software design and development across the organisation.

Ensures adherence to technical strategies and systems architectures (including security).

Software design: Level 7

This skill is not typically observed when working at this level of responsibility.