The global skills and competency framework for the digital world

Programming/software development PROG

(unchanged)

Developing software components to deliver value to stakeholders.

SFIA 9 is in development

  • SFIA 9 beta due in early July 2024
  • SFIA 9 planned for publication October 2024

Guidance notes

(modified)

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.

Understanding the responsibility levels of this skill

Where lower levels are not defined...

  • Specific tasks and responsibilities are not defined because the skill requires a higher level of autonomy, influence, and complexity in decision-making than is typically expected at these levels. You can use the essence statements to understand the generic responsibilities associated with these levels.

Where higher levels are not defined...

  • Responsibilities and accountabilities are not defined because these higher levels involve strategic leadership and broader organisational influence that goes beyond the scope of this specific skill. See the essence statements.

Developing skills and demonstrating responsibilities related to this skill

The defined levels show the incremental progression in skills and reponsibilities.

Where lower levels are not defined...

You can develop your knowledge and support others who do have responsibility in this area by:

  • Learning key concepts and principles related to this skill and its impact on your role
  • Performing related skills (see the related SFIA skills)
  • Supporting others with tasks (generic examples are provided by the essence statements for each level)

Where higher levels are not defined...

  • You can progress by developing related skills which are better suited to higher levels of organisational leadership.

Levels

Defined at these levels: 2 3 4 5 6

Show/hide extra descriptions and levels.

Level 1

Level 1 - Follow: Essence of the level: Performs routine tasks under close supervision, follows instructions, and requires guidance to complete their work. Learns and applies basic skills and knowledge.

Programming/software development: Level 2

Level 2 - Assist: Essence of the level: Provides assistance to others, works under routine supervision, and uses their discretion to address routine problems. Actively learns through training and on-the-job experiences.

(unchanged)

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

Level 3 - Apply: Essence of the level: Performs varied tasks, sometimes complex and non-routine, using standard methods and procedures. Works under general direction, exercises discretion, and manages own work within deadlines. Proactively enhances skills and impact in the workplace.

(unchanged)

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

Level 4 - Enable: Essence of the level: Performs diverse complex activities, supports and supervises others, works autonomously under general direction, and contributes expertise to deliver team objectives.

(unchanged)

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

Level 5 - Ensure, advise: Essence of the level: Provides authoritative guidance in their field and works under broad direction. Accountable for achieving workgroup objectives and managing work from analysis to execution and evaluation.

(unchanged)

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

Level 6 - Initiate, influence: Essence of the level: Has significant organisational influence, makes high-level decisions, shapes policies, demonstrates leadership, fosters organizational collaboration, and accepts accountability in key areas.

(unchanged)

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.

Level 7

Level 7 - Set strategy, inspire, mobilise: Essence of the level: Operates at the highest organisational level, determines overall organisational vision and strategy, and assumes accountability for overall success.