Ускладнювачи або оверінженерінг
Це переклад одного цікавого коротенького запису від Alex Papadimoulis, засновника «The Daily WTF».
Написано трохи в англійському гумористичному стилі — неспішно і сатирично.

Під час розробки якісного програмного забезпечення, ми завжди знаходимося під тиском одразу з декількох фронтів.
- По-перше, небезпеку становлять новачки, які абияк змогли отримати своє перше місце роботи, прочитавши «Програмування для чайників» напередодні співбесіди.
- По-друге, нам загрожують кар’єристи-початківці, які змогли вдало влаштуватися після завершення першого контракту (тобто отримали гроші, а клієнт не засудив їх за розробку марного продукту). Іноді навіть вдається побудувати кар’єру, примудрившись повторити цей шлях декілька разів.
- Нарешті, є «Ускладнювачи», або «ОверІнженери» (знайти вдалий переклад слова «Complicators», не вдалося, але є поширений термін оверінженерінг, тому — Оверінженери — прим. перекладача), ще одна сторона, яка заманює кращих з нас приєднатися до цієї стежки, навіть всього на один або два мікро-проекти.
Є люди, які настільки глибоко загрузли в рішеннях Мега-Проблем, що вони наче набули надзвичайної здібності: знаходити Мега-Проблеми («вирішення проблеми, яке створює ще одну проблему в процесі вирішення реальної проблеми») в будь-якому місці.
Ми бачили багато таких систем та продуктів, створених такими «Оверінженерами». Вони виглядають як функціональні додатки типу «матрьошка», які складаються з рішень, що тягнуть за собою інші проблеми що потребють рішень, що тягнуть за собою ще проблеми, і так до нескінченності.
Іноді слід давати можливість знайти рішення проблеми, не використовуючи «молодіжні» чи інноваційні технології.
Я часто думав, який вдалий приклад такого абсурду можна навести. На щастя, один мій знайомий Майк дав нам таку можливість.
У корпорації, де працює Майк, є щось на кшалт форума, де всі співробітники можуть запитати пораду або поділитися своєю ідеєю з усіма розробниками.
Одного разу, один розробник, сеньйор архітектор з офісу зі східного узбережжя, запостив наступне:
[Off-Topic] Апгрейд велосипеду
Сьогодні я добирався на роботу на велосипеді, і спитав сам у себе — ну чому, чому ніхто не придумав велосипед із підігрівом керма?
Через ці новоанглійські ранкові морози, мої руки льодіють, і страшенно ниють суглоби!
Хтось чув щось про такі речі?
Перша відповідь була від розробника, який працював у відділі Майка, і відповідав за найзаплутаніший і найдивніший компонент у їхньому додатку:
Швидкогугл не дав нічого готового, але я думаю, що це шикарна ідея! Давайте зробимо таку штуку самі!
Я вже навіть придумав приблизну реалізацію, і бачу її так: причепити динамо-машину до педалів, пропустити дроти через раму і приробити обігрівальну електромережу на ручку керма.
Ця відповідь запустила цілу лавину коментарів. Розробники різних рівнів, з різних відділів вступали в обговорення, пропонували свої варіанти на кшталт додаткових акумуляторів ще однієї динамо-машини, що працює від переднього колеса, щоб використовувалася енергія накату та інші.
Після обіду хід дискусії дещо сповільнився, але ідеї стали висуватися складніші та просунутіші:
Пропоную блискучу ідею:
Ми можемо використовувати тепло нашого тіла ефективніше! Крім того, такий підхід також можна буде використовувати під час ходьби чи бігу.
Потрібно зробити тонку куртку, під верхній одяг, але щільну, типу вітровки, і кілька теплопровідних гнучких трубок, щоб передавати тепло від живота (який, схоже, ніколи не замерзає).
Невеликі клапани на рукавах допомагатимуть передавати нагріту рідину на руки, де тепло розподілятиметься за допомогою мережі тонших трубок.
Вода буде циркулювати завдяки одностороннім клапанам через стиснення-розтискання від руху при ходьбі або їзді на велосипеді.
Якщо що, то ми можемо додати невеликий акумулятор або динамо, щоб запитати зовнішній обігрівач для рідини.
Очевидно, що з велосипедом це реалізувати простіше, я так гадаю.
На щастя, у компанії Майка працював як мінімум один адекватний розробник, який вступив в обговорення анонімно і запостив наступне.
Це найідіотськіша дискусія, яку я коли-небудь читав... ну точніше за останні кілька днів, після тієї діскусії, де ви обговорювали архітектуру UND компонента.
Причина, через яку «автоматичну система підігріву рук» ще ніким не розроблена, полягає в тому, що більшість нормальних людей просто купляє собі рукавички.
Рукавички дуже ефективно зберігають тепло рук і на велосипеді і пішки.
На жаль для нашого прикладу (а я б хотів почекати і подивитися хоча б парочку діаграм і схем від «ОверІнженерів»), після цієї відповіді, дискусія про «систему підігріву рук» завершилася.
Тож суть цієї статті можно перевести в маленьку пораду:
Наступного разу, коли ви розроблятимете новий продукт, стережіться «Оверінженерів», і коли ви вже готові почати безпосередньо розробку, подивиться ще раз на ваш дизайн проекта та подумки промовте «рукавички»


33 коментарі
Додати коментар Підписатись на коментаріВідписатись від коментарів