Building software takes time and effort. Especially when working on interfaces that need to be user-tested to get just right. Mockups and prototypes do help but nothing beats testing out the “final” product. At Amilia we make changes to the platform everyday. Developers call this continuous delivery. It’s the ability for live software to be updated in real time without affecting users. This allows us to fix bugs rapidly, but also to develop new features and BETA test them with no downtime.
Continuous delivery is part of an ongoing trend called Continuous Integration (CI). It’s the process of automating tasks that pushes the code a developer writes into staging and production environments. A staging environment is where software is tested. The production environment is the Amilia you use everyday. Continuous delivery is the sum of these automated processes, along with human checkpoints.
Continuous delivery at Amilia did not happen overnight. It took some time to automate the builds and releases. It took even more time to fine tune the human processes to leverage everyday releases. When you have the ability to release so often, you want to push out code changes as quickly as possible, without compromising quality and security. That’s why we created 3 different process tracks to manage code changes: bug fixes, enhancements and projects. Each of these tracks have a different timelines for turnaround:
- Bug fixes < 1 day
- Enhancement requests < 5 days
- Projects > 1 week
When something is ready (developed, properly tested and documented), we release it to production. It's a continuous flow of releases so we don’t need to wait on other features or bug fixes to be ready. You can compare this to a highway with service roads. The highway is the production environment - the Amilia you use everyday. Service roads is our development environment and vehicles are features or bug fixes that merge onto the highway when ready.
Most of the time, a bug is fixed the same day it’s reported. For instance, the other day there was a bug where checkmarks in the attendance list were appearing in excel but not in PDF exports. Our developer Patrick was able to have that fixed and up in production in under an hour.
Enhancements are small improvements that take less than 5 days to implement and test. As an Amilia client, you can request feature enhancements through our online community. Our product team will review the request and let you know if and when the enhancement is planned and completed. A good example comes from Michelle at Gym Finity Gymnastics Center who asked us to print out one child registration per page.
We took this request and made it happen with a new feature called Print client profiles.
Bug Fixes: Superheroes to the Rescue
We have special roles to handle bug fixes and enhancements: Batman and Robin. Batman is in charge of fixing bugs. His role is to make sure villains (bugs) are dealt with rapidly while his sidekick Robin implements enhancement requests. Together, they make sure Amilia is stable, and constantly improving.
The Batman and Robin roles work on rotating basis. Every week there is a new Batman, just like in the movies! This has two benefits: All developers get to work on every aspect of Amilia and it allows them to get close to you; the customer. As Batman, a developer gains insight into what your day-to-day looks like. Batman feels your pain which serves as motivation to make Amilia better. That perspective is invaluable.
Projects and our BETA program
Projects span across weeks or months. However, features that are part of a project can be released continuously behind feature switches. Meaning only a few customers can have access and test the features for a specific project. We call this a BETA program.
All our Amilia clients are invited (and encouraged) to participate in our BETA program. As a BETA tester, you get early access to a new feature and work closely with our product specialists and developers to make sure the feature is just right. When we developed our Membership Cards module. BETA testers quickly pointed out that they wanted configuration options for what is to be shown on the card. We added these options one by one making them available over the course of a few days. BETA testers didn’t have to wait for a fixed release cycle to see them appear.
When the feature is polished and properly tested, it is ready for general availability (GA) and to be released to everyone.
As we progress and grow as a company, your feedback and input continues to be at the core of everything we do. Your requests, suggestions and recommendations are what guide our product roadmap so share your day-to-day struggles with us on the Amilia community!