Skip to main content

Software Development at LCvista

By October 14, 2020January 28th, 2022News

In this post we want to share some insight into what our development and planning process looks like at LCvista. For starters we don’t strictly adhere to a single methodology such as waterfall, XP, Scrum, etc. Alternatively, we have selected the methods, processes and tools from the most widely utilized methodologies that work best for us and allow us to deliver for our customers. At the core of our processes is working with a consistent cadence which helps us set expectations and deliver our product.

Sprints

The foundation for our team process is our bi-weekly sprints. Our sprints serve as our central clock and provide a recurring rhythm and structure for all of our work. Being a fully remote team with members located in multiple timezones throughout the US, our daily stand ups are key to our success. We meet as a team on a daily basis and each team member gets an opportunity to discuss their current status, blockers/issues and upcoming focus. We work to keep our stand ups at 20 minutes and team members will often break off into follow up hangouts to remove any blockers for the day ahead.

Software development sprint calendar

Sprint Planning and Prioritization

Every other Wednesday, we get together as a team to review the current sprint and plan for the upcoming sprint. Our Product team drives this conversation around what is in motion in the current sprint, what we have planned and scheduled on our road map as well as what are the requests coming from our customers.

This planning process typically starts by looking at what tickets in the current sprint need to be carried over to the upcoming sprint. Next we triage and prioritize new requests and improvements identified in the past two weeks into our team backlog. Finally we review the updated backlog and select the tickets for the upcoming sprint.

We strive to maintain a balance on the tickets that get prioritized by categorizing them into three main sources. By striking a balance across these sources we can better serve our customers by ensuring a good mix of strategic new features, smaller quick wins and improvements, as well as a stable and scalable technology foundation.

Sprint prioritization funnel

Roadmap Planning

On a monthly basis the management teams across product, technology, operations and sales get together to review our roadmap. This meeting drives our long range outlook.  In this meeting, we review what we have accomplished in the last month, the current status of features in progress and what we have planned in the upcoming 3, 6, 9 months. This is our chance to evaluate and change priorities where needed.

Releases

Our release schedule has its own cadence as we currently run 4 releases per sprint (or 2 releases per week). On Wednesdays we release licensing and rule changes to CPE jurisdictions. For the most part there is no development required for our Wednesday releases.  These are typically configuration changes within our Compliance rules engine and are managed by our compliance specialist. On Thursdays we release features, quick wins as well as miscellaneous improvements into our product.  By using automation, consistent processes and open communication, we are able to consistently run two releases per week without a huge amount of overhead.

Wrapping it up

Bringing all of this together requires strong communication. We try to stay away from formal top-down structures. Instead we work to instill ownership, authority and collaboration throughout the team. This can be seen in our day to day operations as development, QA, product and customer success are in contact over Slack, Hangouts and Zoom meetings. For me personally, I am honored to be part of this culture of communication and collaboration.