Розплатитеся з технічних кредитами

Бернхардт Хафнагель

У житті будь-якого проекту, що знаходиться в стадії експлуатації (тобто що має активних користувачів), настає момент, коли потрібно внести зміни – виправити помилку або додати нову функцію Можливі два шляхи: або ви не пошкодуєте часу і зробите все «як положено», або почнете «зрізати кути», щоб вирішити завдання швидше

У загальному випадку представники бізнесу (відділ продажів / маркетингу та клієнти) хочуть, щоб зміни були внесені якнайшвидше, а розробники і тестувальники більше зацікавлені в тому, щоб витратити потрібну кількість часу на проектування, реалізацію і тестування змін, перш ніж продукт буде відправлений клієнтам

Вам як архітектору проекту належить вирішити, який шлях більш розумний, а потім переконати осіб, що рішення, піти вашому раді як у більшості архітектурних питань, тут необхідний розумний компроміс Якщо ви вважаєте, що система досить стабільна, можливо, варто попрацювати «на швидку руку» і внести зміни якомога швидше В принципі, це нормально, але врахуйте, що при цьому проект бере «технічний кредит», який пізніше доведеться виплачувати У нашому випадку «виплата» означає, що вам все одно доведеться повернутися і внести зміни так, як ви це зробили б, розташовуючи необхідним часом і ресурсами

Тоді чому ми турбуємося про те, коли слід внести сумлінні зміни – зараз або потім Тому що зміни «на швидку руку» сполучені з прихованими витратами У фінансовій сфері такі приховані витрати на кредит називаються відсотками будь-який власник кредитної картки знає, як дорого може обходитися проста виплата відсотків по кредиту

Для технічних боргів «проценти» беруть викривши нестабільності системи і підвищених витрат на супровід, обумовлених незграбним внесенням змін і відсутністю належного проектування, документації та / або тестів Причому, як і у фінансовому випадку, відсотки на технічну заборгованість виплачуються регулярно доти, поки кредит не буде погашений

Тепер, коли ви краще уявляєте собі справжню вартість технічних кредитів, можливо, ви вирішите, що ціна занадто висока Але коли доводиться вибирати між максимально швидким виправленням помилки і серйозними фінансовими втратами, зазвичай має сенс вибрати перший Отже, прийміть на себе удар і виправте продукт якомога швидше, але тільки не зупиняйтеся на цьому

Як тільки виправлення потрапить в працюючу систему, добийтеся того, щоб розробники повернулися і внесли повноцінні виправлення, які можна включити в наступний запланований випуск Такий підхід можна порівняти з виплатою по кредитній карті і погашенням боргу в кінці місяця, щоб не довелося платити відсотки Це дозволяє вносити швидкі зміни, необхідні бізнесом, але одночасно захищає ваш проект від попадання в «боргову яму»

Берк Хафнагель (Burk Hufnagel) створює користувальницькі додатки з 1978 року В даний час працює провідним архітектором ПЗ в LexisNexis

Джерело: Форд Н, Найгард М, де Ора Б, 97 етюдів для архітекторів програмних систем – Пер з англ – СПб: Сим-вол-Плюс, 2010 – 224 с, Мул

Схожі статті:


Сподобалася стаття? Ви можете залишити відгук або підписатися на RSS , щоб автоматично отримувати інформацію про нові статтях.

Коментарів поки що немає.

Ваш отзыв

Поділ на параграфи відбувається автоматично, адреса електронної пошти ніколи не буде опублікований, допустимий HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*

*