Why self-organization is the future of software development


Opinions expressed by Entrepreneur the contributors are theirs.

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


Related: 5 Ways To Stop Your Engineering Talent From Jumping Ship

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

You don’t know what this refers to? Consider that, for managers, the old way of doing software development dictated that they gave instructions to their business analysts, who passed those requirements on to the engineers under their supervision.

By thus forcing developers to “color inside the lines”, this structure has (still) deprived developers of the opportunity to imagine the innovative solutions that are the cornerstone of a thriving startup. It also created (again, it always does) an unpleasant work experience, ensuring that any high-level creative engineer hired would very quickly look for another place 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 forward at speeds they never could. frankly never if they were held back by a top-down company. hierarchy. Through self-organization, we were able to grow our India-based development team from five engineers to over 250. And we did it in just four years.

For the tech industry to continue innovating and developing world-changing products, we all need to let go of the bureaucracy that stifles innovation and instead embrace an organizational model that empowers engineers to realize their true potential. Here are three facets to consider when shifting your company’s culture to the self-organizing model.

1. Flexibility + support = speed

The key to a successful self-organizing engineering team is to remember that “self-organizing” doesn’t mean your employees are on their own.

At Appster, we sort our developers into 25-person teams that also house all the other staff needed to complete a project, including sales people, business analysts, and technical 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 don’t have to waste time waiting for directions, but because working with a defined group of colleagues gives them an idea of ​​each other’s strengths and weaknesses, allowing them delegate responsibilities accordingly.

While the tribe gives self-organized engineers the flexibility to move quickly, two other groups – “villages” and “communities” – offer engineers the support needed 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 allows employees to share their learnings across teams and ask for help when they encounter a problem they have not yet addressed. For example, a tribe working on a healthcare app might contact another tribe with a track record of success in that area.

A “community,” meanwhile, organizes engineers according to their specific programming skills – such as iOS or PHP development – giving less experienced coders a chance to lean on their more skilled colleagues for technical advice. .

By combining flexibility and support, this agile software development framework gives engineers everything they need to consistently deliver impressive work and fast turnaround times.

Related: 6 Steps to Creating a Strong Company Culture

2. Sprint with caution

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

This is because it takes longer to correct the mistakes you make when moving too quickly than it does to avoid those mistakes in the first place by taking the necessary precautions. That’s why it’s so crucial for every self-organizing engineering team to implement a robust planning process that gives developers the ability to work quickly without hitting a snag.

Before writing a line of code at Appster, we go through a two to three week process called “sprint zero”. During this phase, our Technical Architects, Graphic Designers, Product Owners and Senior Developers take the time to dig deep into a project and come to a deep understanding of exactly what needs to be done to complete it. This means determining what infrastructure they will need to build, what design patents they will use, and what the finished project should look like from a high-level perspective.

Along the way, we make sure we’re on track by using a practice called “HIPA sprinting,” which takes place at different stages of the development process. HIPA (Hardening Innovation Performance and Architecture) sprints are essentially a chance for teams to pause the project and check that they’ve done everything right up to this point.

For example, you can perform code reviews to make sure you’re following your design patents, take the time to fix bugs that have surfaced, and use what you’ve learned from the start of the project to adjust your plans for completing it. . .

Ultimately, the flexibility that startups can provide through a flat organizational structure won’t be worth much to their engineers if they haven’t thought about giving those developers the ability to operate first.

3. A change that is worth it

Building an agile, self-organizing engineering team isn’t easy. Many developers are used to a boss who can hold hands every step of the way, while the vast majority of startup founders are so obsessed with their business that they’re afraid to give in even a little. of control to inferior people. at the bottom of the totem.

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

All things considered, self-organizing is the fastest way to build the team of engineers you’ve always dreamed of – a team that’s quick, capable, and absolutely thrilled to work for you.

After all, it’s much easier to scale your development team when no one ever wants to leave.

Related: Attracting Top Engineering Talent: Bigger Isn’t Always Better


Comments are closed.