Feature adoption soars for education software platform.
Seesaw is a student-driven digital portfolio that empowers students to independently document what they are learning at school. The application is used in one of two U.S. schools and by millions of students across 150 countries. Teachers, parents, and students choose Seesaw because it is the best platform for meaningfully engaging students in their learning.
"Seesaw is an indispensable tool for students and educators across the globe. The platform’s wide adoption testifies to the caliber of those who built it. Seesaw's engineers and product managers are driven to continuously improve the product to meet the needs of a growing customer base. But in the past, a nagging fear accompanied this aspiration: the fear that new features might break something.
"Imagine GitHub going down, but instead of a bunch of developers complaining on Twitter, you're a teacher and have 25 kindergartners staring up at you,” said Emily Voigtlander, Product Manager at Seesaw. "Seesaw is an essential part of the day-to-day workflow of the classrooms we serve, which is why quality and reliability are so important to us."
Before LaunchDarkly, Seesaw had a hard time testing pre-release features in production. Part of this stemmed from the fact that engineers lacked a good system for controlling which features were visible to which customers and when (i.e., a feature flagging solution). Releases were hectic as a result.
To take things to the next level, Seesaw needed to fill its feature flagging gaps.
The main thing Seesaw wanted to do when it first evaluated feature flagging options was test new functionality with a few users before rolling it out to everyone. Concurrently, it sought to expel long-lived feature branches and move toward continuous integration. LaunchDarkly's feature management platform enabled the company to do both with ease.
Testing with real students, in real classrooms, on real networks
LaunchDarkly feature flags made it easy for us to test new features in a realistic setting," said Voigtlander. "We typically visit a classroom, turn the flags on for the hour we are there, run the study with the students, then turn the flags off – at which point, students reverted to the older version of Seesaw. Students are often sad when we turn the flags off."
LaunchDarkly allowed Seesaw to run brand-new features on the same school networks its customers used, thus exposing performance issues that would’ve otherwise been hard to spot. Plus, teachers and students could give real-time feedback during these tests.
Voigtlander explained: "When we run these user tests, not only do we get helpful observational data, but we also get feature requests directly from our student customers. Tons of useful feedback comes out of these classroom sessions."
Progressive rollouts = successful rollouts
With LaunchDarkly in their toolbox, Seesaw's engineers and product managers can do far more than just test in production; they can engage in progressive rollouts. Rooted in flag-first development, a progressive rollout entails gradually releasing features by user segment, with each segment representing a higher risk quotient.
Beyond mitigating risk, this practice enables Seesaw to capture user feedback at each phase of a feature rollout and make enhancements based on that feedback – all before making the feature generally available. After passing through the crucible of rigorous beta testing, such features drive extraordinary levels of engagement. This was especially true of one release, in particular.
Lesson library: A release like no other
One of the first big projects for which Seesaw enlisted LaunchDarkly was a lesson library. The offering included new standalone features as well as several integrations with the existing product. Despite being complex (and risky), the launch couldn’t have gone better.
"The lesson library was adopted more widely and rapidly than any features we've launched since our initial release," said Voigtlander. "For context, typically, it takes a teacher nearly an entire school year to incorporate a feature into their routine. The lesson library was adopted much, much faster than that. It easily ranks among our top three most popular features," Voigtlander added. "I think it is so successful because it solves a real customer need and works well in the classroom. LaunchDarkly feature flags, planted at various checkpoints in the development cycle, enabled us to pinpoint and respond to those needs."
Making back-end changes uneventful
Engineering has also taken advantage of progressive releases when making system changes. For example, they modified the process for storing and deleting data on the backend. A canary group and internal testers saw the change first. Over time, engineers broadened the rollout – monitoring errors along the way – until releasing the change to the whole user base.
Targeted rollouts: Showing people what they want to see, and nothing more
The ability to release features to one user cohort while concealing them from another has been game-changing for Seesaw. With these targeted rollouts, the company can provide a personalized customer experience.
For example, Seesaw used LaunchDarkly to create an exclusive user segment for premium customers. It then marked features with flags so as to enable those features for that group only. In one case, Seesaw launched a series of features to help with system access control and data privacy. Some schools badly want such capabilities. Others feel less of a need. Seesaw can now gratify both parties.
The company creates internal user segments too. For instance, some feature flags give customer support staff and account managers access to certain internal tools. This lets them do things like update customer email addresses, regulate data access for contractors, enable new features for upgrading customers, and so on. The best part is that engineers can delegate control of these feature flags to those outside engineering, thus clearing operational bottlenecks.
LaunchDarkly’s impact has rippled across multiple areas of the business. But the most dramatic effect has been in raising the quality of Seesaw’s product. In the wake of this, customer satisfaction, retention, and loyalty are at an all-time high.
"It's now much easier to gather user feedback, run beta tests, and validate new features early on," said Voigtlander. "We’re more data-driven in our approach to product development as a result, which ultimately helps us achieve our goal of building the best platform for student learning that we can."
Seesaw also has severed its long-lived feature branches, having adopted trunk-based development techniques in their stead. LaunchDarkly, by reducing the risk of shipping code, has made this so. Seesaw has vastly curtailed the number of merge conflicts in delivery as a result. Deployment frequency has risen while deployment risk has fallen.
As a part of this safer, faster delivery paradigm, Seesaw is making fewer emergency patches. Moreover, fewer bugs and outages are surfacing. Indeed, feature management deserves some credit for this.
"Before, we would just kind of hope for the best when integrating new features with the existing product," said Voigtlander. "We would test as much as we could in beta, then basically push everything to production, where we’d quickly run tests to make sure the features weren’t terrible. And, of course, there are always differences between beta and production.
But now with LaunchDarkly, we can just turn the feature ‘off,’ test to make sure everything is working, turn the feature ‘on,’ test, and make sure everything is working – all in the same environment. It’s way simpler. And as a result, we've had far fewer bad bugs get out to our customers. This is really important when you've got those 25 kindergartners who are expecting Seesaw to work for them."
Of course, it’s not just a couple dozen students who rely on Seesaw but millions. And at this rate, there will be millions more in no time.
"Instead of having a release day that's dominated by the stress of testing in production, with LaunchDarkly, we ship weekly and turn features on for all of our customers when we're confident the feature is ready. Higher quality and less stress – it's amazing."
Discover how to deploy code faster with less risk.