How to Find a Reliable Software House — A 10-Point Checklist

avatar
Paweł Josiek, Emil Waszkowski
Project Management
cover

You’ve made a decision to outsource your digital product development, but you’re not sure how to choose the best service provider? Where to find one that will understand the product goals and vision, and make it easy to achieve business objectives? Here’s what to consider when choosing a partner that will help you create a reliable product without any risk.

0. A well-prepared brief

Before you choose a software house to work with, you should know what you actually want and include it in a project brief.
Don’t know where to start? Here’s a helpful manual on how to write a brief.

1. Market presence and portfolio

Companies that operate on the market for several years are sure to have completed dozens of projects. This helps them keep ahead of the competition. They have experience with different types of customers and have been using various technologies. During all the years they operated on the market they were able to develop effective project management and product development methods.

With more customers and projects in their portfolio (at Future Mind, we’ve already completed over 100 projects) the software house becomes more flexible and more open to specific requirements. It’s really important, no matter whether you make a product from scratch or need help for your in-house team.

2. Is there a similar software application in their portfolio?

After checking the software house’s experience and the amount of completed projects, analyse their portfolio. Look for the products similar to your idea. A software house with some experience in implementing similar solutions will understand your business goals better. Their knowledge and experience will definitely streamline the entire development process and will provide higher quality as well.

What’s more, it will be better for you if the agency has any experience in implementing software solutions using the technology that you’re interested in. Note that companies usually don’t share the details concerning the technology used in particular projects, but you can always ask them for more information before signing the contract.

Let’s assume that you want to create a dating app, it doesn’t mean that the company needs to have the exact same products in their portfolio. Pay more attention to whether the agency was implementing a similar project, with comparable functionalities (e.g. some social apps). Also, remember to ask about the complexity of created solutions (server layer, mobile solutions) or about components related to your application (such as a chat module).

3. References and testimonials

We bet that you read the references before making the decision, but you can go a step further and verify them. Make sure that people listed next to testimonials really work in the companies displayed in the portfolio (and do such companies actually exist?).

You can also ask the software house for contact details of selected clients for you to verify the cooperation quality with them. Usually, the agency sets the appointment on your behalf, so it’s good to prepare appropriate questions. Ask how their cooperation went and about the agency’s approach. What’s more, ask for details regarding communication, timeliness, and whether the final product met their requirements.

You can also find some more information on review websites, such as clutch.co. Those sites contain reviews of leading IT companies where service providers are scored based on references and reviews, clients, experience, and market presence.

4. Billing model and rates

Simply put, the Agile Development method is the most transparent and secure approach to project management. It’s associated with the Time and Materials billing model, so there is no fixed price and no detailed specification written in the contract. You will pay only for the hours spent on the project and for the tangible results. Of course, the agency keeps your budget in mind and helps you achieve the best results. Learn more about Time and Materials.

Software houses that have confidence in their knowledge offer a free trial. For instance, at Future Mind, we provide you with a two-week trial period. If, for any reason, our cooperation doesn’t meet your expectations, you can terminate the contract at no cost. Note that the products created during this period won’t be delivered to you.

And what about the rates? You should know that it usually depends on a country where the company is based, as well as company’s experience. For instance, in Poland, the wages are lower than in Western Europe or USA, but the quality of products delivered by software houses is one of the highest in the world. Also, the corporate culture here is similar to that in western countries, and there are no problems with time zones. All this makes Poland one of the top places for software outsourcing.

But, in general, remember that the cheapest doesn’t always mean the best. Lower prices usually go with poor quality and non-functioning products, so verify the software house before signing the contract. Implement long-term thinking. For good.

5. Scheduling and timeliness

Product specification makes it much easier to evaluate the time needed to develop your project. To simplify the evaluation process, it’s best to use mock-ups — visual presentations of product functionalities. Software house can go through the application and see what the primary purpose of each screen should be.

You can also send a specification in a form of so-called user stories. Here you can find more information on what the user stories are and how to create them.

If, for now, you only have a vision of the product or would like to consult someone about the specification you’ve prepared, you can join our workshop. We’ll guide you through the specification writing process. Keep in mind that a software house estimates how long will it take to develop each feature and, with this information, prepares the cost evaluation.

The Agile approach comes with its characteristic way of work scheduling. A project utilising the Agile method is divided into sprints — time periods (usually two weeks) during which we complete selected scope of work. After the planning stage, software house should provide you with a so-called roadmap that includes the next stages of the project (milestones). The next step is a task list arranged by priority (backlog) that will allow you to keep tabs on each specific task during each sprint.

