- SFIA
- Solution Architect
- Enterprise and business architecture
- Programming/software development
- Software design
- Real-time/embedded systems development
- Hardware design
SFIA¶
Solution Architect¶
Developing and communicating a multi-dimensional solution architecture to deliver agreed business outcomes.
Guidance notes¶
Activities may include — but are not limited to:
- defining the planned operation and maintenance of the solution within a production environment — include changes to services, process, organisation, and operating models as well as technology
- ensuring that existing and planned solution components are compatible with relevant architectures, strategies, policies, standards and practices
- considering requirements for security, privacy and testing of solutions
- taking account of relevant architectures, strategies, policies, standards and practices
- identifying appropriate cloud services
- developing roadmaps to migrate components to cloud services
- developing and communicating an implementation roadmap
- providing guidance and risk-based governance to support solution implementation including managing requests for changes and deviations from specifications.
Solution architecture: Level 4¶
Contributes to the development of solution architectures in specific business, infrastructure or functional areas.
Identifies and evaluates alternative architectures and the trade-offs in cost, performance and scalability. Determines and documents architecturally significant decisions.
Produces specifications of cloud-based or on-premises components, tiers and interfaces, for translation into detailed designs using selected services and products.
Supports projects or change initiatives through the preparation of technical plans and application of design principles. Aligns solutions with enterprise and solution architecture standards (including security).
Solution architecture: Level 5¶
Leads the development of solution architectures in specific business, infrastructure or functional areas.
Leads the preparation of technical plans and ensures that appropriate technical resources are made available. Ensures that appropriate tools and methods are available, understood and employed in architecture development.
Provides technical guidance and governance on solution development and integration. Evaluates requests for changes and deviations from specifications and recommends actions.
Ensures that relevant technical strategies, policies, standards and practices (including security) are applied correctly.
Solution architecture: Level 6¶
Leads the development of architectures for complex solutions ensuring consistency with agreed requirements.
Establishes policies, principles and practices for the selection of solution architecture components.
Manages trade-offs and balances functional, service quality and systems management requirements within a significant area of the organisation. Communicates proposed decisions to stakeholders.
Coordinates and manages the target architecture across multiple projects or initiatives. Maintains a stable, viable architecture and ensures consistency of design and adherence to appropriate standards across multiple projects or initiatives.
Enterprise and business architecture¶
Aligning an organisation's technology strategy with its business mission, strategy, and processes and documenting this using architectural models.
Guidance notes¶
Enterprise architecture is typically considered across four domains: business, data, applications and infrastructure technologies. It may also include information security or legal and regulatory compliance.
Activities may include — but are not limited to:
- translating business strategies and objectives into an operating model
- assessing current capabilities and identifying required changes in capabilities to achieve objectives
- describing the interrelationships between people, organisation, service, process, data, information, technology and the external environment
- creating, iterating, and maintaining architectural models and views embodying the key principles that describe the organisation's future state, and that enable its evolution
- implementing enterprise architecture working practices to support and enable iterative/agile working
- interpreting business goals and drivers
- documenting and communicating constraints, standards and guiding principles necessary to define, assure and govern the required evolution
- using architectural models and processes to facilitate changes in the organisation's structure, business processes, information or data, business systems and infrastructure
- describing where and why the enterprise will benefit from cloud-based services.
Enterprise and business architecture: Level 5¶
Develops models and plans to drive the execution of the business strategy, taking advantage of opportunities to improve business performance.
Contributes to creating and reviewing a systems capability strategy which meets the business's strategic requirements.
Determines requirements and specifies effective business processes, through improvements in technology, information or data practices, organisation, roles, procedures and equipment.
Enterprise and business architecture: Level 6¶
Develops enterprise-wide architecture and processes to embed the strategic application of change in the management of the organisation.
Leads the creation and review of a systems capability strategy that meets the strategic requirements of the business. Ensures the buy-in of all key stakeholders.
Captures and prioritises market and environmental trends, business strategies and objectives, and identifies the business benefits of alternative strategies. Develops and presents business cases for approval, funding and prioritisation of high-level initiatives.
Sets strategies, policies, standards and practices to ensure compliance between business strategies, technology strategies, and enterprise transformation activities.
Enterprise and business architecture: Level 7¶
Directs the development of enterprise-wide architecture and processes to embed the strategic application of change in the management of the organisation.
Directs the creation and review of an enterprise capability strategy to support the strategic requirements of the business. Identifies the business benefits of alternative strategies.
Ensures compliance between business strategies, enterprise transformation activities and technology directions, setting strategies, policies, standards and practices.
Programming/software development¶
Developing software components to deliver value to stakeholders.
Guidance notes¶
Activities may include — but are not limited to:
- identifying, creating and applying software development and security standards and processes
- planning and designing software components
- estimating time and effort required for software development
- constructing, amending and verifying software components
- applying test-driven development and ensuring appropriate test coverage
- using peer review techniques — such as pair programming
- documenting software components
- understanding and obtaining agreement to the value of the software components to be developed
- selecting appropriate development methods and life cycles
- applying recovery techniques to ensure the software being developed is not lost
- implementing appropriate change control to software development practices
- resolving operational problems with software and fixing bugs
Depending on requirements and the characteristics of the project or assigned work — software development methods and life cycles can be predictive (plan-driven) approaches or adaptive (iterative/agile) approaches.
Programming/software development: Level 2¶
Designs, codes, verifies, tests, documents, amends and refactors simple programs/scripts.
Applies agreed standards and tools to achieve a well-engineered result.
Reviews own work.
Programming/software development: Level 3¶
Designs, codes, verifies, tests, documents, amends and refactors moderately complex programs/scripts.
Applies agreed standards and tools to achieve a well-engineered result.
Monitors and reports on progress. Identifies issues related to software development activities. Proposes practical solutions to resolve issues.
Collaborates in reviews of work with others as appropriate.
Programming/software development: Level 4¶
Designs, codes, verifies, tests, documents, amends and refactors complex programs/scripts and integration software services.
Contributes to the selection of the software development methods, tools and techniques.
Applies agreed standards and tools to achieve well-engineered outcomes.
Participates in reviews of own work and leads reviews of colleagues' work.
Programming/software development: Level 5¶
Takes technical responsibility across all stages and iterations of software development.
Plans and drives software construction activities. Adopts and adapts appropriate software development methods, tools and techniques.
Measures and monitors applications of project/team standards for software construction, including software security.
Contributes to the development of organisational policies, standards, and guidelines for software development.
Programming/software development: Level 6¶
Develops organisational policies, standards, and guidelines for software construction and refactoring.
Plans and leads software construction activities for strategic, large and complex development projects.
Adapts or develops new methods and organisational capabilities and drives adoption of, and adherence to policies and standards.
Software design¶
Specifying and designing software to meet defined requirements by following agreed design standards and principles.
Guidance notes¶
Activities may include — but are not limited to:
- designing software applications, components, interfaces and related characteristics (including security)
- using design concepts and patterns to develop software design and provide the basis for software construction and verification
- evaluating alternative solutions and trade-offs to facilitate design decisions
- taking into account functional and non-functional requirements such as the target environment, performance, security and existing systems
- developing prototypes/simulations to enable informed decision-making
- adopting and adapting software design models, tools and techniques based on the context of the work.
Depending on requirements and project or work assigned characteristics, software design techniques can be predictive (plan-driven) or adaptive (iterative/agile) approaches.
Software design: Level 2¶
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¶
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¶
Designs complex software applications, components and modules.
Uses appropriate modelling techniques following agreed software design standards, guidelines, patterns and methodology. Creates and communicates multiple design views to balance stakeholders' concerns and to satisfy functional and non-functional requirements. Identifies, evaluates and recommends alternative design options and trade-offs.
Models, simulates or prototypes the behaviour of proposed software to enable approval by stakeholders, and effective construction of the software. Verifies software design by constructing and applying appropriate methods.
Reviews, verifies and improves own designs against specifications. Leads reviews of others’ designs.
Software design: Level 5¶
Specifies and designs 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 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¶
Leads the selection and development of software design methods, tools and techniques.
Develops organisational policies, standards, and guidelines for software design and software architectures.
Ensures adherence to technical strategies and systems architectures (including security).
Real-time/embedded systems development¶
Designing and developing reliable real-time software typically within embedded systems.
Guidance notes¶
Embedded systems provide a dedicated function within a more extensive mechanical or electronic system with real-time, safety, security, and reliability constraints. Typically, it involves interfacing with hardware, sensors, and actuators for monitoring and control in industrial, automotive, aerospace, medical or robotic equipment, including IoT (Internet of Things) devices and intelligent systems.
These systems typically perform critical functions and have demanding requirements including — but not limited to — integrity, reliability, safety, security or power consumption.
Activities may include — but are not limited to:
- defining non-functional system requirements such as performance, reliability, safety, and security, including requirements for power, cost, physical space or response time
- building in fail-safe/secure characteristics for graceful degradation
- using specialist techniques to define systems and to assure essential attributes are achieved
- applying comprehensive verification, validation and testing methods and techniques
- using specialised tools such as in-circuit emulators, logic analysers and digital oscilloscopes.
Real-time/embedded systems development: Level 2¶
Designs, builds and tests simple real-time/embedded components as part of an overall larger systems design.
Uses appropriate programming languages to drive simple sensors and actuators.
Learns to use specialised tools such as in-circuit emulators, logic analysers and digital oscilloscopes.
Real-time/embedded systems development: Level 3¶
Designs, builds and integrates medium-complexity real-time/embedded components as part of an overall larger systems design.
Follows agreed standards and uses specialist tools such as in-circuit emulators and logic analysers.
Drives specialist hardware, typically sensors and actuators, and optimises component code for performance.
Applies a range of approaches to the verification and testing of real-time components.
Real-time/embedded systems development: Level 4¶
Designs, builds and integrates complex real-time/embedded components and sub-systems.
Designs physical layouts that reflect the connection between system components to test and optimise performance.
Builds system prototypes and simulations to aid development and enable debugging, testing and troubleshooting of embedded software.
Applies a range of approaches to the validation, verification and testing of real-time components and sub-systems. Is fully familiar with a range of specialist tools.
Real-time/embedded systems development: Level 5¶
Designs and develops real-time/embedded architectures and systems to meet agreed system requirements.
Plans and manages the development of complex real-time/embedded systems and selects the approaches and techniques to be used.
Analyses design options and trade-offs between hardware and software, makes recommendations and assesses and manages associated risks. Ensures that effective validation, verification and testing is undertaken throughout development.
Oversees the integration of multiple sub-systems into the overall system.
Real-time/embedded systems development: Level 6¶
Provides overall direction and leadership in the development of real-time/embedded systems.
Develops organisational policies, standards and guidelines for real-time/embedded systems architectures and designs.
Plans and leads strategic, large and complex real-time/embedded system developments. Identifies opportunities to exploit new technologies and improve existing technologies and practices.
Drives adherence to technical strategies, systems architectures and the implementation of risk-based verification, validation and testing. Develops effective implementation and procurement strategies.
Hardware design¶
Specifying a hardware design model for a defined system architecture.
Guidance notes¶
Examples of computing and communications equipment include — but are not limited to — semiconductor processors, high performance computing (HPC) architectures and digital signals processor (DSP) and graphics processor chips.
Activities may include — but are not limited to:
- defining how hardware components fit into the system and integrate with software if required
- selecting, designing, specifying, integrating and prototyping of hardware components
- adhering to industry standards including compatibility, safety, security, reliability and sustainability
This is typically related to the integration with, or connection to, an IT infrastructure or network.
Hardware design: Level 3¶
Follows selected standard approaches and design patterns to design simple hardware components.
Seeks guidance when deviating from established design patterns. Takes account of target environment, performance, security, safety, reliability and sustainability requirements.
Translates logical designs into physical designs. Tests the performance of prototypes and production output against specification.
Submits hardware designs for approval. Documents all work using required standards, methods and tools.
Hardware design: Level 4¶
Designs hardware components, taking account of target environment, performance, security, safety, reliability and sustainability requirements.
Translates logical designs into physical designs and delivers technical prototypes of proposed components for approval and production.
Designs the tests to measure the performance of prototypes and production output against specification and inform iterative development.
Hardware design: Level 5¶
Specifies and designs complex hardware components/systems.
Selects appropriate design standards, methods and tools, consistent with agreed enterprise policies and ensures they are applied effectively.
Undertakes impact analysis on major design options and assesses and manages associated risks. Ensures that hardware designs balance functional, quality, safety, security, systems management, reliability and sustainability requirements.
Reviews others' designs to ensure selection of appropriate technology, efficient use of resources, and effective integration of multiple systems and technology. Contributes to policy for selection of components.
Hardware design: Level 6¶
Provides overall direction and leadership in the hardware design practice within an enterprise.
Influences industry-based models for the development of new technology and components.
Develops effective procurement strategies, consistent with business needs.
Drives adoption and ensures adherence to organisational policies, strategies and standards for hardware design.