How to Select the Best People for Your Software Project

All Articles Culture Data Management Level 12 News Python Software Development Testing

As kids, most of us experienced a pick-up game where two captains were selected (or self-designated) and took turns choosing from an eager and anxious collection of candidates.

Some of the kids were cool and confident, knowing they’d be chosen in the first few rounds. Others were awkward and unsure, happy to be selected before they ended up being the last kid standing. And then there were one or two who were convinced—and terrified—that they’d be that last kid.

Funny thing is, the sandlot system for selecting people and building a team is more effective than how most executives choose people and build teams within multi-billion-dollar companies—and for one simple reason.

I’ll explain why kids are often better at building teams in a moment. For now, let’s be sure we’re on the same page about a couple of things.

What is a team?

First, let’s define what a team is: “A group of people with complementary skills working together to achieve a common purpose for which they hold themselves mutually accountable.”

What is a team member?

Now, let’s settle on what a team member is: “A person who is committed and accountable to the others on the team and shares their knowledge and experience to carry out the team’s work.”

Here are 8 critical characteristics of a good team member:

1. They are highly competent in their domain.
2. They take responsibility for the success of the team.
3. They follow through on commitments.
4. They contribute to discussions.
5. They actively listen to others.
6. They get their message across clearly.
7. They give useful feedback.
8. They accept feedback easily.

What are team roles?

Depending on the project methodology you use, team roles can have lots of different titles, each with a very different span of control and responsibility.

For software projects, as I’ve written in previous posts, your company might use business analysts, product owners, product managers, project managers, scrum masters, etc.

For our purposes, let’s simplify it to four roles:

1. Sponsor
2. Coach
3. Team Leader
4. Team Member

How to select the best team members:

First and foremost, kids pick kids who will help the team win. The “best” people—the people who will help your grown-up team, with perhaps millions of dollars at stake—bring the trophy home.

Don’t select members just because they are available and they work in the stakeholder group from which you need representation. There might be a good reason why they are available, and it’s probably the same reason you don’t want them on your team.

Select team members who have most of the eight characteristics of a good team member above. Be sure the core team consists of 5–7 people. Exceeding this number should be an exception.

And last, but not least, select team members who represent the critical path in the process your software will be enabling.

For example, if you’re writing CRM software or enhancements, you’re probably enabling a marketing, sales, and service process. To get the best input for your user stories or use cases, it’s likely that your team will need a sales power user (or two). Marketing and customer experience representatives might also be needed. And of course, your software product owner, architect, and developer. You can designate others beyond your core team, as on-call or as-needed subject matter experts who are prepared to support you.

What if the best people just aren’t available?

If you’re struggling to get the best people on your team, it might be because the project just isn’t a sufficiently high priority to those who have the authority to provide the people you need. If so, seriously reconsider the scope of the project, or the project itself.

Another reason is simply your ability, or your company’s ability, to attract the best talent. There are lots of reasons for this, of course, but most boil down to cash, culture, and what I call the “magic ingredient.”

The magic ingredient:

As with all teams, their success or failure hinges on leadership. Good leaders—the kind who influence and inspire teams to do hard things—are the linchpins in all organizations. Good leaders are easy to spot. They’re the one’s with followers.

The best people, those you want on your team, want to be on their team. They duplicate themselves by developing others into good leaders. They communicate well. They balance empathy with discipline. They understand that success begins with humility and culminates in self-mastery, and they help others navigate the journey between these two points.

What to do next:

Read this post thoroughly a second time. Invest a few minutes in thinking about your project team and whether you’ve assembled an A-team for a strategically important project, or if your team falls short of the grade. If you have the right team, your odds of success skyrocket. If you don’t, consider bringing in the A-team from a firm with a proven track record.

Remember, too, that it’s entirely possible a B-team will do. It depends on the project, its complexity and scope, and its impact on your internal and external clients.

Finally, do a project check-up using our free Software Project Self-Assessment. It will score your project in 12 critical areas and give you a directionally correct estimate on the level of risk you might be exposed to with your project. You can get it here.

You might also be interested in:

5 Costly Mistakes to Avoid When Defining Software Requirements

Originally published on 2018-08-08 by Dale Gibbons

Reach out to us to discuss your complex deployment needs (or to chat about Star Trek)