Blog8 Mistakes Not To Make While Picking A Software Company

https://1xvbqftlsaudpgvr3b4ti91a-wpengine.netdna-ssl.com/wp-content/uploads/2020/05/spider-2913761_1920-1280x853.jpg

Entering a software development project can be a daunting experience if you have never done it before. It is not easy to find a reliable team that can work with you to deliver the software that meets your requirements. This article is for non-techs who have an idea or are pursuing the dreams of their own start-up. This article will help you dodge some of the obstacles and overcome some of the speed-bumps you may face when looking for a team to help you with your vision. Most of all it will help you avoid mistakes when picking a software team

Any time we enter an area that is not within our realm of expertise we can feel overwhelmed easily due to technical jargon or experience needed to understand what is happening in that space. It can be easy to fall into a sense of false security with a team that says the right things but does little to back them up, and before you know it you feel “too invested” in the team and product to give up or move somewhere else. 

If you have made that realization yourself, then you need to move to another team and the points discussed below will resonate with your experience. If you are at the start of the journey and in the processes of selecting a team, be on the lookout for the following: 

  • Hiring the wrong kind of team
  • Don’t go for the cheapest option
  • A Team that provide a fixed price quote after one meeting
  • A Team that Doesn’t create a road map
  • A Team that doesn’t communicate well
  • Not having a dedicated team
  • Don’t get a freelancer to run your project
  • Don’t offer the Start-up Special

Hiring The Wrong Kind Of Team

If you’re looking to develop a large platform or system, don’t go looking for web designers or developers. The developers who can make websites or work with WordPress are very different from those who can develop scalable API’s, mobile apps and web systems. It’s like asking a plumber to build you a house. They have a specialized skill that is a component to a house, but they can’t build a house for you, you need a builder do to that.

It’s the same with complex software – you need a skilled team of developers who understand how to make software, not just put together a website and use some plugins.

Don’t Go For The Cheapest Option

The saying “You get what you pay for” usually holds true and it definitely does in software. When you are shopping around for the cheapest option you usually end up in a race to the bottom where the quality, frankly speaking, is lacking. Whether is its overseas or in domestic market, you should not pick a team solely on low price.

You need to be able to communicate with your team, have confidence in their ability and be able to work with them and ensure that they are the right partner. 

In the race to the cheapest quote, it normally becomes a quote vs quote scenario and while this might seem like a straightforward thing to do, it is far from it. 

It is quite difficult to compare custom made software. There is nothing standard about it – each person’s interpretation of your requirements is different; and how it will be delivered is different. 

Rather than searching for the cheapest team find the one you can work with, communicate with your potential team, and analyse if you can see a long-term future with them. Because you’re entering in a relationship with these people and it needs to survive.

Team That Provide A Fixed Price Quote After One Meeting

If you are going to develop a large platform or system, it really is impossible to provide an accurate (in terms of time and budget) quote. All it does is make you, the client, feel happy that you are limiting your risk by having a fixed price development. But things in software change, requirements change, it is not possible to provide anything meaningful after a meeting and be confident that the quote provided will deliver upon the requirements.

While it might seem that you’re limiting your risk, you really aren’t as there’s no guarantee that anything will be delivered at all.

A Team That Doesn’t Create Road Map

Have a Road Map

A software team that does not work on the requirements of the project and does not truly understand what you are trying to achieve is unable to deliver what you expect them to. If they are not trying to take you through workshops and understand your requirements, problems and try to find the root cause of your problem, then how can they deliver the right solution?

When teams do not go through such process, they deliver based on surface-level information and develop software with the wrong focus and solution as the objective. 

You don’t want a team that makes things up on the spot and assumes everything, this only leads to heartache and failure.

A Team That Doesn’t Communicate

If your team is not communicating well, drop them now and find a team that does.

Communication is critical to making a project successful. This is not a dig to overseas teams at all – it’s any team, even where English is their first language. If they are not communicating to you well, providing frequent updates, providing explanations for why things are going wrong or explaining to you in simple terms how things will work, then you will struggle to work with them.

Even if you are not technical, your team should be able to communicate in a way that allows you to understand what they are doing and how it will work.

If they can’t explain it to you, how well do they actually know it?

Not Having A Dedicated Team

You might not think that this would not be a problem as any developer can do what any other developer can do. But this is true.

There is a lot of knowledge generated within a project that takes time to learn and understand. Any developer can build this up, but it takes time, and this is why it’s normally best to work with a dedicated team, rather than have developers that come and go on a project.

When there are frequent short-term developers you will be faced with more questions (hopefully, they ask and don’t assume things), they will have to spend more time learning about the project and all the internal knowledge required. Also, past conversations don’t mean anything to them because they weren’t involved. 

Don’t Get A Freelancer To Run Your Project

Don’t hire free lancer for entire project

You might be looking for a freelancer to work on your project. There’s nothing wrong with that if you’re using them to work on pieces of it at a time, however, you can’t rely on them to manage the entire project for you. They work on multiple projects at any point in time and only have so many hours to work.

If a freelancer is doing this after hours, how many hours are they actually able to spend on your project?

In the case of a freelancer, it is great to have them for overflow work in conjunction with a team or if you are paying them as a contractor to work on your product exclusively.

Don’t Offer The Start-up Special

I can’t even count the times we’ve been offered the Start-up Special and I’m sure there are millions of people offering this and millions of teams that have been offered it. The Start-up Special is that scenario where you try to get free or discounted development if the team works for equity in your start-up or product. You might think “how good is this, I get a team working for free or very cheaply for equity in a brand-new business” in the hopes it becomes the next Facebook.

When you ask them to work for free it shows that you do not understand or respect the amount of effort involved in creating great software. Teams can accept this for a discount on the rate, but it requires the same level of due diligence that any investor in your business would need to undertake to determine whether your ideas are investable.

These are just some of the things you need to keep in mind when looking for a team to develop your idea into working software.

The key is that building software is a team effort that requires many disciplines.

Of course, this also means that you, as the person with the idea, must be involved as part of the team as well. Make sure you can develop a working relationship with the team that you choose and maintain continuous communication with your team. You want your software to be the best that it can be, and for that, your team needs to want the same thing.