Architecture Smells

  1. Ambiguous Interfaces
  2. Architecture by Implication
  3. Autogenerated Stovepipe
  4. Connector Envy
  5. Cover Your Assets
  6. Cross-module Cycle
  7. Dependency Cycles between Packages/Subsystems
  8. Design by Committee
  9. Extraneous Adjacent Connector
  10. Feature Concentration
  11. Implicit Cross-Module Dependency
  12. Inheritance between Protocol-Oriented Layers
  13. Jumble
  14. No Layers
  15. No Subsystems
  16. Overgeneralization
  17. Package Hierarchies Unbalanced
  18. Packages Not Clearly Named
  19. References between Vertically Separated Layers
  20. Reinvent the Wheel
  21. Scattered Parasitic Functionality
  22. Stovepipe Enterprise
  23. Stovepipe System
  24. Strict Layers Violated
  25. Subsystem-API Bypassed
  26. Subsystem-API Too Large
  27. The Grand Old Duke of York
  28. Too Large Packages/Subsystems
  29. Too Many Layers
  30. Too Many Subsystems
  31. Too Small Packages/Subsystems
  32. Unstable Dependency
  33. Unstable Interface
  34. Unused Packages
  35. Upward References between Layers
  36. Vendor Lockāˆ’In
  37. Warm Bodies
  38. Wolf Ticket

Home

All rights reserved (c) Tushar Sharma 2017-23.