Category: Development and implementation
Subcategory: Systems development
Software design - SWDN
Architecting and designing software to meet specified requirements, ensuring adherence to established standards and principles.
Levels:
Level 2:
Description: 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, ensuring alignment with overall design requirements, including security. Reviews own work.
Level 3:
Description: 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, considering all relevant factors, including security. Assists in the evaluation of options and trade-offs. Collaborates in reviews of work with others as appropriate.
Level 4:
Description: Designs and architects complex software applications, components and modules. Uses appropriate modelling 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 including security. 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.
Level 5:
Description: Specifies, designs and architects large or complex software applications, components and modules. 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 the software design balances functional, quality, security and systems management requirements. Contributes to the development of organisational software design and architecture policies and standards.
Level 6:
Description: 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).