How to Recognize an Independent Software Development Team That’s Worth Hiring

fireup.pro
An Idea (by Ingenious Piece)
4 min readApr 3, 2020
scrum, external java teams, remote developers
Photo by fireup.pro

Hiring an external Software Development team to provide technological solutions for the purpose of core business is a popular thing to do. However, choosing the right partner isn’t exactly easy, and calls for a thorough selection process. We know from experience that it pays to verify not only technical prowess and the quality of past projects, but also soft skills. Learn more about what makes an external team effective and worth pursuing a relationship with. This advice may be useful to companies looking for a technological partner as well as teams-for-hire themselves.

1. The team meets, talks, and keeps the finger on the pulse

There are two ways to work within a team. Handing everyone their task and waiting for the results is the common approach that is not recommended. Rather, the suggested approach is to keep communicating.

The vast majority of IT teams work on the basis of agile project management methodologies. The most frequently chosen frameworks are: Scrum, Kanban, or Scrum-ban. If you don’t know what Scrum is, take a look at our article about scrum or visit The Scrum Guide.

We are a Scrum team, and this means that we hold regular meetings of different kinds: daily scrum, planning, retro, or backlog refinement. This way we’re able to keep everyone up to date and course-correct immediately if necessary.

If you’re considering hiring a remote Software Development team, make sure not only that they hold regular meetings, but also that these meetings are attended by the stakeholders with a real influence on the progress of the project. And by that, we mean business representatives like Product Owner or Business Analyst.

Now, why is the participation of these people necessary? Because when they are present, the team can ask about the direction of the project development, learn what motivates the change, understand the business context, etc. This, in turn, has a direct impact on decision making. It shortens the time required to make a call and allows for more efficient project implementation.

2. The team knows the value of the office kitchen

Where is the project discussed? At meetings, which usually take the form of video conferences if a remote team is involved. But what happens next?

It’s worth investigating what’s your potential partner’s course of action after the conclave wraps up. In our case, we head for the kitchen and once again process what we’ve just learned and established, over a cup of coffee. This is a great way to systematize information and discuss more freely, without your partners looming over you and going through talking points from the agenda.

The kitchen is a great place for discussion. It helps people loosen up in a familiar atmosphere. It makes them speak openly, whereas they might have felt intimidated or distressed during a teleconference. Moreover, making decisions seems to be simpler and easier if you make this kind of conversation a post-meeting routine.

Of course, this is just a metaphorical way to say that it’s crucial that the external team discusses matters among themselves and doesn’t treat your hangouts as the only time when they can come up with ideas or solutions. This approach also makes team-to-team communications shorter and concise. After you discuss things with your co-workers, you can usually reduce the takeaways to a couple of points and resolve an issue via a single e-mail.

3. The team knows how to balance between ‘good enough’ and ‘perfect’

We like our projects like we like our steak: served well-done. However, we are also aware that putting finishing touches is going to take an eternity (and cost the monetary equivalent) if you aim at absolute perfection.

Every hour spent on refining a working code means additional cost. This is something many inexperienced programmers aren’t aware of. We’ve observed that people who are only starting their careers treat the code in an academic way, and don’t pay much attention to the practical aspects of implementation. While this pursuit of perfection is admirable and should be the mission of every company, the team needs to ask themselves if it’s really worth implementing that additional element, and what difference will it make for the admin and the end user.

The basis of the work of your remote partner should be a consistent vision of how the code should be written. This vision needs to be presented in the form of documentation, or, for example, good practices. The latter is needed to establish the requirements, or should we say: the expectations.

Not every solution must have the latest framework. It must meet the technological requirements and achieve business goals. Sometimes good enough is better than perfect, and the ability to recognize that you have reached this point is a characteristic of any good programming team.

Key takeaways

If you are looking to partner with a remote Software Development team:

  • learn about their inner work culture,
  • make sure they discuss progress on a regular basis,
  • choose teams that show interest in the wider context of your project,
  • see if they know how to condense their questions to a simpler form, to avoid long and unproductive meetings,
  • make sure to hold frequent meetings with them, and to choose the right people to attend,
  • check what their documentation looks like,
  • make sure they understand your needs and expectations.

And if you work within such a team, it won’t hurt to at least try to adopt the above-mentioned approach and see how it works for yourselves.

Author: Łukasz Sobisiak - Java Developer Team Lead with 15 years of experience. He turns our clients’ business needs into technical solutions here, at https://fireup.pro

--

--

fireup.pro
An Idea (by Ingenious Piece)

We help grow your business by providing effective agile Java & Javascript teams fireup.pro fb.com/fireupsoftware