The global skills and competency framework for the digital world

Programming/software development PROG

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.

Levels

Defined at these levels: 2 3 4 5 6

Programming/software development: Level 1

This skill is not typically observed when working at this level of responsibility.

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.

Programming/software development: Level 7

This skill is not typically observed when working at this level of responsibility.