10. Talk disparagingly about Scott Hanselman, Jon Skeet, Martin Fowler, or other luminaries of the software development pantheon.
9. Require the code to change as the requirements change, but allow the project documentation to get out of sync. Attempt to use a series of email chains as a floating addendum to the specification.
8. Tell developers how to implement a solution to a problem instead of just laying out the details of the problem.
7. Assert that “done is better than perfect” but ignore the option of having it done right.
6. Say you’re “too busy” to do any QA.
5. Imply that a developer is being difficult when he highlights potential difficulties instead of welcoming the opportunity to evaluate assumptions and get out in front of project risks.
4. Trivialize the development effort for any feature that you are not directly responsible for designing or building. Doubly annoying when adding new requirements while the project is already in QA.
3. Put a 2 paragraph project overview in a Word document and call it a func spec.
2. Set an arbitrary project deadline prior to finalizing the project scope and doing technical analysis.
1. Send out a congratulatory email after a successful go-live and say “Great work <insert analyst name here> and team!”