Idea. Design. Development. Launch! – Here’s a simple plan for creating an app. But there’s one more thing. The money. The cost of creating custom software, depending on what it will offer, can range from tens of thousands to even several million dollars. It’s no wonder that you feel pressure when choosing the right software agency, one that will design and program the application well, so that your investment pays off. The question is, how do you do that?
In this article, we’ll try to help take the pressure off your shoulders and facilitate the choice of a good contractor. This is crucial, as the dev agency you choose to build your app will be with you for a long time.
Here are 9 signs that your potential contractor may not deliver:
1. They ask too few questions
If your potential contractor does not take the effort to thoroughly understand your app idea, you expose yourself to the following risks:
- You will receive a time-and-cost estimate that is very generic and most likely will not reflect the actual size of the investment (it will be underestimated or overestimated).
- The contractor’s offer may be based on incorrect assumptions that were not verified during the estimation process.
- The contractor lacks expertise in the subject matter and simply does not know what to ask.
- The contractor is not interested in collaborating with you or is unable to carry out your project but avoids stating this directly.
On the other hand, perhaps your brief is prepared with great attention to detail and not many questions need to be asked at the bidding stage. In that case, well done to you. If you want to find out what questions you can expect from a software development agency, check out this article.
Don’t be afraid of a contractor who wants to know it all. It’s a good sign. It means that:
- From the very beginning, they have made the effort to thoroughly understand your situation, showing a high level of commitment.
- They want to be a partner, not just an executor of your idea, and they care about your success.
- The project estimate will be more realistic—often higher because it takes into account aspects that would be overlooked with a superficial analysis.
- You will avoid future surprises in the form of unforeseen additional costs.
A good contractor should ask about the business goals and functional details of your project. This will allow them to better estimate the time and cost of the investment, and provide advice on which elements of the app are priorities and which can wait for the next phase of development.
The contractor should treat you as an expert in your field, respecting your vision while also showing initiative in advising on technological and functional solutions. A lack of guidance from the dev agency may result in unnecessary costs or poorly chosen technology, such as one that might limit the app’s capabilities in case of scaling needs.
If you’re planning to create an app for the first time, it’s completely understandable if you’re not clear on the difference between a mobile app and a web app. Many people interpret the term “app” as “something that operates on the internet,” not realizing the various types of apps and technological solutions that come with choosing a specific approach. Your contractor should explain why they are recommending a particular solution, taking into account your budget and planned functionalities. This explanation will help you make an informed decision about the technology stack that best fits your project’s needs.
2. It’s hard to find references or reviews about them.
Think about the last time you checked reviews before purchasing a service. Perhaps it was for choosing a hotel or a restaurant. In the case of one-time services, the consequences of a bad choice are minimal. However, with the software house you choose, you’re embarking on a long journey with a significant amount of invested funds. The absence of references doesn’t necessarily mean the company is not reliable, as it could be composed of experienced professionals. Nevertheless, it always poses a significant risk.
So where can you find reliable references? For technology companies, the most commonly recommended source is Clutch. Reviews submitted by clients are verified by the platform, so you can consider them quite trustworthy. Pay attention to when the review was last added and what it was about. Fresh references are more credible than those from several years ago, as there’s a chance that the developers who worked on those projects are still there. If most reviews highlight the same strengths of the company, it’s a good sign.
Alternatively, you can ask the potential contractor for contact information of previous clients or check the company’s profiles on social media and industry forums. Here, caution is advised, as these opinions are not verified and could be posted by dishonest competitors. However, it’s worth checking how the company responds to comments and how they present their projects, as it speaks volumes about their professionalism.
You have an idea for new app and don’t know what to do next? We’ll help!
Contact us3. They estimate the costs without knowing the functional requirements.
In this case, your potential contractor is likely focused primarily on establishing collaboration at any cost rather than providing you with reliable information.
Therefore, if during your first meeting with a representative of a dev agency, you hear that creating a solid project documentation is necessary to accurately estimate the investment cost… then it’s a GOOD sign. Why?
Documentation provides clarity and coherence within the development team, minimizing the risk of misunderstandings and errors (read: budget overruns). With well-prepared documentation, the team doesn’t waste time understanding the assumptions and workings of the application, thus optimizing the working time of each specialist. Additionally, well-prepared documentation allows for a more precise estimation of work, so the investment costs won’t come as a surprise to you.
What is documentation in the case of web or mobile applications? In short, it’s a document that shows the individual screens of the application, interactions between its various elements, and how it will be used. It typically consists of:
- Information architecture – a detailed map of the application’s functionalities, showing all possible user actions in the application. It also demonstrates how users will find and use specific features.
- UX/UI mockups – application screens showing the layout of individual elements (UX) and/or its final graphic layer (UI).
- User stories – containing a description of the application’s functionalities from the user’s perspective in a simple form (example: As a <user>, I want <to change my password> to <increase account security>). Based on user stories, a backlog of programming tasks is created during development, as well as test scenarios. User stories are extremely important in the application development process because they describe the possible interactions in the application – elements that cannot be deduced from UX/UI mockups alone.
- UI component libraries – assist the development team in consistent implementation of interface elements.
A reliable contractor will ensure solid foundations for your project. If you don’t have project documentation yet, your contractor should suggest creating it. This is accomplished through Product Discovery workshops.
Did you know? Creating project documentation is usually a separate service. This means you’re not obligated to carry out programming work with the same company that created it. You can compare it to an architectural design for a building – once completed, it gives you the freedom to choose who will proceed with constructing the house.
4. They propose niche or non-scalable technologies.
If you’re creating an app for the first time, it may be tempting to adopt the “It doesn’t matter how, as long as it works” approach. Remember that even the fastest-to-implement technological solution won’t be worth its price if only one provider specializes in it. With niche solutions, it will be difficult for you to find programmers who can easily take over the application’s development.
Perhaps you’re afraid to have a conversation about technology with your potential contractor because you’re worried that:
- You won’t understand much, and it will be noticed and used against you,
- You don’t feel confident enough to make suggestions because you don’t know how to justify them.
Remember that the contractor (not you) should be the expert in the IT field and patiently explain to you why they are proposing specific solutions or suggest alternatives. Don’t be afraid to ask.
A good contractor should propose modern yet proven solutions that will allow your application to be easily developed in the future. What does this mean and how can you recognize it?
- The choice of frameworks should not be niche. If the contractor proposes using an uncommon custom solution to build your application, a warning sign should go off.
- The contractor should adhere to best coding practices. The absolute standard is the use of version control systems such as Git. These systems help manage changes in the codebase, track fixes, and facilitate teamwork.
- Another example of good signs is the implementation of CI/CD practices because they encourage frequent code updates, testing, and deployment, which improves code quality.
You can do your own research to determine if the technology proposed by the contractor is popular and modern. Examples of niche technologies include Objective-C, Xamarin, or no-code technologies, which would make you dependent on that one provider. Be cautious with PHP – a lot depends on the proposed framework. If the contractor suggests anything other than Symfony or Laravel, or worse, no framework at all, a red flag should go up.
5. They offer a low price but don’t show you where it came from.
If a contractor offers a low price without a detailed analysis of your requirements, it may indicate that they haven’t fully understood the scope or complexity of the project. This increases the risk that they will demand additional payments or abandon your project when it becomes unprofitable for them.
It’s possible for a contractor to intentionally lower the quote by excluding significant functionalities from the estimate to appear more competitive. It’s worth asking about the scope and assumptions made during the project estimation. Lack of clarity regarding pricing can signal that initial savings will result in higher costs in the future, both financially and in terms of quality and satisfaction with the final product. Too low a price can also mean low quality. Experienced and competent professionals will value their work.
Also, remember that not all estimates are equal. If you don’t have detailed documentation yet, only a general list of functionalities, estimated prices can vary significantly depending on the dev agency. Your engagement is needed here.
6. They don’t pay attention to Agile methodologies (e.g., Scrum).
To explain why this is a warning sign, let’s first explain what Agile methodologies are:
They are a set of flexible project management practices that promote rapid adaptation to change and close collaboration between the team and the Product Owner, which is you. These practices assume that you will be frequently invited to actively participate in regular meetings, where you’ll see project increments and be asked for feedback. This gives you significant influence over the project direction and allows you to quickly respond to new challenges and changing market conditions.
Now, imagine if the contractor did not follow these practices. It would be similar to building a house without the ability to see the results or make changes during the process. The final outcome would only be visible after the construction is completed.
In the case of developing custom web and mobile applications, there are many unknowns. Each application is a unique product created for unique needs. Therefore, continuous communication and transparency between you and the contractor are essential.
7. They lack experience in similar projects.
If the contractor lacks experience in executing projects of a similar scale or in a similar industry, it may affect their ability to handle the specific challenges associated with your project.
Having experience in similar projects equips the contractor with skills to deal with problems that have already arisen in other applications.
8. They can’t say “no”
If a potential contractor agrees to every request, idea, or deadline without thorough analysis, it may indicate that they desperately need new projects and will agree to anything just to win you as a client. Such behavior often leads to situations where promised features or deadlines are not met, resulting in problems with the quality of the final product and customer dissatisfaction. A contractor who can accurately assess the situation and, if necessary, says “no,” demonstrates responsibility and maturity in project management. Such a partner not only protects your project from unrealistic promises but also helps in its effective implementation by proposing alternative, achievable solutions. An important characteristic of a reliable contractor is the ability to assess their capabilities and resources honestly and communicate them sincerely to the client.
9. Their contract terms are unclear
Every contractor should have a standard contract for application development services and should be able to easily provide it to you for review before starting cooperation. You can confidently ask for it when taking further steps towards entering into a partnership.
If a potential contractor presents a contract that is unclear or contains hidden fees and clauses, it could be a warning sign. It’s important for all terms to be transparent and clearly defined, ensuring mutual understanding and trust.
The standard terms in such contracts typically include:
- Transfer of copyright free of charge, meaning that you become the owner of the application and can freely modify its code or even change the application contractor at any time without incurring additional costs.
- Specification of payment methods and conditions (e.g., rates of individual specialists in the case of a time & materials contract). You can read more about different billing methods here.
- Ensuring confidentiality and trade secrets.
- Specification of the contract termination process.
- Specification of response time for critical or functional errors (in maintenance contracts).
The takeaway
Although there are certain red flags to watch out for, there always remains an element of trust that cannot be entirely verified “on paper.” Therefore, meet with the potential contractor, have a conversation, and see how well you communicate and whether trust comes naturally. Also, remember that a “software development company” is in fact a team of real people who care about delivering quality work that ends with a positive review on Clutch.