December 23, 2012
Hiring a software development firm is often one of the largest decisions a new web or mobile product company will make. Questions about technology choices, programming languages, frameworks, development methodologies, and the like are all important, but so are the non-technical questions sometimes overlooked by technically-focused or inexperienced entrepreneurs and product authors. Here are a few to keep in mind.
Can I see what you’re doing on my project on a daily or weekly basis?
This is a question about transparency and the more transparent a firm, the better. You really do want to see how the sausage is made. Increased visibility into the building of your application is going to help you avoid common pitfalls, and increase the likelihood that you get the results you want.
When you work closely with a development firm, watching your application come to life, you’ll be in a much better position to evaluate for yourself the value you’re receiving. You’ll also be able to judge the pace (or velocity) of development, and make your own estimations as to whether the project is on track from a timing or budgetary standpoint.
Can I adjust my feature set and specifications as we go?
Unless you’re building a very trivial application chances are you’re going to want to make course corrections (change the scope) throughout the development process. You might need to re-prioritize features to take advantage of a new opportunity, or you may want to respond to initial user feedback. That feedback could mean dropping features you had planned for at the outset and replacing them with ones you hadn’t even thought of, or even significantly changing your approach (AKA a pivot). This flexibility is often the difference between the success and failure of a project or business, but it comes at the expense of budget certainly. This is why the transparency we discussed earlier is so important. You’ve got to ensure your development team is delivering working software incrementally, and that you’re in a position to evaluate its value. With high visibility, that evaluation should be easy since you see exactly what you’ve got, and you know how much it cost.
Can I meet and work directly with the designers and developers on my project?
At the end of the day people, not processes, tools, or frameworks, are building your software. Working with people that “get” what you’re trying to accomplish and have internalized your objectives will result in much better outcomes.
You’ll know you’ve got a team that “gets it” if they ask you why you want something built, not just what you want built. The impact this has on a project is massive. Designers will ensure that they are creating a user experience that is aligned with your users, and developers will push back on features they think are cumbersome or won’t be used (or both), and will suggest alternatives that provide better value. If you’re hiring a top-notch firm they are going to have some very smart people working for them, and you want their input.
Who owns the code and designs you produce for me (AKA the work product and deliverables)?
If the answer to this question isn’t a resounding “You do,” your Spidey sense should start tingling. You want all the work done for you to be defined as a “work made for hire” under the US Copyright Act. If it isn’t, you may run into issues when you want to sell, or otherwise transfer rights to someone else, since you can’t sell something you don’t own.
Some firms may carve out certain exceptions for open source software and development tools, which is generally appropriate. Just make sure the line is clear between those two different types of deliverables / work products.
Will you help me transition to an in-house team or mentor and train my team?
At some point you may want take new feature development or maintenance in-house. A leading development firm will view this transition as an indicator of a successful project, and will be very supportive in the transition.
The best way to make this transition is to hire your own developer, who can be integrated into the firms existing development process as tightly as the firm will allow. That way the new developer will not only learn the code-base, but will also pick up on what should be a mature and well tested development and deployment process. If you’re asking your development firm to take a new hire under their wing, keep in mind they will probably want the opportunity to interview your candidates, because they will want to make sure you end up with someone that can do the job and will fit in with the rest of the team.
-Nick Kishfy (@kishfy)
· · · · ·
If you’re building a web or mobile app MojoTech might be able to help. We turn ideas into products, build full-featured applications, mentor and accelerate development teams, rescue stray projects, and help our clients make smart decisions that pay off. Let’s build something you’ll love.