Why Self-Organization Is the Future of Software Development

Join us at Entrepreneur magazine's Growth Conference, Dec. 15 in Long Beach, Calif. for a day of fresh ideas, business mentoring and networking. Seats are limited--Register now to secure your spot and receive exclusive reader rate (expires 12/8).

The early years of any successful startup are marked by rapid, constant change. Clients come and go;business models are adopted and abandoned;and an influx of new faces almost certainly necessitates bigger and better office space.

Related:5 Ways to Keep Your Engineering Talent From Jumping Ship

But even though every young business needs the agility to pivot and grow as new challenges arise, many of us still continue to organize our engineering teams under the same tired, hierarchical structures employed by the plodding industry giants we are trying to disrupt.

Unsure what that refers to? Consider that, for managers, the old way of doing software development dictated that they give directions totheir business analysts, who would passed those requirements down to the engineers under their supervision.

By forcing developers to "color inside the lines" this way, this structure robbed (still does)developers of the opportunity to dream up the innovative solutions that are the very lifeblood of a thriving startup. It also made (again, still does) for an unpleasant work experience, guaranteeing that any top-tier, creative engineers hired would veryquickly lookfor somewhere else to work.

What to do? At our app development company, we've turned to self-organization: a new way of doing things that empowers our engineers to make their own decisions and move at speeds they would quite frankly never reach were they being restrained by a top-down corporate hierarchy. With self-organization, weve been able to scale our India-based development team from five engineers to more than 250. And we've done that in just four years.

For the technology industry to continue breaking new ground and developing world-changing products, we all need to abandon the red tape that stifles innovation, and instead embrace an organizational model that allows engineers to realize their true potential. Here are three facets to consider when changing your company culture to the self-organization model.

1. Flexibility + support = speed

The key to a successful, self-organized engineering team is remembering that self-organization doesnt mean your employees are on their own.

At Appster, we sort our developers into 25-person teams that also house all the other personnel needed to complete a project, including salespeople, business analystsand tech support. These teams, which we call tribes, allow engineers to work collaboratively with other employees independent of management oversight. This makes our developers more efficient, not only because they dont have to waste time waiting for directions, but because working with a set group of coworkers gives them a feel for everyones strengths and weaknesses, allowing them to delegate responsibilities accordingly.

If the tribe gives self-organized engineers the flexibility to move quickly, two more groups -- villages and communities -- offer engineersthe support necessary to ensure they are moving in the right direction.

A "village" is a group of two or three tribes overseen by a scrum master; this structure allowsemployees to share their learnings across teams and to seek out help when they hit a problem they havent previously dealt with. For instance, a tribe working on a healthcare app might reach out to another tribe with a track record of success in that area.

A community, meanwhile, organizes engineers based on their specific programming skills --such as iOS or PHP development --giving less experienced coders a chance to lean on their more knowledgeable coworkers for technical advice.

By combining flexibility and support, this agile software-development structure gives engineers everything they need to consistently deliver awesome work and fast turnarounds.

Related:6 Steps for Creating a Strong Company Culture

2. Sprinting with caution

One of the biggest challenges self-organizing companies face is finding a way to balance the freedom that engineers receive to make their own decisions with a process that prevents them from wasting time when their instincts lead them astray.

Indeed, it takes longer to fix the mistakes you make when youre moving too quickly than it does to avoid those errors in the first place by takingthe necessary precautions.Thats why its so crucial for every self-organized engineering team to implement a robust planning process that gives developers the runway to work quickly without hitting a snag.

Before we write a line of code at Appster, we undergo a two-to-three-week process called sprint zero. During this phase, our technical architects, graphic designers, product ownersand senior developers take the time to dig into a project and come to a deep understanding of what exactly needs to be done to complete it. This means figuring out what infrastructure theyll need to build, which design patents they will employand what the finished project should look like from a high-level perspective.

Along the way, we make sure that were on the right path by using a practicecalled a HIPA sprint, which takes place at different stages of the development process. HIPA (Hardening Innovation Performance and Architecture) sprints are basically a chance for teams to pause the project and check that theyve done everything correctly up to that point.

For instance, you can do code reviews to make sure youre following your design patents, take the time to fix any bugs that have popped upand use what youve learned from the beginning of the project to adjust your plans for finishing it.

At the end of the day, the flexibility that startups can provide through a flat organizational structure wont be worth much of anything to their engineers if they havent first thought ahead to give those developers room to run.

3. A change worth making

Creating an agile, self-organizing engineering team isnt easy. Many developers are accustomed to a boss who can hold their hand at every step of the way, while the vast majority of startup founders obsess about their companies to the point that they're frightenedto turn over even a little bit of control to folks lower down the totem pole.

However, given the increasingly competitive nature of software development, the creative problem-solving that empowered engineering teams provide will likely prove the difference between the winners and the losers in your and our respective spaces. Not only that, but self-organized engineering teams have a major advantage when it comes to attracting superstar employees who want to control their own destiny.

All things considered, self-organization is the fastest way to build the engineering team youve always wanted -- a team that's fast, capable, and absolutely thrilled to be working for you.

After all, its a lot easier to scale your development team when nobody ever wants to leave.

Related:Attracting Hot Engineering Talent: Bigger Isn't Always Better

http://feedproxy.google.com/~r/entrepreneur/latest/~3/R6CPXUKw6b0/252819

Write a comment

Comments: 0