(This is not strictly embedded, but I hope some will have a few good ideas anyway)
Following the specification and high level design process, technology choices have to be made regarding how an application will be assembled. This involves both a choice of platforms as well as architectures.
When presenting the job to several contractors (or developers for that matter), invariably almost each one of them will come up with their own "soup" of how to get the job done. One will propose VB, the other .NET and a third J2EE (and a zillion variations in between of any combination of letters you chose...).
Granted, there are many ways to build any application, but one would like to at least have the choices as close as possible to what is needed. And what is needed? Well, that indeed is a combination of requirements such as performance, maintainability, speed of development, etc.
Anyway, given that this is the way things are (and believe me it can get very confusing), the question is - how does one determine the best (or close to best) choice of architecture and technologies for a given application and NOT get taken for a ride just because some consultant/developer only knows this way or that?
Thanks