Batteries not Included
Symptom
A system that needs additional software or hardware components to actually work. This flaw usually found after the purchase and during installation.
Example Instances
Adaptors, Cables and Drivers fall into this anti-pattern
Prescription
Design first
Plan the installation
Check the contents and smallprint carefully.
Some assembly required
Symptom
A system that needs much more configuration than expected.
Example Instances
Software with large configuration panels or useless defaults fall into this anti-pattern
Prescription
Check reviews
Read the manuals before purchase
Get references from previous customers
Get trials
Run a proof of concept
Consider additional training
Contains small parts
Symptom
A system that consists of many components which take a lot more time to assemble than originally estimated.
Example Instances
Early J2EE server products
Three tier client server solutions
Prescription
Design first
Plan implementation
Get references from previous customers
Get trials
Run a proof of concept
Consider getting assistance from the vendor, consultants or system integrators
Swiss army knife
Symptom
A system that has many functions that work well independently for small tasks but fail when expected to do all functions at the same time.
Example Instances
Products with embedded rules engines or workflows
New programming environments and languages
Prescription
Be realistic about multifunctional products
Check reviews
Get references
Get trials
Run a proof of concept
Snake oil
Symptom
A system that promises claims it cannot achieve driven by early release from development and over enthusiastic sales and marketing
Example Instances
Early beta releases of software
Prescription
Check reviews
Get references from previous customers
Get trials
Run a proof of concept