I'd add a few more... these mainly relate to the isolation of a development team from the end users and/or purpose of the software application.
* End users communicate only with Business Analysts, never with developers.
* Developers become aware of end user needs only through functional or technical specifications written by business analysts.
* Architects who do not write code have complete authority to dictate technology choices to developers
* Developers are unable to describe what the software does from a user's point of view.
* Developers are unable to explain why they are using a particular technology, other than that it was chosen as a standard for the project.
I'd add a few more... these mainly relate to the isolation of a development team from the end users and/or purpose of the software application.
* End users communicate only with Business Analysts, never with developers.
* Developers become aware of end user needs only through functional or technical specifications written by business analysts.
* Architects who do not write code have complete authority to dictate technology choices to developers
* Developers are unable to describe what the software does from a user's point of view.
* Developers are unable to explain why they are using a particular technology, other than that it was chosen as a standard for the project.