Overview

MacStadium, the leading enterprise-class Apple Mac infrastructure provider, developed their private cloud offering - Orka (Orchestration with Kubernetes on Apple). In 2020, Orka was in an MVP (minimal viable product) stage. It had just the right minimal functionality to win several happy customers and prove its potential. MacStadium approached ST6 to help make Orka the best Mac orchestration solution built on Kubernetes.

How do you transition a product from an MVP to a scale-up? Our ST6 approach is to join as part of the team. This way, we can not only deliver on the technical requirements but also make strategic process improvements.

Software Development Lifecycle

Stabilize the MVP and integrate with the team

First, we set about stabilizing the MVP and tackling immediate challenges. We helped complete the release that was delayed for some time. We got a deep understanding of the project and gained the trust needed for further improvements.

We managed to organize a visit to the MacStadium Atlanta office during the first month of our Orka partnership. People work much better after they meet in person, get to know each other over dinner, and discuss challenges and ideas during in-person meetings.

After the first successful release, we proved ourselves to the existing team members at MacStadium, and we were ready to start making an even more significant impact.

Improve development practices

We helped establish the practice of code reviews through a knowledge-sharing session and building a guide based on Google engineering practices. We drove the adoption of a shared coding style by using opinionated tools, like Prettier, that stop debates over code styles so the team can focus on what's important.

The best way to make technical decisions in a complex system like Orka is to do it in a well-thought-out manner, using the whole team's experience. The Orka team learned that the hard way after a few features were implemented in a non-optimal way. We introduced the practice of lightweight design doc for complex features - a team member needs to write a short proposal describing the problem, the technical solution, and the context of how that solution is chosen. Design docs proved to be a great way to find the best solution to a problem, share knowledge, and document key technical decisions. The practice was successful, and the team has created over 100 design docs in the past three years.

Repeatable release process

A release process defines how a software system release is planned, what makes the release and what does not, how the quality of the release is ensured, and how it is actually released to customers. A good release process is clear and repeatable. Orka had a few first chaotic releases, and we had to improve that.

By implementing continuous delivery, feature and code freeze periods, organizing bug bash contests, and eventually building up automated tests, we significantly improved Orka's release stability and predictability. We focused on shift-left testing by building the infrastructure to quickly write unit tests for the critical part of the system. A testing lab was set up for performance and end-to-end testing.

Effective project and product management

When we joined the Orka team, we had a fresh, unbiased look at how the team worked. The team followed a SCRUM-like process with weekly sprints. It was interesting to see how the team bent the process into a lean variant of SCRUM. We noticed that and proposed migrating to Kanban. It was a perfect fit for the team. We also improved the planning process by making it on demand. Planning meetings changed from 2 hours biweekly to 15 minutes.

We defined a clear policy on how we handle bugs following zero-bug methodology. When we identify a real bug:

  • it is fixed immediately if it takes less than a couple of days;
  • if the bug is more complex, it is reclassified as an improvement and goes through the standard planning process.

By optimizing project management, the team could focus on delivering value to the Orka customer. Morale improved as no one likes being stuck at ineffective meetings. The zero-bug policy allowed the dev team to fix small customer issues quickly. In the first release with ST6, the team completed just 10 items. In the third release, we fixed 86 bugs and completed 48 user stories and tasks while doing 2 hotfix releases in parallel.

Craft with passion

Testimonials

From Chris Chapman, CTO at MacStadium:

"ST6 has been an integral part of shaping our development practices and our product. They provided not only resources and expertise to do development, but also a true partnership to shape policies, best practices, and systems around creating the best possible outcomes for our goals. With their help we have created an industry leading product with Orka, a strong and capable software practice to support it and other products, and continue to evolve our business with their help. They have truly been invaluable in creating a world class development team at MacStadium and helping us deliver quality products to our fast paced market."

Hard, and smart, work pays off

Our strategic process improvements and tireless efforts helped Orka evolve into the best Apple Mac orchestration platform based on Kubernetes. But our success with MacStadium isn't unique. At ST6, we believe in the power of partnership. If you're looking to elevate your product development and team performance, we're ready to work closely with you to deliver transformative results. Get in touch with us today.

* All Orka and MacStadium images are the copyright of MacStadium.