Select Page Blogs: The way enterprise software is built is undergoing a dramatic shift.

Traditionally, enterprise software has been built through a fairly standard process. While this multiyear process–from ideation to launch–is predictable, it’s also predictably flawed: the increasing pace of change means that the output of this process will necessarily miss customers’ changing needs.

Fortunately, there’s a new and more effective way to build enterprise software. Adapted from consumer applications, enterprise software companies–like Yammer–are leveraging a data-driven, rapid-iteration methodology to deliver more value to both customers and end users, while maintaining the strict security parameters demanded in the enterprise space. It’s because of this approach, and the adoption of a centralized vision with decentralized execution, that Yammer is able to build software that continuously evolves as the needs of our users evolve, creating a product that people voluntarily choose to use.

When we build Yammer, each feature is broken down into a set of hypotheses, and each of those hypotheses is tested individually. By incrementally developing features and using data to validate each hypothesis before making further assumptions, we are able to identify any incorrect product assumptions and correct them early on. We make a conscious effort not to become invested in any individual feature. Instead, we focus on our users and the value they receive from the product. And even when a feature is built, it doesn’t mean we have to release it; we value features that don’t perform well because they help us learn more about our users, and we use those lessons to inform future iterations. In the end, data-driven software development ensures that we only release features that increase the value Yammer delivers.

Rapid Iteration:
Frequent but smaller changes to the product are better for our users. Instead of introducing large, sudden, potentially jarring changes to the users’ experience, we guide them through subtler, easier-to-digest adjustments. And unlike the process for merging years of changes and releasing them all at once, Yammer is less likely to break or have issues because each incremental change is smaller. By building this way, we can avoid confusing or alienating our users and deliver improvements and fixes as soon as they are ready.

Centralized Vision, Decentralized Execution:
Embarking on a multi-year product roadmap simply means you’re going to build a product that is either off-the-mark or behind its competitors by the time it’s launched. At Yammer, we’re deliberate about how we organize our company, so we can build the right product for your company. We know we need to build a product that can adapt to our customers’ changing needs as quickly as they need to adapt to their changing business needs, so we’ve adopted a unique decentralized development model that allows us to continuously adapt as we execute on a centralized vision.

This is a new approach to enterprise software development and it, of course, presents challenges. But it’s more important than ever, in today’s world, that we work to exchange predictability for adaptability.

This is part one of a series of three blog posts about Yammer’s development methodology. In Part 2 of the series, our Director of Analytics Peter Fishman will look at how we use data to guide our development, and in Part 3 our VP of Engineering Kris Gale will discuss the way we’re structured and why that’s so important to how we work. To learn more, visit

Original Post: