In recent years, a large and successful software-as-a-service (SaaS) company experienced tremendous growth, and with that growth, expanded its software development organization rapidly (~300% in 18 months). To enable the fastest growth possible, the company adopted a distributed development stance that saw code development functions and staff spread across multiple countries on three continents.
Distributed development, it seemed, was a critical enabler of rapid code development, abundant talent, and the lifeblood of the company’s strategic advantage. Yet, it quickly turned into a massive operational nightmare that nearly brought the company to its knees.
In this post, we examine some primary causes behind a failing distributed development strategy and call out the warning signs.
Warning Signs are Both Positive and Negative
Not all warning signs show up as negative actions or consequences. In fact, some can seem incredibly positive, just as the merger between two industry giants can seem positive at the outset. Yet, as evident from mergers like that of AOL-Time Warner, good things can turn bad quickly without the right strategy and dedication to operationalizing that strategy. So, it is with distributed development.
Warning Sign #1: Hyper-growth
The SaaS company experienced rapid growth, both organically and via acquisitions. With all the media attention and rave user reviews it was receiving, hiring staff was no problem at all, as so many developers wanted to be part of something seen as advanced, leading edge. Despite the fast growth and evolution from a development team in just 1 country to now having teams in 4 countries, everything was under control. That’s because the management of the development efforts remained centralized to the headquarters location, with efforts leveraging distributed teams in a clearly defined manner.
Management ignored the hyper-growth warning sign because everything was seemingly great with development. They even were able to adopt agile methodologies across geographies in a scaled agile mode to churn out more code releases than ever.
Soon, however, hyper-growth brought problems. The company did not grow leadership and collaboration efforts in line with development efforts. If an organization expands at five times normal speed, for example, then its leaders must keep pace. Developers are humans, and they need the proper management that high-performing organizations are known for local management, feeling of ownership, and collaboration capabilities, to name a few. The company’s lack of attention to these details led to an eventual deterioration in local performance as well as inter-continental collaboration.
Warning Sign #2: Lack of Shared Vision
Quite often, when a company grows quickly, the easiest way to introduce new innovations to the market is to focus development teams on specific products, features, and/or tasks. With each team laser-focused on its own contribution to innovation, market successes seem to come continuously.
Yet, this environment can quickly turn toxic, and this SaaS company’s willingness to have development teams operate without a unified vision contributed to the downfall of distributed development. Once initial successes were completed, developers did not know what the over-arching priorities were, meaning they could all be innovating toward different and conflicting goals. Moreover, without a sufficient number of true leaders in distant locations, teams located on different continents separate from headquarters often were unaware of what they should be doing to advance the company in the market.
To ensure a company has properly set and enforced its vision globally, they should perform the ‘vision test’ periodically. Essentially, all one needs to do is ask anybody in the company, regardless of his/her location, what the strategy and the mission of the company is. If he/she cannot provide a clear and concise answer, then trouble is afoot.
Warning Sign #3: Acquisitions
A seemingly positive development ─ acquiring a fellow innovator ─ should also serve as a warning sign of danger to come. Acquisitions frequently present danger. Employees of both firms wonder such things as the following: Is my job on the line? Which organization’s development team is the primary one? Was this an acquisition for customers or for code? Will the direction completely change? Will our product disappear? What’s my role, future, and level in the new development organization?
The SaaS company acquired several companies so fast that, almost immediately, there was a team-versus-team mentality that became pervasive across the globe. Not only were there geography-based misunderstandings, but areas of duplication created ‘bad blood’ for teams, no matter where they existed. Moreover, lacking local leadership, developers had little insight into priorities and the reasoning behind selections of the most important initiatives.
Acquisitions bring angst. So, their very occurrence is a warning sign to management that people need to be managed more closely and with a higher degree of consciousness and communication. This will prevent valuable resources from proactively leaving the company or freezing their progress due to fear and uncertainty.
Warning Sign #4: Lower Product Quality
Code quality is relatively easy to measure, given the proliferation of code review tools and code testing practices. If an organization experiences either spikes or steady, gradual increases in ‘bugs,’ then they should consider themselves warned.
Once again, the SaaS company reacted slowly to the downward trend in code quality and began losing market share, because of its inability to release quality features and new innovations as fast as competitors. Their number of unresolved bugs had been steadily climbing, so the trend could have been spotted. It wasn’t until they had a much larger number of high-severity bugs and customer complaints that management took notice.
Warning Sign #5: Lower Productivity
As with code quality, decreasing productivity is a telltale sign of trouble ahead (or present). By comparing the number of epics released over standard periods, an organization can gauge productivity. In the case of our SaaS company, the global development team saw their productivity shrink from 5 epics to just 2 over similar periods ─ with similar size and user storage. By the time productivity metrics began to show, the SaaS company already knew they had multiple problems in distributed development operations.
The causes? They were many. Their most glaring mistake came in the division of teamwork. There was no clear product ownership, which left people from different geographies, no choice but to fight over it. In one example, they had an entire team of developers from multiple offices working on a single product. Most people were on their own. Even the office with two team members struggled to get anything done because their meetings lacked meaning without the presence of the actual product owner and other team members. Productivity was crawling at a snail’s pace.
Finally, and it may seem obvious, but growth in the volume of missed releases is analogous to any of the most significant productivity declines.
Warning Sign #6: Deteriorating Release Quality
Not only does the pace of release matter, so does the quality. If the caliber is deteriorating, then another sign of danger is rearing its ugly head for management to see. The SaaS company was not only facing an environment in which it released behind schedule, but the releases had incorporated far fewer innovations than originally intended. A general lack of creativity was manifesting itself in releases that simply could not excite the market. Again, competitors moved in and started taking away market share with their innovative releases.
Warning Sign #7: Higher Employee Attrition
Given a choice, unhappy or dissatisfied employees leave a company. Attrition is a clear warning sign of problems in a distributed development organization. While there are numerous operational and management issues previously described that could cause higher-than-normal attrition, the distributed environment of the SaaS company suffered most from two. They were insufficient local leadership and cultural insensitivity.
Local management was lacking, and in some offices, nonexistent. This is because management failed to attract management-level people in some very challenging geographies. Without local managers, people tended to be treated as workhorses, merely pumping out the code for some remote corporation overseas. This was no way to develop a sense of ownership and passion for helping the greater good of the organization. A clear ‘sign within a sign’ is the inability to staff local management teams.
At the same time, the company’s management team failed to attract and motivate management-level employees to repatriate back to their home countries. The SaaS company failed in understanding that it would need to give these people product ownership to motivate them to pick up their families and move them across the world.
The company’s lack of cultural sensitivity led to insufficient hiring, followed by an eventual and significant downturn in employee retention.
For companies planning to operate with software development teams in a distributed environment, the key to success rests in careful and well-thought-out strategic planning with intentional communication and leadership. Today, all companies face fierce competition, and distributed development is a great approach to solving some of the resource challenges we face. However, your distributed development organization can become dysfunctional rapidly, and negative issues become magnified quickly. Heed the warning signs. Just as importantly, plan to measure properly so that you see the warning signs far in advance of troubles.
At Crosslake, we have a great deal of experience with Distributed Development and have used it frequently to accelerate software delivery. Success is a result of leadership and experience using tried and true best practices. If you’d like to discuss how Distributed Development or our Software Development Partner program can accelerate your development efforts, touch base with us today.