I think my biggest development bottleneck is customers who are not exactly sure what they want and/or very weak written specs.

I often begin with the written specs (if any, sometimes people seem to be unable to write in English, much less organize their thoughts and put them into words). Then I meet with the customer bringing some prototypes (high-level application block diagram, usage workflow diagram, maybe mocked up screenshots where appropriate).

Often this is an iterative process of presenting my protos, eliciting comments, and updating the protos. At some point I usually end up writing the requirements documentation and meeting with the customer another time or two (or three). Before I write a single line of code I expect the customer to sign off on the specs, with the understanding that as things are discovered during actual development and testing we will revise the requirements/specs until we have sign-off again.


So the biggest bottleneck is customers who are clueless what they really need and want and/or unable to expend the effort to define that in writing.


This is no problem at all with some customers, who are a real pleasure to work with. But in recent years things have gotten worse and worse. It almost feels as if I am dealing with consumption oriented primitives with limited reading and writing skills let alone any logical thought process. How these people ever get hired completely escapes me.

If the "TV Generation" was bad, the "Cellphone Generation" is all but useless. While there isn't a 100% correlation it is very high.