• In my experience, most of the inefficiencies in technology projects take place during the requirements gathering phase. DBAs aren't typically involved in that stage, but for those of us in smaller, jack-of-all-trade shops, we need some basic training in requirements gathering. For example:

    1. Eliminate the middleman and deal with the end users (frequently easier said than done).

    2. Don't involve end users in usability issues. They'll have strong opinions, but they're not experts, and so you'll never get out of that infinite loop. Develop an expertise in usability and apply tried and true principles (requested feedback should be limited to "lipstick on a pig" issues such as colors, logos, ...).

    3. Limit your questions to end users to the information needed for the end result--for example, either information to be contained in a report or the information to be displayed on a website. Again, don't discuss layout, and other usability issues. What information do they need?

    4. Limit the database design to tables/fields holding data needed for the information defined in #3 above.

    5. Do not involve end users in the design of input forms. Again, they're not usability experts. The design of input forms are a function of usability principles and the data defined in #4 above.