Knowledgebase

Trade-Offs in Engineering Decisions Print

  • softwareengineering, software, performance, guide, howto, solution, zillionkinghost, hosting
  • 0

There is no best option.

WHAT EVERY DECISION INVOLVES

Gaining something and giving up something else.

WHAT THE COMMON TRADE-OFFS ARE

Speed of delivery against long-term maintainability Flexibility against simplicity Performance against readability Consistency against availability, in distributed systems Building against buying

WHY NAMING THEM MATTERS

Unstated trade-offs become disputes about preference.

WHAT TO DO WHEN DECIDING

State the options State what each gains and costs State the assumptions Choose, and record why

WHY RECORD THE REASONING

So whoever questions it later can evaluate whether the reasoning still holds.

WHAT CHANGES A CORRECT DECISION INTO A WRONG ONE

Circumstances changing, not the decision being poor.

WHAT TO REVISIT

Decisions whose assumptions have changed.

WHAT TO AVOID

Deciding by who argues most persistently Deciding by what is fashionable Refusing to decide

WHY THAT LAST ONE

Undecided questions block work, and are usually decided badly by default.

WHAT TO ACCEPT

Most decisions are reversible, and can be made quickly.


Was this answer helpful?
Back

Are you happy with your experience? Leave us a review on Trustpilot.


Trustpilot