5 Questions to Help You Find the Right Software Development Company
The partner you choose for your custom software project is important to the project's level of success.
Here are questions we hear a lot when people are looking for potential development partners, along with how we answer each.
Q1. Should I come to a developer with a scope of work in hand? If not, what should I bring?
While it’s essential for you to have a comprehensive understanding of what you’re trying to accomplish with a software solution, it’s typically not necessary for you to have a detailed scope of work documented and ready to hand over to a developer.
Having a good handle on the following things will help the developer work with you to outline the scope of work and provide you with a quality solution that achieves your goals.
- Problem/Opportunity – What problem are you trying to solve or what opportunity would you like to take advantage of?
- Goals – What are you trying to achieve?
- Features – What high-level features need to be included?
- Expectations of the developer – Do you expect them to do exactly what you say (contractor) or to collaborate with you and guide you to the best solution (consultant)?
- Budget – How much can you invest in, or how much value do you expect to realize from, the solution?
- Timeline – Is there anything driving a specific timeline for delivery (e.g., a trade show or conference, seasonality, etc.)?
- Priorities – What’s the most critical constraint—time, money, or scope?
- Definition of success – What would a successful project look like?
Q2. How long should a project take?
As you can probably imagine, the answer to this question is, “it depends.” There are a lot of things that impact the time it takes to develop custom software, including:
- The size and complexity of the application—Does the app do one thing or is it a full-featured platform that does 25 different things?
- Clarity of the goals of the project—Do we need to spend time up-front clarifying the desired outcome or is it well-defined going in?
- Clarity of the application’s features—Do we have a 30,000-foot view of the application’s requirements or a 3,000-foot view?
- The size, experience, and availability of the development team—Is the developer a free-lancer who works off-hours or do you have a team working full-time? How much relevant development experience do they have?
- The availability of the client to participate—How available are you to collaborate with the developer? Can you respond to questions within 24 hours or could it take you two weeks to get back to them?
For custom software developers, no two projects are exactly the same, so it’s pretty hard to say how long something will take at the very beginning of a project. That said, experienced developers should be able to give you some idea of how long your project might take within a fairly narrow range. Even when you’ve been given an estimate, though, it’s wise to remain flexible. There are always unknowns going in to a custom software project—always. And those unknowns can derail a timeline in a hurry.
If timeline is an important consideration for you, there are ways to accommodate it. You’ll just have to be flexible with your scope. Understandably, shorter timelines typically mean less—and/or less-complicated—functionality can be developed in the allotted time. We always recommend clients prioritize functionality based on value, developing the most valuable features first. But it’s especially important when the timeline is tight.
Q3. What if I change my mind in the middle of a project?
This is a great question, but I would amend it slightly to say, “What happens when I change my mind in the middle of a project?”
Except for the very simplest of applications, there’s a 99.999% chance you will change your mind about something during the course of a custom software project. It happens all the time and it’s one of the primary reasons so many software developers use the agile scrum framework. Scrum is designed specifically to increase responsiveness to changing requirements. Working in short sprints allows the team to continually reprioritize functionality based on value, ensuring changes can be absorbed more easily.
So, if your developer uses scrum, changing your mind shouldn’t be too big a deal. Note, though, that it may impact the overall cost of the project.
If your developer doesn’t use scrum, they should still be able to adjust to mid-project changes. You’ll just want to understand what their change control process is, preferably before the project starts, so you know what to expect before the inevitable happens.
Q4. Do I have to reveal my budget to a tech provider? Aren’t they just going to use that to make a project fit that amount?
No, you don’t have to share your budget—most people don’t even know theirs at the beginning stages. That said, if you know your budget, there is real value in sharing it.
Being up-front about your budget is important because it demonstrates that you’ve thought through the value of a solution and have the funds to execute on it. You want your relationship with your developer to be based on mutual trust. Reputable developers will not take advantage of your honesty. They will use the information to craft the best solution they can within the given constraints.
On a more practical level, it may help you to know that developers generally don’t charge for the time they spend putting together new project proposals. So, if you have a budget of $20,000 for something that would clearly cost 5 or 10 times that, it doesn’t make good business sense for them to invest a significant amount of time to draft a proposal only to find out it exceeds your budget. On the flip-side, you don’t have to waste your time waiting on them for a proposal that won’t meet your needs. You can move on to your next option much more quickly.
Will developers use your whole budget? Yes, it’s very likely they will. However, that should be perfectly acceptable as long as they provide adequate value in doing so. Using your budget as wisely as possible is what you’re after. Prioritizing the development of features based on value, starting with the highest value first, will help ensure you get the most bang for your buck.
Q5. How can I tell if I’m being taken advantage of?
We talk to a lot of people who’ve been burned by software developers before. It happens more frequently than it should and it’s unfortunate.
The best time to figure out someone’s taking you for a ride is before you get on the bus. As you’re evaluating software developers, be on the lookout for the following red flags:
- They don’t ask about your goals for the project
- They don’t ask about the users of the application
- They can’t articulate the problem you’re trying to solve
- They talk over your head and/or are difficult to understand
- They don’t answer questions to your satisfaction
- They seem annoyed by your questions
- They don’t ask about your budget
- Their quote sounds too good to be true
- They don’t ask you to sign a contract
- They want full payment in advance
Investing in custom software is not a trivial thing, so it’s important that you find a developer who’s a good fit for you and whom you can trust. Make sure they’re a good match for you personality-wise, that they’ve demonstrated they have the experience and expertise to solve your problem, they communicate frequently and in a way you can understand, they understand and are sensitive to your budget, and they have a clear understanding of the problem or opportunity you’re tackling.
Finally, make sure you’re seeing clear evidence of their work early and often, and that you have the opportunity to interact with the software yourself throughout the process. We’ve seen too many cases in which unscrupulous developers have collected lots of money without producing anything except some mocked-up screens with nothing behind them. Armed with a little knowledge, you can avoid becoming a victim yourself.