Software Design

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

Type

Functional

Competency Area

Design and Architecture

Levels

Analyse strategies for critical business functions to ensure plans are within risk mitigation factors

Design a simple software component or interface according to functional specifications and business requirements

Utilise appropriate software design methods and tools, in line with the organisation's software design practice and principles

Identify relevant controls, elements and features to be included in the software to meet its design objectives

Assess functionality and interoperability of different elements or components in the software design

Produce detailed design documentation mapped to user specifications

Evaluate strategies to ensure plans are realistic and reflect health of business

Create a software design blueprint based on a broad design concept, and business and user requirements

Recommend appropriate standards, methods and tools for the design of software, in line with the organisation's practice and design principles

Design functional specifications of software systems to address business and user needs

Evaluate trade offs from the incorporation of different elements into the design, and their impact on overall functionality, interoperability, efficiency and costs of the software

Produce design documentation for complex software

Review design documentations produced

Lead strategy development for critical business functions that anticipate risks and its critical impact

Translate complex software ideas and concepts into a design blueprint and plan

Establish key design principles to guide the further definition and detailing of a software blueprint

Introduce new methods and tools for the design of software

Lead the design of highly complex software and systems

Evaluate multiple software design options, so as to select the one which best meets business, user and functional requirements

Justify design elements to the end user

Develop software design archtiecture in line with client maturity

Inspire new and innovative software design ideas

Establish organisation- wide software design standards, guidelines and methodologies, in line with emerging trends, industry best practices and external regulations

Anticipate future business and user requirements, and their implications on software design, features and capabilities

Guide the setting of design principles, ensuring alignment with current and future needs

Chart a future-focused direction for the design of multiple software systems