Definition
Software engineering capability enables the Australian Government agencies to design, develop, test, deploy, maintain and decommission software components of digital solutions to ensure they are secure, scalable, adaptable, resilient and reusable wherever possible.
This capability includes:
- traditional (waterfall), agile and DevOps software engineering design and development practices
- processes and associated tools across the full software engineering lifecycle
- platforms such as low-code, no-code software.
The software engineering lifecycle spans:
- requirements gathering
- system design and architecture
- coding, customisation and configuration
- deployment and release management
- system integration
- monitoring and continuous improvement
- maintenance and support
- decommissioning.
Software engineering capability in government is aligned with international standards including the IEEE Software Engineering Body of Knowledge (SWEBOK).
In Government, software engineering involves numerous Australian Public Sector (APS) staff, labour hire, consultants and external vendors in various project and operational activities.
Purpose
At the whole-of-government level, a strong software engineering capability supports innovation, reduction of technical debt and management of critical technologies. A mature software engineering capability, encompassing data, digital integration and cybersecurity aspects, ensures that public services are user-centric, reliable, responsive, data-driven, secure and future-ready.
As a capability, software engineering is realised by:
- establishing software engineering practices aligned with this guidance and associated government and international standards, and tailored to the agencies’ specific needs
- adopting best practice processes across the whole software engineering lifecycle
- using automation and AI-assisted engineering tools to improve productivity, quality and knowledge sharing
- acquiring, growing and retaining skilled workforce involved in software engineering activities
- enabling knowledge sharing, reuse and collaboration across government agencies
- embedding software engineering controls into the agency’s overarching organisational governance.
Objectives
The objectives of this guidance, including the associated Software engineering policy and Software engineering standard, are to:
- guide software engineering practice across the Australian Government to reduce technical debt by promoting maintainable, secure and modular solutions that prevent costly rework, minimise system failures and avoid vendor lock-in
- encourage and support the sharing of world-class software engineering methods, practices, processes, tools, and resources
- guide agencies to reuse, or create for reuse, software components to avoid duplication, reduce spend and accelerate development time
- establish a product approach to strategic software projects across government.
Whole-of-government strategic alignment
Agencies should be aware of the whole-of-government strategies that provide direction and set obligations for the software engineering capability.
The Data and Digital Government Strategy sets a 2030 vision to deliver simple, secure and connected public services for all people and businesses, through world-class data and digital capabilities. Software engineering is a key capability for the following Data and Digital Government Strategy missions:
- Delivering for all people and business: Software engineering enables co-designed, inclusive and accessible digital services through agile development, user-centric systems design, and continuous engagement with users, allowing iterative improvements.
- Simple and seamless services: Mature software engineering practices are essential to creating secure, scalable, interoperable platforms and ‘tell us once’ solutions. By adopting secure, modular architectures, software engineering supports unified service delivery, enhances reuse of common components such as digital identity verification and enables seamless user experiences across government agencies.
- Government for the future: Software engineering enables rapid adoption and integration of emerging technologies such as artificial intelligence (AI) and advanced automation, quantum computing or digital twins. By reinforcing agile development, prototyping and cross-agency collaboration, it enables the government to rapidly respond to evolving needs and future-proof its digital services.
- Trusted and secure: Secure software engineering practices, including secure-by-design and robust privacy controls, are critical to building and maintaining public trust. Software engineering ensures government systems meet high security standards, comply with data ethics and support transparency in how personal information is used and protected.
- Data and digital foundations: Software engineering supports the development of reusable, interoperable, integrated and modular platforms, data governance frameworks and data-driven tools for monitoring the effectiveness of policies.