A workaround is a bypass of a recognized problem or limitation in a system or policy. A workaround is typically a temporary fix that implies that a genuine solution to the problem is needed. But workarounds are frequently as creative as true solutions, involving
outside the box thinking in their creation.
Typically they are considered brittle in that they will not respond well to further pressure from a system beyond the original design. In implementing a workaround it is important to flag the change so as to later implement a proper solution.
Placing pressure on a workaround may result in later system failures. For example, in
computer programming
Computer programming or coding is the composition of sequences of instructions, called computer program, programs, that computers can follow to perform tasks. It involves designing and implementing algorithms, step-by-step specifications of proc ...
workarounds are often used to address a problem or
anti-pattern
An anti-pattern in software engineering, project management, and business processes is a common response to a recurring problem that is usually ineffective and risks being highly counterproductive. The term, coined in 1995 by computer programmer An ...
in a
library
A library is a collection of Book, books, and possibly other Document, materials and Media (communication), media, that is accessible for use by its members and members of allied institutions. Libraries provide physical (hard copies) or electron ...
, such as an incorrect
return value
In computer programming, a return statement causes execution to leave the current subroutine and resume at the point in the code immediately after the instruction which called the subroutine, known as its return address. The return address is sav ...
. When the library is changed, the workaround may break the overall program functionality, effectively becoming an
anti-pattern
An anti-pattern in software engineering, project management, and business processes is a common response to a recurring problem that is usually ineffective and risks being highly counterproductive. The term, coined in 1995 by computer programmer An ...
, since it may expect the older, wrong behaviour from the library.
Workarounds can also be a useful source of ideas for improvement of products or services.
Legal workarounds
When the legal system places an obstacle in the form of a restriction or requirement, the law may provide a possible workaround. Laws intended to tap into what may seem to be deep pockets may lead to what are at least
temporary solutions such as:
* Since "most French workplace laws affect businesses with 50 or more employees... many French companies opt to employ only 49 people in avoidance of crippling legislations."
* An injunction against
Microsoft
Microsoft Corporation is an American multinational corporation and technology company, technology conglomerate headquartered in Redmond, Washington. Founded in 1975, the company became influential in the History of personal computers#The ear ...
regarding XML features and an ''easy technical workaround'', a patent attorney suggested having two versions of MS Word, one with and one without the feature.
Acronyms
Some well-known acronyms were created to work around bureaucratic or contracting restrictions:
*
PDP
PDP may refer to:
Computing and technology
* Packet Data Protocol in wireless GPRS/HSDPA networks
* Parallel distributed processing in Connectionism#Parallel distributed processing, connectionism
* Plasma display panel
* Policy Decision Point in t ...
- The term was used to describe a computer by another name, due to contracting complications for purchasing or leasing computers. The term PDP (Programmed Data Processor or Programmable Data Processor) was a workaround.
The name "PDP" intentionally avoids the use of the term "computer". PDPs were aimed at a market that could not afford larger computers.
*
GNU - GNU's Not UNIX. As AT&T's prices for academic licensing and use of
UNIX
Unix (, ; trademarked as UNIX) is a family of multitasking, multi-user computer operating systems that derive from the original AT&T Unix, whose development started in 1969 at the Bell Labs research center by Ken Thompson, Dennis Ritchie, a ...
increased,
new restrictions on maximum number of concurrent users and limitations on types of use
[ created a motivation for an alternative: a work-alike workaround. Among the better known ones are:
** ]Linux
Linux ( ) is a family of open source Unix-like operating systems based on the Linux kernel, an kernel (operating system), operating system kernel first released on September 17, 1991, by Linus Torvalds. Linux is typically package manager, pac ...
** BSD
The Berkeley Software Distribution (BSD), also known as Berkeley Unix or BSD Unix, is a discontinued Unix operating system developed and distributed by the Computer Systems Research Group (CSRG) at the University of California, Berkeley, beginni ...
** System V
Unix System V (pronounced: "System Five") is one of the first commercial versions of the Unix operating system. It was originally developed by AT&T and first released in 1983. Four major versions of System V were released, numbered 1, 2, 3, an ...
* PSAP. By contrast with hearing aids, the sale of which is more regulated and more expensive, a Personal Sound Amplification Product (PSAP) is lower in price albeit more limited in capability.
See also
* Bug
* Coping skill
* Design around, to design or invent an alternative to a patented invention that does not infringe the patent's claims
* Hack
Hack may refer to:
Arts, entertainment, and media Games
* Hack (Unix video game), ''Hack'' (Unix video game), a 1984 roguelike video game
* .hack (video game series), ''.hack'' (video game series), a series of video games by the multimedia fran ...
* Jury rig
In maritime transport and sailing, jury rigging or jury-rigging is making temporary makeshift running repairs with only the tools and materials on board. It originates from sail-powered boats and ships. Jury-rigging can be applied to any part o ...
* Kludge
A kludge or kluge () is a workaround or makeshift solution that is clumsy, inelegant, inefficient, difficult to extend, and hard to maintain. This term is used in diverse fields such as computer science, aerospace engineering, Internet slang, ...
* Planned obsolescence
In economics and industrial design, planned obsolescence (also called built-in obsolescence or premature obsolescence) is the concept of policies planning or designing a good (economics), product with an artificially limited Product lifetime, u ...
* Preventive maintenance
The technical meaning of maintenance involves functional checks, servicing, repairing or replacing of necessary devices, equipment, machinery, building infrastructure and supporting utilities in industrial, business, and residential installa ...
* Program temporary fix (PTF)
References
{{Authority control
Software quality
Software maintenance