How to Create a Perfectly Sized Software Development Team?
How sizing is important for team effectiveness and what the important roles are in a good-working software development team
You are probably experienced enough to realize that the biggest asset of every business is people. Most of the time, they are the deciding factor for every process requiring good quality. It’s no different in case of the team building. A good team is equal to the output most desired by you. But have you ever considered how the quality might be affected by the team size? Or what the key roles are that should be covered in your software development team? We happen to have quite an experience in this matter and so we have decided to share some practical tips with you. We will show you how to manage team building for IT solutions and why you should do it in such a particular way.
You want to build your whole new software development team.
First, let’s face the size element. Normally we might think that the more people the better. Many managers and leaders fall into the mental trap that adding more people to the team is always good — especially in times of expansion. After all, more people lead to more ideas and faster execution. People are your best asset, so adding more assets to a project should power up the progress, right?
Well, it’s only true to some extent.
You may have heard of the Ringelmann effect. It’s a phenomenon occurring when a team gets increasingly bigger. We can then observe something called social leafing which illustrates how the individuals’ productivity decreases while the group size increases.
Why is it so?
Mainly because people feel less responsible for a common goal, which may be caused by the lack of evaluation of individual contribution. Whenever there is something we don’t really fancy doing, we’d rather indicate another person to perform the task for us. That’s just the way humans work.
Another reason is surely communication. The issue with quickly growing teams isn’t quite the team size itself. Richard Hackman — an organizational psychologist and expert on team dynamics stated that it’s the number of links between people that begins to pose the problem. In bigger teams, the number of connections you need to maintain is higher, which makes it harder not to fail.
Take a look at the formula determining the number of links inside a group:
where n is the number of people involved
Using it we can easily calculate the function showing the rapid growth of connections within the group.
So, what size do we recommend?
Jeff Bezos, Amazon CEO is well known for his “two-pizza rule”. It’s very simple:
You can’t feed your team with 2 pizzas = your team is too big
So, according to this rule and taking into consideration all previous observations, we would highly recommend that your team consists of 5 to 7 people. And if it’s bigger than that simply consider splitting it into two smaller ones, assigned to different tasks. Just be aware that having too many teams is also an issue, since at some point you might have to hire a person coordinating the cooperation between all of the groups.
Covering roles in the software development team
Now that we established the quantity, we may proceed to quality. To remain productive, each member needs to have their own expertise. In this way every stage of the process will be covered and we will avoid two people unnecessarily doing the same task.
This is our proposition (that we have verified multiple times) of a well-balanced software development team consisting of 5–7 people:
● UI/UX Designer
● 1–2 Frontend Engineers
● 1–2 Backend Engineers
● 1 QA Manager
● 1 Project Manager
Now that we have decided how to divide our team into specific professions, we might take a closer look at what their areas of expertise are and why we may actually need them in our team:
UI/UX designers are the artists turning your project idea into a visual thing. Although sometimes this position might be held by one person, we can also distinguish two different areas of activity. While the User Interface (UI) design is dedicated to decide how the application is laid out, the User Experience (UX) focuses on the way end-users interact with the app.
These are people of high importance in the team structure, since they are responsible for everything that your users see as a final product. Part of their responsibility is also delivering a smooth experience without any lags or unpleasantries. Their hardest task is maintaining the uniformity — making sure everybody is being delivered exactly the same experience, irrespectively of device or browser.
This is a part of the team not only responsible for the coding process, but also planning and developing the whole application architecture, deciding which services and databases should communicate together, how API and external integrations should work, and how to make sure the product is secure and stable. In general, the primary role of a backend developer in the team is to be Chief Technological Problem Solver.
Nobody’s perfect. And that’s why your team could benefit from having a Quality Assurance manager. In simple words, what they do is spot the bugs and problems before users do. They are far more than simply testers of your application. QA specialist pays attention to performance, security, usability, portability and looks of the application from the end-user perspective.
This person is meant to be the brain and the heart of your team. Project Managers make sure that the project is always on the right track. At the same time they make sure the team is motivated and highly-performing, risks are identified and monitored, and that the highest development and communication standards are followed. We could also add that this person is a bridge between the IT world and business issues.
Now that you know how the perfect Software Development Team should look like, it’s time to make a good use of this knowledge. The most difficult part is to put it all into practice, as it always happens. However, we sincerely believe that with the help of this short guide you will create just the team you need and enjoy their effective work for a long, long time.
If you’d like more insights on hiring a small dedicated development team, feel free to contact us. We’ll be happy to share our experience!
Click here to contact Digital Colliers for a free consultation.