Будь ви простим програмістом, материм лідом, архітектором або навіть ПМ-ом, ви напевно в своїй нелегкій роботі стикалися з проблемою вибору при додаванні в систему нової можливості. Одне рішення набагато простіше реалізувати в стислі терміни і встигнути до чергового дуже важливого релізу, проте воно буде більш витратне в супроводі, менш розширюване або менш надійне. Інше рішення може не володіти всіма цими недоліками, проте володіти іншим, в деяких випадках більш важливим недоліком - на його реалізацію буде потрібно значно більше часу.
