Поиск  
Always will be ready notify the world about expectations as easy as possible: job change page
Oct 21, 2023

Boat Anchor

Источник:
Просмотров:
2647

AntiPattern Problem

A Boat Anchor is a piece of software or hardware that serves no useful purpose on the current project. Often, the Boat Anchor is a costly acquisition, which makes the purchase even more ironic.

The reasons for acquiring a Boat Anchor are usually compelling at the time. For example, a policy or programmatic relationship may require the purchase and usage of a particular piece of hardware or software. This is a starting assumption (or constraint) of the software project. Another compelling reason is when a key manager is convinced of the utility of the acquisition.

A sales practice called "very important person (VIP) marketing" targets the sales pitch at senior decision makers who have buying authority. VIP marketing often focuses on chief executive officers of small- to medium-size corporations. A commitment to the product is made without proper technical evaluation.

Anchor

The consequences for managers and software developers are that significant effort may have to be devoted to making the product work.

After a significant investment of time and resources, the technical staff realizes that the product is useless in the current context, and abandons it for another technical approach. Eventually, the Boat Anchor is set aside and gathers dust in some corner (if it's hardware).

Refactored Solution

Good engineering practice includes the provision for technical backup, an alternative approach that can be instituted with minimal software rework. The selection of technical backup is an important risk-mitigation strategy.

Technical backups should be identified for most infrastructure technologies (upon which most software depends), and for other technologies in high-risk areas. Technical backups should be evaluated along with critical-path technologies in the selection process. Prototyping with evaluation licenses (available from most vendors) is recommended for both critical-path and back-up technologies.

Related AntiPatterns

Rational decision making is explained in the solution to the Irrational Management AntiPattern. Rational decision making can be used as an objective technology selection process to identify Boat Anchors prior to acquisition. The solution to the Smoke and Mirrors AntiPattern describes the practices for prepurchase technology evaluation, including review of product documentation and train-before-you-buy.

Похожее
Dec 1, 2023
Author: Shachar Shamir
  While sometimes there’s nothing to do but crack open that energy drink and grind out an all-nighter, coders tend to work smarter, not harder by finding ways to increase their productivity without sacrificing work quality. No matter what specific...
Mar 15, 2024
Author: Jonathan Boccara
Understanding is key to building quality software. Here are 3 levels of understanding we should go through before we start coding. Since the beginning of the year, I’ve had the position of a team lead/manager/dev lead, call this what you...
May 29, 2023
Maximizing performance in asynchronous programming Task and Task<TResult> The Task and Task<TResult> types were introduced in .NET 4.0 as part of the Task Parallel Library (TPL) in 2010, which provided a new model for writing multithreaded and asynchronous code. For...
Jul 24, 2023
Author: Mario Bittencourt
We have been living in a distributed world for quite some time, and when considering how should you implement the communication between any two parties involved, the discussion seems to gravitate around two options: API or messaging. Instead of focusing...
Написать сообщение
Тип
Почта
Имя
*Сообщение
RSS
Если вам понравился этот сайт и вы хотите меня поддержать, вы можете
Правило 3-х часов: сколько нужно работать в день
Какого черта мы нанимаем, или осмысленность собеседований в IT
Зачем нужен MediatR?
Почему сеньоры ненавидят собеседования с кодингом, и что компании должны использовать вместо них
Как управлять тимлидами
9 тяжёлых уроков, которые я усвоил за 18 лет разработки
Soft skills: 18 самых важных навыков, которыми должен владеть каждый работник
Как мы столкнулись с версионированием и осознали, что вариант «просто проставить цифры» не работает
Почему в вашем коде так сложно разобраться
Функции и хранимые процедуры в PostgreSQL: зачем нужны и как применять в реальных примерах
Boosty
Donate to support the project
GitHub account
GitHub profile