Have you ever wondered what the software development process is at Monogram? The process behind the scenes is driven by efficiency in order to produce complex software. Our software is constantly evolving and our process keeps everyone organized and aligned. When it comes to planning our software releases, we start by determining our future goals through team discussions and more importantly, reviewing all of the feedback and feature requests we receive from our users. Those requests are prioritized based on the complexity and time it takes for completion to ensure we use our time efficiently while tackling as many requests as we can.
The complexity of feature requests and bugs varies widely and they could take anywhere from a few minutes to over a month to complete. This variation has a lot of factors, which include whether it is on Monogram Creator, if it’s part of an integration, or if it is a system-related bug. Usually, if there is a bug or feature request on the Monogram Creator app, this is easier for our developers to work on since we have all of the source code. The integrations may have bugs or features that depend on support from the specific creative apps. If this is the case, we have less control over the timeline as we have to work with our partners to resolve these issues. System-specific issues that can not be reproduced on our own computers are usually harder to track down and take the most time. Adding to the challenge, different integrations require the use of different programming languages and there are more than eight programming languages used throughout the Monogram code base.
Our Project Management Process
To efficiently handle the complexities associated with supporting multiple applications and platforms, the software team follows the Agile and Scrum methodologies and works within cycles called “sprints”. At the beginning of each sprint, the team prioritizes new feature requests and bugs, and the top items are added to the sprint. This includes responding to immediate customer feedback as well as long term objectives. The goal is to have all items finished at the end of the sprint to give more predictability. Typically, there is a theme to each sprint so the software developers have a common goal, which encourages collaboration. After the sprint, there is a review and retrospective. During the review, the team goes over what was completed and left unfinished. The retrospective is where discussions on performance and process improvements happen.
The benefit of the fast-paced Agile methodology is generating more frequent releases for customer feedback. This approach to software development is very iterative, meaning we are able to release smaller parts of large features and evaluate the design from user feedback. From these regular releases, we can adapt or modify the specification, implement the changes, and release again. We use Alpha and Beta release channels for immediate feedback from our users.
The software development process at Monogram is iterative, fast-paced and exciting. Be sure to keep your Monogram software updated to benefit from our constant improvements.
Interested in joining our Beta program? We're always listening and speaking with Monogram users.