Software Design (Solution Architect)

Create and refine the overall plan for the design of software, including the design of functional specifications starting from the defined business requirements as well as the consideration and incorporation of various controls, functionality and interoperability of different elements into a design blueprint or model which describes the overall architecture in hardware, software, databases, and third-party frameworks that the software will use or interact with.

Proficiency Level

Level 1 (Follow)

N/A

Level 2 (Assist)

  • Design simple software components, assessing functionality of different elements, and produce design documentation.
  • Create and document detailed designs for simple software applications or components.
  • Apply agreed modelling techniques, standards, patterns and tools.
  • Contribute to the design of components of larger software systems.
  • Review own work.

Level 3 (Apply)

  • Create a software design blueprint based on a broad design concept, and business and user requirements.
  • Undertake complete design of moderately complex software applications or components.
  • Apply agreed standards, guidelines, patterns and tools.
  • Assist as part of a team in the design of components of larger software systems.
  • Specify user and/or system interfaces.
  • Create 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.
  • Collaborate in reviews of work with others as appropriate.

Level 4 (Ensure)

  • Translate complex software ideas and concepts into a design blueprint and establish key design principles and methodologies.
  • Design complex software applications, components and modules.
  • Use appropriate modelling techniques following agreed software design standards, guidelines, patterns and methodology.
  • Create and communicate multiple design views to balance stakeholders’ concerns and to satisfy functional and non-functional requirements.
  • Identify, evaluate and recommend alternative design options and trade-offs.
  • Model, simulate or prototype the behaviour of proposed software to enable approval by stakeholders, and effective construction of the software.
  • Verify software design by constructing and applying appropriate methods.
  • Review, verify and improve own designs against specifications.
  • Lead reviews of others’ designs.

Level 5 (Strategise)

  • Adopt and adapt software design methods, tools and techniques.
  • Undertake impact analysis on major design options, make recommendations and assess and manage associated risks.
  • Specify prototypes/simulations to enable informed decision-making.
  • Evaluate software designs to ensure adherence to standards and identify corrective action.
  • Ensure that the software design balances functional, quality, security and systems management requirements.
  • Contribute to the development of organisational software design and architecture policies and standards.
  • Inspire new and innovative software design ideas, and align design principles and parameters with current and future needs.
  • Lead the selection and development of software design methods, tools and techniques.
  • Develop organisational policies, standards, and guidelines for software design and software architectures.
  • Ensure adherence to technical strategies and systems architectures (including security).