Updating software: why do we release every three weeks?
PIX4Dmatic and PIX4Dsurvey were launched in 2019 at the Denver User Conference and are part of our geospatial software offering. The dedicated developer teams release new updates to the software every three weeks in a constant cycle.
The information for this article was provided by Pierangelo Rothenbühler, the PIX4Dmatic Product Owner
Why is a three week release cycle good for software development?
With a regular release cycle, we drive development and create a structure for our team to follow. We break down our work into three-week sprints. The sprints help us to plan, maintain, and adapt to the needs of the software, our customers, and the company's vision. Here are three key ways we've found the three-week cycle works for us:
1. It delivers value to customers
Short-term releases focus on what is essential to our users. We have organized three-week sprint sessions that help us clearly plan developments and motivate our team. We gather feedback from users through our Support team, direct user feedback, and social media. With the three week structure, we can quickly integrate this feedback into our next steps.
In addition, this system greatly benefits our users. Our release structure means we have attainable, short-term goals that build up to our overall development plans. This means users aren’t waiting for long for new features, and we can work to deliver better and better updates.
2. Ensuring high quality software
Three weeks is not a lot of time! We work with our in-team Quality Assurance Engineers (QAs) to continuously test and improve our new features. Once they’ve been tested and validated, we move forward to the release stage. This helps us to identify and fix problems faster. We are constantly evaluating our software prior to sharing the release.
Separate to that, user feedback comes in again. Whilst we are proud of our software, we understand that each user has specific needs that are tailored to their industry. Our testing and validation is informed by user feedback, including testing our software with user-provided datasets. We will also run sample datasets through our software and use the new features on it to make sure everything runs smoothly.
3. Adapting to a changing environment
Software as a service (SaaS) is a fast-paced industry. We need to be able to respond quickly and can’t always afford to wait six months to change the schedule or bring in a new feature, or fix a bug. The dynamic three-week schedule means we can always respond quickly.
As we implement user feedback, we adapt the schedule. We plan our sprints in advance and can rearrange future sprints according to user feedback. The challenge is a balance between adaptable and fixed goals. We don’t want to constantly ask developers to change their targets. We will happily add new ideas or features to an upcoming sprint, rather than sandwiching them into the current one. That creates a stable working environment for development whilst maintaining ambitious goals.
How do we make sprint software releases work?
We have to keep several parties aligned to make this work. It’s a mix of developer management as well as clear communication between teams (sales, the geospatial team, and our senior management). Some of the ways we make it work include
- Ensuring regular communication: we share progress with all stakeholders to make sure what we are working on is of value. We use this to adapt the scope of what we do, the delivery date, the number of developers needed, etc.
- Scrum work: we have a Scrum Master to help us become more efficient over time. "Scrum" is a system for project and product management that is specific to software development and it helps multiple teams work together. Our Scrum Master will help us improve collaboration and regularly review our work.
- Automate release procedures: we want to make sure that the actual process of releasing, including communicating with users, is as straightforward as possible. We have specified contacts on the marketing team and support team that we communicate with to guarantee a seamless release on both the software and commercial sides.
- Splitting tasks: we know that large tasks can be overwhelming. For that reason, we split work into smaller tasks that deliver value. It makes it easier to manage projects and new features for the software without making unattainable goals - after all, it needs to be achieved within three weeks. Whether a task is to build the framework for a new tool or test an old feature, we want to make progress.
And that’s why we work in three week cycles! It helps us keep our goals attainable, achieve progress, and maintain a healthy development system that does not put stress on our team.
Got questions, comments, or queries? Join the conversation on LinkedIn under #Pix4DLabs. If you’re interested in learning more about the products, check them out on our website.