I joined C@rma in Istanbul last September to support the IT part of the project. During these last three months, the team experienced some ups and downs which I thought useful to share for other start ups.
Developing an app is not an easy task. We can attest it, we've been through many struggles but this helped us to get better. Keep in mind: do not get discouraged! What does not kill you makes you stronger !
Although the beginning might be a little bit vague, there are a series of acurate questions to start with.
First, it is necessary to define which technology is best adapted for your product.
You will be confused between the range of programming languages as PHP and .NET, CMS Drupal or Wordpress, the Symphony or Zend frameworks. Things won't get easier getting the attractive arguments of each agency, which promotes the use of its favourite technology but contradicts what the previous agency told you! To help you, seek advice from one or more impartial expert(s). Don't hesitate to ask for guidance in terms of design and usability too, which is really important as you want to optimize the user experience.
Then, set the methodology of work progress that suits you best, but also suits your project best.
If your project is substantial, you might consider splitting it in several releases, to avoid frustration and endless schedule slips.
If you change your mind all the time (like Sandrine), adopt the so-called Agile methodology, which allows your IT partner to be more flexible about the change requests.
It would also avoid tensions with the team whenever you suggest a new idea. Requests such as "Can you JUST edit this column?" (favorite word of Sandrine) may look like a detail but it can have a huge impact on the whole work done so far.
Within a non-Agile methodology, called Waterfall, this kind of request would be very poorly received by the IT team.
Other important point is to define your criteria of selection: price, time or quality. Unfortunately, these three criteria are a triangle and choices need to be made. Requiring a short notice delivery involves implementing an emergency rate, and thus a higher cost. Promoting a cheaper budget does not always guarantee a product of good quality. A team of experts always comes with a certain price.
Depending on your product, make sure to weigh the pros and cons of these three criteria, and imagine your product over a long term period.
Now, the last step is to select a partner to code it! Do not hesitate to consult several competitors to compare their offers. But dont forget to keep in mind the criteria you set up above before selecting anyone.
Good luck to everyone !