news.volyx.in

System design and the cost of architectural complexity (2013) (dspace.mit.edu)

464 points by damethos · 1242 days ago · 167 comments on HN

Article summary

The article discusses the cost of architectural complexity in system design, highlighting the negative impact of complexity on productivity, defect density, and staff turnover. A study found that differences in architectural complexity can account for significant drops in productivity and increases in defect density and staff turnover. The article emphasizes the importance of controlling complexity in system design. Effective architecture can help mitigate the negative effects of complexity.

Main themes

  • Architectural Complexity
  • System Design
  • Productivity
  • Software Development
  • Corporate Culture
  • Abstraction and Simplicity

What commenters say

  • Architectural complexity can lead to significant drops in productivity and increases in defect density and staff turnover.
  • Simple systems are often not rewarded in large corporate organizations, leading to a culture of complexity.
  • Some argue that the pursuit of simplicity can lead to a lack of architecture, resulting in complexity multiplying in other ways.
  • Others believe that good abstractions can make simpler software, but leaky abstractions can multiply complexity.
  • The introduction of complexity is often justified by customer needs, but can also be driven by the natural inclination of engineers to introduce more complexity.
  • Creating the simplest possible system that solves customer needs is the goal, and avoiding unnecessary complexity brings enormous benefits.
  • The pressure to add new features can lead to the destruction of simple systems, and relentless saying no to feature requests is necessary to maintain simplicity.
  • Some argue that the concept of a 10x engineer is false, and that a skilled engineer can have a much greater impact by creating simple and effective systems.