Almost Considered Harmful

[Moved from DefinitionOfAlmost?]

"'Almost' is a technical term meaning 'not'." (from a former co-worker)

Almost has many synonyms, such as "nearly", "mostly", "just about", or "virtually". Also, when completeness is expressed as a percentage ("I'm NinetyPercentDone"), it frequently is also a synonym for "almost"; most such estimates are pulled out of the air (or out of darker places).

Well, sometimes it's a feeling, not a metric. Example: the project you are working on *right now*, tell me exactly where you are on it. You can't? Maybe that's because of the difficulties of estimating. "Almost done" doesn't always mean "not done", sometimes it just means "I think it's almost done, barring any unforeseen problems"


It's an AlarmBellPhrase. There are lots of variants of this pattern: AlmostDone, AlmostCorrect, Compatible, AlmostStandardCompliant, AlmostWorking?, AlmostOk?.

They are one of the worst system (library, module, class, protocol, interface) behaviors one can be confronted with in software development. When a system is attributed with "compatible", "compliant", "working", etc., it creates certain expectations for a developer supposed to work with (integrate, re-use, adapt, ...) this system.

Discovering the reality, the "almost" part, of the system is frustrating, time consuming, and sometimes difficult. In fact, AlmostCorrect means not correct at all, AlmostCompatible? stands for not compatible at all, etc.

Marketing guys have made it an art to phrase Almost... statements nicely. And Microsoft has fully mastered the art.

-- ThomasWeidenfeller

Particularly when they say that they're 90% ANSI compliant. StandardsCompliance?, I would argue, is a binary thing. Either you're compliant with the standard...or you're not. 90% compliant = not compliant. --AlanFrancis


I'd rather be almost dead than almost alive.


"He's not dead, he's only mostly dead." -- ThePrincessBride.


Businessmen would rather be almost bankrupt than almost solvent.


Students would rather almost fail than almost pass.


I'd rather be almost wrong than almost right


EditText of this page (last edited April 12, 2006) or FindPage with title or text search