Advertisement
Search  
Always will be ready notify the world about expectations as easy as possible: job change page
Oct 21, 2023

Boat Anchor

Source:
Views:
702

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.

Similar
Oct 21, 2023
BackgroundThis is one of the most common AntiPatterns in the industry. Frequently, a vendor, specifically a database vendor, will advocate using its growing product suite as a solution to most of the needs of an organization. Given the initial expense...
Oct 21, 2023
BackgroundFunctional Decomposition is good in a procedural programming environment. It's even useful for understanding the modular nature of a larger-scale application.Unfortunately, it doesn't translate directly into a class hierarchy, and this is where the problem begins. In defining this AntiPattern,...
Oct 25, 2023
Author: Ignacio Chiazzo
As a developer, which areas should we focus on for performance optimizations? How can we measure the impact? Read this post to learn the framework.Performance optimization is any software or hardware modifications that make the platform faster and more scalable,...
Oct 21, 2023
AntiPattern ProblemA Dead End is reached by modifying a reusable component, if the modified component is no longer maintained and supported by the supplier. When these modifications are made, the support burden transfers to the application system developers and maintainers....
Send message
Email
Your name
*Message


© 1999–2024 WebDynamics
1980–... Sergey Drozdov
Area of interests: .NET Framework | .NET Core | C# | ASP.NET | Windows Forms | WPF | HTML5 | CSS3 | jQuery | AJAX | Angular | React | MS SQL Server | Transact-SQL | ADO.NET | Entity Framework | IIS | OOP | OOA | OOD | WCF | WPF | MSMQ | MVC | MVP | MVVM | Design Patterns | Enterprise Architecture | Scrum | Kanban