July 3, 2020

Team Structure

logo
Syberry

How to Create the Ideal Software Development Team

One of the questions prospective clients ask us frequently is what the typical software development team looks like. The truth is, the “typical” team is hard to define. The “proper” structure and composition has been the subject of many debates, and there are so many configuration options that it is unreasonable to expect a “one-size-fits-all” approach.

As with any area of software engineering at Syberry, we always explore our options to find the optimal team composition based on each client’s specific needs, rather than simply recycling identical team compositions over and over. In this article we will outline the key decisions we make to compile the best team to build a software product.

People First

While discussing technical parameters of a software team, like the right roles or the optimal size, it is easy to get lost in the “mechanical” thinking and forget about what is most important for the best team: the right people.

The underlying basis for hiring the right people in any company is an organizational culture that serves as the filter to define whether any individual will be “the right fit” or a successful contributor. But even with the filter of company culture, every prospective employee has a unique personality, and it’s management’s job to combine those personalities into one, cohesive group. The same is true when building a software development team for a particular project.

You want your team to be motivated to work on the new product, so take some time to match their expectations and development opportunities with the specific project at hand, be it a new technology an engineer wants to try out or the first team management experience for a new lead engineer.

Team Size

As long as there are enough people to get the job done effectively and efficiently, there is no true minimum number of team members to aim for. However, it is possible to have too many people on a team. Ever heard the phrase, “too many cooks in the kitchen”?

General wisdom says the maximum team size should be about seven or eight people. This number pops up in the context of SCRUM teams, and our experience supports the guideline for other process models as well.

That said, sometimes a large project requires us to scale the production process further, using more than seven or eight people to make up a team. In this case, we have to think about the specific process models much more and start looking into a more formalized processes by which we can create and combine multiple, smaller teams to ensure alignment in both goals and tactics.

Specialization

The next thing to consider in structuring your team is the assignment of roles and specializations. While there is a popular industry opinion that an agile team should not include specialized roles, in our experience this approach works well only in a very small team of highly qualified people.

To understand the question of specialization, consider the team-building approach within your own organization. Have you created a cohesive, product-oriented team or have you divided specialized functions (like DevOps or Project Management) into centralized services and departments? The answer of course depends on what you are trying to optimize. Specialized teams are good for achieving specific goals, while centralized, nonspecialized teams are ideal for knowledge sharing and process control. Each approach has its pros and cons, and that’s why we use both at Syberry. We know that some functions, like engineering, project management or requirements, are better kept inside of the team since they are highly customized for the specific products and projects. But other functions, like DevOps or QA, are better kept in specialized teams that work separately from the rest of the group.

The key here is to find the right balance between specialization and customization by choosing which components of the engineering process to isolate and which to keep in the core team.

Qualifications

When you’re building a small team, it is easy enough to compose it with a top-tier specialists from every field of engineering. But as your team grows, it will inevitably become optimal to hire bright but less experienced people and train them to do the necessary jobs. In some sense, this is a social responsibility of the company, because if no one is willing to train less experienced engineers, they’ll never grow into senior specialists.

One drawback of an all-senior team is the high risk of analysis paralysis in the decision-making process. How often have you seen the engineers in the process of indefinite holy war on the selection of the framework or the architectural approach for the new system? Each senior team member will have a preferred way of doing things, and while healthy conflict is the source of quality improvements, when it’s taken too far, it may stall the team productivity. Often, it’s more efficient to have one or two senior leaders who can be trusted to make effective strategic decisions and then guide the less experienced team members through proper implementation.

We believe that the optimal team structure is pyramid-like, with a very few specialists on the top and greener talent on the bottom. This creates a balance between strategic decision making and forward motion, maintaining room for healthy argument while giving new people an opportunity to learn and improve — all while keeping the project moving forward in the right direction.

The management role here is to ensure that the structure of the team reflects the members’ competence and nothing else, and that the team culture is one in which everyone feels secure in sharing opinions and that ideas are judged on their merits not their presentors’ authority.

Conclusion

These are some of the most important factors in team composition, but they’re just a few of the many aspects that should be taken into account. At Syberry, we undergo a rigorous process to create the ideal team to develop every client’s unique product or system. But the most important thing to remember is that people are central to this process. Start with identifying the right people, and then work backward to design the team — starting with the goals you would like to achieve and the parameters you would like to optimize, then devising the team that works best for each particular context.

July 3, 2020

Explore More Resources:

What our customers say about us
They were worth every dollar we invested in the project and look forward to a long working relationship with Syberry.
Blaine Bunting (CEO, Atlantic Firearms)
Great development team, with a wide skillset. I've built several platforms with Syberry, and have had great results.
Eric Fulkert (CEO, Campus Suite)
I don't think you could find a better company to manage and build your project. I get so many compliments on my application, and it has a lot of unique and complex development.
Todd Surber (Founder & CEO, PIXRIT)
Being new to software development Syberry has made the process very easy. They have hit all the deadlines and the product they have produced for me is first class.
Vince Hughes (Owner, Steel Estimating Solutions)
They have truly earned this 5 star review. I have worked with many developers over the years and Syberry has been the best by far.
Bill Fahy (Owner, FDI Creative Services)
I can honestly say that Syberry has an impressive arsenal of talent that is ready to take your development needs to the next level.
Ricardo Casas (CEO, Fahrenheit Marketing)
I'm always impressed by how well they understand our clients' needs and how their team adjusts accordingly.
Rudy Milkovic (Executive Director & Founder, Velikom Interational)
The team is knowledgeable and professional at both a managerial and technical level. Syberry is very transparent and accessible, and they make communication easy.
Cory Kowal (VP of Products, THG Energy Solutions)
I would highly recommend Syberry if you want your dreams to come true. I had envisioned an automated process over 10 years ago and Syberry was able to make that dream come true.
Bobby Burkholder (COO, Luchini & Mertz Land Surveying Co)

Contact us to learn more about how Syberry can help your business achieve its every goal!

Sign a mutual NDA NDA preview before a conversation.

When to sign an NDA?

A non-disclosure agreement (NDA) is a legal contract between parties, such as the software developer (or a software development firm) and yourself, outlining information to be shared and requiring that information be kept confidential.
Send
Submit loading...

Was this page helpful?