What I'd ask a software development firm

Last year a friend of mine asked me how to know if an outsource software design and development firm was any good for his client's project. It was a tough question that I'm glad I've never had to answer myself. Here's how I responded, all biases included and unfiltered...

I’ve narrowed it down to 4 questions below I would ask if I was evaluating design/dev firms— but let's establish a couple things first.

In terms of the business model, they want to put an app in the store and drive individual consumers to subscribe. (a B2C play) From the perspective of the success of the business, then, the design, the user’s experience of the app, will be a make-or-break. If a user downloads an app, and doesn’t immediately understand how to use it or feel the value it brings, they will delete it, no matter how well it’s programmed.

On the flip side, if the app looks great and is easy to understand, but it’s slow or they run into regular bugs or problems (a result of poor engineering)— the app will still get deleted, but maybe just later in the process.

So in my mind the most important question in evaluating a firm for this type of project is one you can ask yourself using your own instincts to answer:

#1: What do their apps feel like to you?
Ask them to put some apps they have worked on on your phone. Do they look and feel great… or not? What are the inner feelings you get when you use them? Since everyone uses software every day, anyone can make these judgements, as will your customers. Don’t overcomplicate your analysis here. If you’re not excited by their work, move on— there are better firms.

The other 3 questions:

#2: Will the same people that built these apps I just tried also work on my project?
The classic issue with outsource firms is that they dazzle with great work examples from Team A but assign your project Team F— and you won’t know until it’s too late. You can ask for contractual guarantees about how much specific people will work on your project. You should have a proven, very senior level architect/engineer leading the entire development process that can make necessary course corrections.

#3: What metrics are used to determine that an app is “working” and “acceptable”?
This should be quantified in writing, because functional specs only tell part of the story. For example, if something is supposed to happen when a user pushes a button, and the app eventually does it but it takes many seconds, a development firm might say it’s working fine, but you and all your users will feel like it is broken.

#4: How do you quote projects, and how do you measure If a project is on time and budget?
I strongly suggest avoiding fixed bids. There are many reasons, but primarily, you as the stakeholder will need flexibility to request changes as you observe the process, or as the business needs of your startup change in real-time. Time and materials (with a full project estimate up front) can accommodate, but you must watch carefully to ensure the project stays on time and budget. This can be assessed in work numbers (not vague percentages), and your firm should be able to show you how you can measure this at any time on your own using their project management software.

...aaaand in case you're new here, let it be known that I just happen to run PNDLM, a software design and development firm which has been my passion for the past 10+ years. I'd enjoy the opportunity to discuss your project, too.