By: Doug Boude, Director of Research & Development
Software solutions are measured by their ability to adapt, evolve, and solve challenges for users while maintaining a consistent and easy-to-use user experience release to release. This means that software cannot be developed in a silo; but, instead, must combine input and expertise from a variety of professionals—software engineers, developers, and architects alongside practitioners and customers. Our world-class team—composed of former industry experts with almost two centuries of collective experience in applied criminal justice software—works continually to provide best-in-class software solutions that those working in probation, parole, community corrections agencies, institutions, and jails need. With a commitment to listening, communicating, and collaborating, the equivant Corrections software development team creates software and updates that help professionals involved in criminal justice become more efficient and effective.
A foundation of how we develop software combines two core attributes of our software architecture with our agile software development process. The two core attributes are found in our proven track record of 1) delivering a stream of new releases that have allowed our hundreds of customers to benefit from a combination of major and minor enhancements to the Northpointe Suite over the past two decades; and 2) creating and maintaining a stable API platform for our customers to interface to a wide array of third party and legacy systems. Enabling efficient and integrated development across a wide and deep set of features, our development team utilizes Scrum—a project management framework that enables our team to communicate and make changes quickly, in accordance with Agile principles. This process is iterative and allows us to comprehensively plan for a project upfront, build a little piece, test that piece, then build a little bit more, allowing for a manageable, flexible, and innovative process.
Below outlines how equivant Corrections software solutions are developed:
- IDEA GENERATION: Every new feature or software enhancement starts with an idea. At equivant Corrections, those are entered into our Aha! product development software. Ideas can be entered into Aha! from our in-house group of criminal justice experts and practitioners who are working with customers daily or from a staff member who is using the software all of the time. Once in Aha!, a Product Manager is assigned to a specific item.
- REFINEMENT: The Product Manager will then take the idea and build out the specifications so it is ready for estimation. As part of this process, the Product Manager will collaborate with a Quality Assurance (QA) Lead, and a Lead Developer to ensure the idea is fully fleshed out and ready for estimation by the team.
- ESTIMATION: During this phase, specifications are reviewed and the specified work is broken into executable and testable pieces. At this phase, the team ensures they have what they need to create a ticket, including acceptance criteria and an understanding of how to test the enhancement.
- TICKET CREATION: Tickets are then created for each piece of work and presented one at a time to the team so the team can ask questions and assign a level of difficulty to the ticket and an estimated number of hours for completion.
- SPRINT: Now it’s go time. Once a piece of work is estimated and a ticket assigned, it is approved for inclusion in a release by the company leadership team, and then gets placed into a Sprint as part of a software release. Every two-week Sprint has a certain amount of development and QA hours assigned to properly manage workload. Work is done in software releases (one release is composed of 16 Sprints), and Releases and Sprints are proactively planned on a rolling, continuous basis. At the completion of each Sprint, the development and QA teams conduct a retroactive meeting to debrief what worked and what didn’t throughout the Sprint and then a new one begins.
- TESTING: After a developer completes a ticket and tests their own work, they then hand it off to our QA (Quality Assurance) team, who verify each enhancement works according to the ticket specification. If a defect is found, QA will return the ticket to the developer to address the issue.
- HARDENING: At the end of a release when all the testing and development is complete, the team puts the release through a hardening process. During this phase, two full weeks are spent testing and retesting, with particular focus on the pieces of the software that weren’t modified to ensure nothing was inadvertently disturbed. While we are testing every aspect of the software, we are also preparing release notes detailing all changes made and categorizing by function.
- HAND OFF & DISTRIBUTION: After hardening, when the development and QA teams are satisfied, DevOps then prepares the release rollout to internal preview sites and to customers. They hand off the notes compiled during hardening to the Customer Care team and business leaders for our Corrections, Supervision, and Pretrial business units who then edit them to prepare them for customer consumption. Customer Care introduces the new release and makes a presentation to customers.
We are committed to ongoing improvements. Improving our software is a continuous process from the development side of the house. While most enhancements are dedicated to product improvements and new features, some are dedicated to technical improvements. Our Agile approach is a regimented process to ensure quality and consistency, but allows for the flexibility, innovation, and meticulous planning a world class software company requires. It also allows for practitioner and customer input and significant testing to ensure the right collaboration and efforts bring the best product releases to equivant Corrections customers. As the Northpointe Suite has evolved over the years, so have our software development methodologies. The listening, collaboration, and drive to always be and do better from both the practitioner’s perspective and that of the developer is what sets us apart. It’s what our customers leverage to gain efficiencies and peace of mind. Start a conversation with our team today to learn more. Find out how equivant Corrections software solutions are developed and revised from a practitioner perspective here.