At the Queensland Department of Education, we are excited to share the journey of how we release new features and updates for the Developer Portal. Our process is designed to ensure that every feature is thoroughly tested, user-centric, and aligned with our mission of being ‘by developers, for developers.’
GitHub for storage and publication
The backbone of our development process is GitHub. We use GitHub for storing and publishing all aspects of the Developer Portal. This allows us to maintain a robust version control system, enabling seamless collaboration among our development team. Each update, whether it’s a minor tweak or a major new feature, is meticulously tracked and managed through GitHub.
Feature branches for rapid deployment
To manage the release of fixes, improvements, and features, we use feature branches. This approach enables us to rapidly deploy value to our users as soon as it is ready, ensuring that you benefit from the latest enhancements without delay.
From Dev to Staging to Live: Our release pipeline
Our release pipeline is a critical part of how we ensure the quality and reliability of the Developer Portal, aligning with the industry-standard software release life cycle:
- Pre-alpha: Internal development phase where initial features are built and tested by developers.
- Alpha: Early testing phase where features are still being developed. Internal stakeholders test the software to identify bugs and improvements on our staging site.
- Beta: The Developer Portal is currently in this phase. After internal testing, features are released to a broader audience for real-world testing and feedback. We label our live site as Beta to invite early adopters and public enthusiasts to explore and use the portal, while managing expectations that some features may still be in development and subject to change.
- General availability: When a feature drops its Beta label, it enters ‘general availability’, meaning it is feature-complete and fit for public use. However, we remain open to user feedback for further updates and improvements, ensuring continuous enhancement of the feature.
Automated deployment pipelines
Our deployment pipelines are fully automated, allowing for quick and accurate releases to our platforms. These pipelines include numerous built-in quality and security tools, ensuring that all our releases are timely, fast, secure, and of high quality. Additionally, if needed, we can quickly roll back any release to maintain stability and reliability.
Why Beta?
Labelling the Developer Portal as Beta serves multiple purposes:
- Early adoption: It opens the door for early adopters to engage with the portal, providing us with valuable feedback and insights.
- Expectation management: It clearly communicates that while the portal is fully functional, some features may be incomplete or evolving.
- Continuous improvement: By inviting feedback and involvement from our user community, we ensure that the portal continuously evolves to meet the needs of developers.
Involving the customer
Our commitment to Agile principles is at the core of our development philosophy. We believe that the best products are built with constant input from end users. By engaging with our community early and often, we can develop features that are not only innovative but also highly relevant and useful.
Security and safety: 100% simulated data
The Developer Portal site is completely detached from our production databases. This means all sandbox data is 100% simulated, ensuring that there are no connections to production that malicious users could exploit. The portal is 100% safe for developers to interact with and use. This level of security and safety allows us to be confident in being so open and accessible.
Adhering to our own standards
We pride ourselves on following our own standards and invest heavily in making the site accessible and usable. We are always open to feedback on how to continually improve, ensuring that the Developer Portal meets the highest standards of quality and user experience.
By developers, for developers
This mantra encapsulates our mission. The Developer Portal is designed with developers in mind, by developers who understand the challenges and needs of the community. This approach ensures that every feature is relevant, practical, and geared towards making the lives of developers easier and more productive.
Join us on this journey
We invite you to explore the Developer Portal, engage with its features, and share your feedback. Your input is invaluable in shaping the future of this platform. Together, we can create a resource that is truly ‘by developers, for developers.’
Thank you for being part of our journey. We look forward to your continued involvement and support.