Martin Fowler --> Is High Quality Software Worth the Cost?

https://martinfowler.com/articles/is-quality-worth-cost.html

  • We are used to a trade-off between quality and cost
  • Software quality means many things: I thus divide software quality attributes into external (such as the UI and defects) and
    internal (architecture). The distinction is that users and customers can see what makes a software product have high external quality, but cannot tell the difference between higher or lower internal quality.

  • At first glance, internal quality does not matter to customers: why should any software developer put their time and effort into improving the internal quality of their work?

  • Internal quality makes it easier to enhance software: Customers do care that new features come quickly

  • Visualizing the impact of internal quality:The fundamental role of internal quality is that it lowers the cost of future change. But there is some extra effort required to write good software, which does impose some cost in the short term.

  • Even the best teams create cruft: Many non-developers tend to think of cruft as something that only occurs when development teams are careless and make errors, but even the finest teams will inevitably create some cruft as they work.

  • High quality software is cheaper to produce

    Summing all of this up:

    • Neglecting internal quality leads to rapid build up of cruft
    • This cruft slows down feature development
    • Even a great team produces cruft, but by keeping internal quality high, is able to keep it under control
    • High internal quality keeps cruft to a minimum, allowing a team to add features with less effort, time, and cost.

results matching ""

    No results matching ""