6. Approach to project management and communication

Agile projects usually use Kanban methodology, but in recent years an alternative Agile approach — called Scrum — is getting more and more popular (and it’s highly effective). In case of the latter, each sprint begins with the analysis and creation of so-called sprint backlog. The backlog is a prioritised list of features and requirements to build during each sprint. Given features are designed, developed and tested. To make sure that everything goes well don’t hesitate to ask the software house about the sprint details any time you want.

To abide by the Scrum methodology daily meetings (stand-ups) should be organised during the project. This means that the entire team gets together and each member is trying to answer the following questions: “What did I achieve yesterday? What will I work on today? Am I blocked by anything?” The result of two weeks of work is a new, tested and working version of the product. Each iteration ends with a so-called sprint review, during which the project manager presents the effects to you and then you can evaluate them together.

A very important aspect of an effective cooperation between a customer and a software house is communication. To make the work more efficient, agencies usually use project management tools such as Jira, Redmine, Asana, etc. It’s also good to include some chat software (Slack), so the developers can discuss their doubts and share ideas on a daily basis. Remember that a chat is just an extra tool (it can distract the team when overused), so it shouldn’t replace the ticketing system. When you know which tools are used by a certain agency, it’ll give you the picture of the project organising process.

7. Consultancy and UX

Keep in mind that there are software houses that provide only software development services, without any extra solutions, such as service design. This means that they don’t have skilled product builders on board, so you need to find a product owner by yourself. There are also small chances that these types of agencies will be proactive and helpful at each project phase.

Yet, software houses qualified in the service design field also exist and are highly needed when it comes to building a product from an idea to a fully functional and operating software. They can simply verify your assumptions, carry out workshops to develop the product effectively, and help you prioritise the tasks within the project.

Beware of the companies that answer ”Yes” to everything. The best software companies know their limits and know when to say no. They will recommend you better solutions and tell you which features should be created first and why your product needs something else in a certain phase of the project.

8. Technologies used in project

Try to avoid solutions that make you dependent on a particular provider. Keep in mind that good software houses succeed through transparency and use widely available and proven Open Source solutions. As a result, any person skilled in a certain field will be able to continue their work, and you will avoid the risk associated with changing the service provider.

Top software houses make you feel comfortable when you’re working with them and won’t try to overwhelm you by their technology.

9. The scope of service

Remember that when a software house claims that they are good at everything it may be an indicator that they could fail at the end. Don’t expect an agency to design you a logo and prepare a brand book, develop an application, and take care of the marketing issues. Leave it to the agency’s partners or look for specialised companies on your own.

But, of course, it’s great to have the possibility to outsource development of all the project elements, such as UX, back end, mobile and web application building, to one company. It will save you time and money, and it’s much easier to communicate with one contractor than with multiple companies. Software house that creates a solution from the UX/business side knows you and your project assumptions well. So, this makes it much easier for them to move on to the implementation phase.

10. Ask for a sample of the formal agreement

Once you’ve selected a few software houses that meet your requirements, it’s time to send them a brief. If you already have the specification and want to protect yourself against using your know-how, ask for a non-disclosure agreement (NDA) sample. It’s also a kind of test — every trustworthy agency will sign such document.

When you decide to work with a certain agency, it’s time to sign the framework agreement which is a base for future contracts, including the scope of work. It specifies the parties involved, its objects, rates, order and delivery terms, and contractual penalties. On the basis of this agreement you will be signing individual orders for making product modules within a specified time period.

Final thoughts

There you have it, we hope that this guide will help you find the right IT service provider that will deliver the product according to your vision and business objectives. Choose an experienced agency with great references and a similar approach to yours. All this will power effective cooperation that will result in an innovative and fully functional product.

 

blog comments powered by Disqus

More to discover

Future Mind's Summary of 2018

avatar
Tomasz Woźniak
News
Once again, we’re publishing the summary of the previous year in February. Make no mistake - the reason behind it is not my tardiness, but the challenges we face to scale our business.

Best enterprise IoT examples to follow

avatar
Emil Waszkowski
Business, Internet of Things
There are certain industries that can benefit from implementing IoT solutions in particular. Explore the best IoT examples and see whether you could take advantage of similar applications in your business.

Is there anything we can do for you?

We use cookies to enhance your experience. Read more about cookies in our privacy policy. Agree