When Adam Pisoni was introduced to Conway's law, which states each company builds products that are a reflection of the company itself, the proverbial light bulb went off.
As co-founder and chief technology officer of the enterprise social software company Yammer Inc., Pisoni realized the hurdle to getting new ideas to market faster didn't hinge on how engineers used Agile development to build products; instead, the sticking point turned out to be the company's organizational structure.
Yammer's engineers required as much flexibility as possible, but projects that spanned the company required a lot of behind-the-scenes engagement before getting underway, which adds time and rigidity to the development process. So Pisoni and his team set out on a journey to see how they could remove those obstacles.
"We created an organizational culture that accepted the fact that even the organizational structure was an experiment," said Pisoni at this year's Gartner Catalyst conference.
With enough Agile development experience under their belts, they began applying principles such as testing and rapid iteration to the company's organizational structure itself. Eventually, Pisoni and his team landed on the makings of what he calls post-Agile. "It involves decentralized, autonomous, transparent, dedicated, ephemeral teams," he said.
The first installment of this SearchCIO two-part series explained the importance of data and the scientific method in Yammer's post-Agile world. This installment offers eight tips on how Yammer knocked down the traditional corporate structure in search of greater flexibility.
One piece of data on the company's success? Microsoft, which acquired Yammer in 2012, is looking at applying the post-Agile practices adopted by Yammer to its own Microsoft Office Division. Read "Introducing the Yammer culture to a Microsoft world."
A checklist for the post-Agile world
1. Make honesty a priority: Data-driven decisions have to be rooted in honesty, Pisoni said. Yammer relies on a neutral analytics team and on predefined metrics to ensure impartiality. "The analytics team is separate from the product and engineering team so that they are not incentivized to prove we're right or wrong," said Pisoni. "They're incentivized to be accurate."
2. Move those metrics: One of the foundational Agile development practices is to quickly build and ship code, which gives companies a chance to check in on how bigger projects are coming together throughout the development process. But for Yammer, shipping code is less of a priority than the key metrics that move business decisions to "do what ends up being right for the end user," Pisoni said.
3. Limit the scope of a project: Yammer projects are between two and 10 weeks long. This helps maintain a rapid pace of work and keeps the team focused on the task at hand.Projects that take longer than two to 10 weeks are broken up into smaller proj ects.
4. Limit the size of the team: Project teams are made up of two to 10 people. By keeping teams small, Yammer avoids having to add systems or processes that ensure all team members are kept in the loop. The model for this was based on the success of quarterly hackathons, where Pisoni saw the incredible amount of work a small team could accomplish in two days compared to how they normally developed software. The size of the team was determined to be a contributing factor, he said.
More on Agile practices
Liberty Mutual CIO offers an IT map to business value and agility
Will Agile methodology drive change at Houghton Mifflin Harcourt?
A guide on how to use Lean analytics to grow a business
5. Remove hierarchical silos: Companies tend to be organized as hierarchies, which is a collection of departmental silos that operate under a top-down management approach. Yammer found hierarchies are too much like cubicles, encouraging employees to focus on perfecting what they contribute to a project rather than on the success of the project as a whole. Not only can this limit creativity and collaboration, but it can make employees territorial and grind the project to a halt, Pisoni said.
Yammer decided to employ a network model instead, where employees are organized by expertise rather than department. Before a project gets rolling, the management team culls the experts needed to see the project through. One team member is designated the tech lead, who effectively takes charge of the group throughout the duration of the project. Before the project begins, the management layer is stripped out altogether, so no outside influences bias the group's progress.
6. Create a built-in tryout for management: Designating a tech lead isn't equivalent to giving a promotion, but the position offers that employee an opportunity to shine and to also help the company identify management material. "They don't control the salary, but certainly their feedback about the people, and their performance on the team, has an impact on the career progression of those people," Pisoni said. Most Yammer directors and managers are people who excelled at being team leads, he continued, but in any case, designating an employee as team leader is a low-risk opportunity for the company since projects last no more than 10 weeks.
7. Establish rotational assignments: Employees are constantly moving around, rotating off one project and onto another. This breaks down siloes, which enables emergent best practices and architecture to rise up organically, Pisoni said. As part of their rotation, engineers are required to perform stints on both support and infrastructure. Doing so adds a layer of accountability into the mix, because engineers know they're going to have to support whatever they've built.
8. Track who's doing what: A massive whiteboard is used to keep tabs on all projects and who's working on what, but it also ensures engineers work on only one project at a time. In more traditional companies, engineers split up their time between projects, but the singular focus at Yammer is meant to keep everyone on track and accountable, Pisoni said.
- Latest Thinking in DevOps: Your Guide to Agile Software Development Practices ... –ComputerWeekly.com
- 5 Criteria for Choosing Enterprise Agile Development Software –CA Technologies