Having a small (but very strong) R&D team helps you eliminate most of these "processes". The buzzword here is "iterations". Lot's of them.
Our clients were involved since day 0 (which I think is the key of our success btw). The first prototype (built in two days) was in Erlang using Mnesia.
The drawbacks are:
+ not having lots of engineers knowing C and Erlang
+ Outsiders having problem with LISP (that's why we implemented PIG)
Mnesia is by far the fastest (and easiest to use) thing we've ever tried. The only problem was that it was more expensive to keep data in memory and that pointer arithmetic is so damn fast. And (the most important thing) is the 2GB limit Dets has :/
How close do you work with your clients and how much is your system changing in response to feedback?
What drawbacks (if any) the current tech stack choices had so far on your?