× My Say News & Politics Life Sports Cars Motorcycles Bicycles Cameras Technology Money Travel Entertainment Health Fashion Relationships Stories About Scrivinor
Learn about Scrivinor


5 Steps to Building an Expert Software Development Team


Compassionate Green Quelea
Join to follow...
Follow/Unfollow Writer: Compassionate Green Quelea
By following, you’ll receive notifications when this author publishes new articles.
×
Don't wait! Sign up to follow this writer.
Scrivinor is a privacy-oriented writing platform. Unleash the power of your voice. It's free!
Sign up. Join Scrivinor now! Already a member. Login to Scrivinor.
2019/07/28
12   0  



It’s no secret that every business stands on its people. This reliance is based not only on how dedicated and professional they are but also on how effectively they are managed.

Building a software engineering team for a new project may be a frustrating task, especially to those who have no experience in this area.

Being a large software development vendor whose success significantly depends on effective team management, Intersog offers a step-by-step guide on how to structure your IT department so it will deliver paramount results. The guide also answers a few frequently asked questions, such as:

  •  How big should my team be?

  •  What specialists do I need for a project?

  •  How do I assign the roles correctly?

All of the tips are time and experience proven. We hope they'll be helpful for your business and development goals. So... it's reading time!

Step 1: Decide on the size of your crew

Intuitively, it may seem that the rule “the more the better” suits every case perfectly, but the reality is not that straightforward. It is true that two developers will do the job faster than one, but ten developers will never outperform five.


Why? The reasons are as follows:

  • Blurring of responsibility

The bigger the group is, the lesser is the personal responsibility; it becomes more difficult to assess the contribution of each team member. Feeling that their job is less likely to be rewarded employees feel less engaged and are more exposed to tempting ideas such as, “Eventually someone will have to do this job. Let it not be me!”

  • Too much communication

Yeah, we all know those teams who spend more time conferencing than actually working. The major problem with large groups is not in the number of its members but in the connections they have to maintain, simply to prevent the process from becoming a disaster. The strength of the chain is in the weakest link. And when there are too many links it is only a matter of time before one of them fails, causing holdbacks and fierce arguments.

  • Stress

A lot of distraction, accompanied by the feeling that the job is meaningless, is a highly combustible mixture. This volatile situation is bound to burn out your employees before they even get their first paycheck. Unhappy workers are not the best performers.

All the factors above, being combined eminently, lead to the well-known Rigelmann effect. It shows the decrease of individual responsibility with the growth of the group. The effect is also called “Social loafing” which we believe describes it the best.



So, to prevent your business from turning into a wicked blend of torture and charity you might consider using the “two-pizza rule” introduced by Jeff Bezos. It says that if you can't feed your team with two pizzas it's too large. Taking into account people's varying appetites it's better to clarify that the optimal team size is 5-7 members.

But what do you do if your team is much, much bigger? This is what step 2 is all about!


Step 2: Split your team into smaller groups

Many technology powerhouses such as Uber, Facebook, or Google run teams of hundreds of people and still manage to make them work like a Swiss clock.

What they do is restructure this crowd into comfortable smaller teams.

That helps a lot, but you still need to consider that increasing the total number of teams also makes it more difficult to coordinate their cooperation. You may need to hire another specialist to streamline the communication. Otherwise, you're at risk of creating a situation where two teams are hammering at the same task.

Step 3: Select the optimal team structure

To reach the ultimate team performance, every team member should understand his duties and scope of work.

Generally, there are two ways to organize your team using methods adopted by most companies.

  • One Universal Team

This team structure is rather popular among startups and small businesses that can afford only one team for a project. It usually includes all areas of expertise from engineers to designers and testers. This approach allows you to keep communication easy and avoid many issues associated with bigger teams. This structure also gives you more room to experiment with approaches. Agile, Lean Scrum, Waterfall, and Feature-driven development – all work well with small teams. As well, it becomes easier to shift between them when needed.

  • Goal-Driven Squads

For bigger companies it's almost impossible to keep all processes up and running within one large team.  In that case, companies prefer to divide their team into smaller goal-focused squads, commonly called chapters. Each chapter includes all the specialists in a certain area (e.g. designers) while these specialists may be assigned to separate projects.


Here's a quick comparison of these two set-ups:

One Universal Team

Goal-Driven Squads

Company type

Startups and small businesses

Large companies

Project type

Small and rather simple projects

Complex projects that demand working on several tasks at the same time

Pros

Easy to manage

Plain structure

Straightforward communication

Each group understands its responsibilities

Ability to accomplish different tasks simultaneously

Cons

Sometimes the barrier between team member responsibilities is rather blurred

Harder to manage

Higher risk of communication issues


Yet, the team will never be independent and effective if you don’t build it and assign roles correctly. Our next tip is just about that!


Step 4: Choose the right specialists for your team

As we've said before, splitting your team into smaller groups may be the right choice... but only when done the right way. Putting 5-6 random people together may be good for team-building but not for building a good team.
Take care to keep your crews balanced. In other words, make sure they include all the experts needed for successful completion of the task.

Most commonly a team includes:

  • 1 PM

  • 1 UI/UX Designer

  • 2-4 Software Developers (depending on your project these may be Front-End/Mobile or Back-End developers)

  • 1 Tester

Of course, this list may vary depending on your needs and project specifics.

Step 5: Assign the roles

There is a huge difference between being called a “team” and actually being a team. To turn a group of people into a perpetual coding mobile you might think about assigning some special roles.

Here are a few of the most commonly used:

Team Lead

First of all, a Team Lead is not a Project Manager. While a PM usually cares about the overall process running smoothly, the Team Lead ensures that the team is cohesive and all the resources are available. The Team Lead is also not the best coder (he can be but it's not a must). It should be the person who is able to care about the team’s needs – a coach to some extent.

Chief Architect

This role is crucial for large teams with a branched structure. The Architect ensures that everyone has a common understanding of the product's vision and architecture as well as coordinates the communication between teams.

Product Owner

This person ensures that the team builds the right product. He's responsible for planning and prioritizing. In other words, he plays the role of a bridge between the team, stakeholders, and customers.

There are plenty of other roles that can help you bring your team to the next level. Describing all of them will require another article. In most cases, the roles stated above are more than enough.

Sum up: There's always room for step 6, 7 and so on...

An important thing to understand is that when all the teams are loaded, your work doesn't end. To ensure the perfect productivity you always need to stay involved in the process. Here are a few other factors you should pay attention to as a manager:

  •  Inner climate

A psychological conformity of your team members is as important as their expertise. Pay attention to how your workers treat each other. Solve conflicts as soon as possible, encourage cooperation and do your best to inspire your staff to outperforming themselves.

  •  Ever-changing circumstances

Every business poses its own requirements on the development process. For example, the situation may require you to shuffle your teams or change the management approach. Don't be afraid to implement such changes.

  •  Individual goals and interests

Try to assign employees to the projects that match their interests. You'll be surprised at how productive, engaged, and proactive people may be.




About the Author:

Intersog.com delivers high-performance software engineering and agile team staffing solutions that help businesses be more successful tomorrow.


Scrivinor™ is a unique multiple pen name blogging and forum platform. Protect relationships and your privacy. Take your writing in new directions. ** Join Scrivinor **
Scrivinor™ is an open writing platform. The views, information and opinions in this article are those of the author.


Tags: technology x 2 tech x 3 software development x 1

Share this article on:



Join the discussion now!
×
Don't wait! Sign up to join the discussion.
Scrivinor is a privacy-oriented writing platform. Unleash the power of your voice. It's free!
Sign up. Join Scrivinor now! Already a member. Login to Scrivinor.