Without software the computer revolution would be nowhere. Software
does rule the computing world.
- Software is a tool, not salvation.
- Management will buy software as a salvation.
- No software is TURNKEY.
- Management believes all software is TURNKEY.
- The software you use always looks buggy.
- It is always easier to blame the software for work problems than
pointing out real problems to management.
- The software the salesman is showing you always looks bug less.
- The more complex/integrated the software, the more bug fixing
becomes a magic art.
- In order of increasing magnitude there are:
User friendly software often lacks enough power to do your job.
User friendly software is sought after by management to keep
training costs down.
Any command that needs more than 4 pages of documentation should
be termed 'USER HOSTILE'.
Any command with more than 1 page of documentation will only
be used as a last resort.
Speed is proportional to the time you have to wait. It doesn't
matter if the new software does 10,000 commands in 30 seconds versus 1
command in 2 seconds with the old software. The 30 second wait is
than the 2 second wait , thus the new software is slow.
Salesman are often taken at their word, while everyone else has
to prove it.
Good training leads to remarkable pay back on computer
- #@%* lies
- Software demos (Story)
Software training budgets are the last thing funded, and the
first to be cut.
The longer you evaluate software, the more outdated it will be
by the time you use it.
Customer driven software is great for the
short term only. (Story)
Innovation beyond customer needs and wants is the only way to
stay ahead in the market.
Customers that know the least about the software make the most
Customers that know the most about software make important
demands, but are often not recognized because they are too busy
working, not complaining.
Software can not change a companies policies, procedures or
structure. That is the job of leaders.
Software is often purchased to change a companies policies,
procedures or structure.
Software organizations need leadership, not management. Software
groups must be lead through constant changes, not pushed.
All software becomes outdated on the date of purchase.
Software Revision' is a better strategy for
making money than 'Planned Obsolescence'.
Sales forces are the ones that decide what is to be done with
software. Unfortunately sales forces wouldn't know innovation if it hit
them. (See rules 19 & 20 )
The only time a System Administrator is recognized is when there
is a problem. A good System Administrator is a natural hermit.
Maintenance contracts for software will expire the day before
you find a critical bug.
When a fix for a software problem is not
obvious, the problem is blamed on the hardware. (See Hardware #9 )
Software is often purchased by the people who don't know how
to use it, but are buying it in the hopes someone will know how to use
Users groups are most often attended by managers, not the users.
Whenever software is updated, hardware must
be updated also. (See Hardware #6 )
What works doesn't always sell, what sells doesn't always work.
Software that is 'better' or much 'better' is not beneficial. It
has to be significantly better to pay for change.
Software decisions are often based on minor differences that
are seen as major improvements.
One fact does not generate wisdom. A software salesman will take
one fact and try to make it a religion.
Advanced or Automated software requires an advanced user. Even
if all he does is push a button 99% of the time. Knowing what to do the
other 1% of the time requires a user who understands fully what is
Automation in the hands of an advanced user has significant pay
back. Automation in the hands of a novice rarely shows pay back.
Automation just adds to the tasks a novice must learn and retards the
learning of skills needed by the novice. In short automation for
dummies is dumb automation. (Story)
When no one reports a bug or complains about software, one of
the following is true:
Any programmer that claims the honor of writing perfect software
will be given nicknames by his co-workers. None of which could be
repeated in polite company.
For software to be responsive the 'Minimum Hardware
Requirements' listed for the software must be doubled. This includes
memory, disk space and cpu power. If graphics are involved,
requirements must be tripled.
Software that requires training of the users will be loaded
immediately without training. Software that requires training for the
system administrator will be loaded after training is complete and only
as a last resort, if ever.
One simple accurate example is worth 10 pages of documentation.
Examples are rarely used in documentation. Those that are used are
The enhancement or bug fix you need is always in the next rev.
(See Software #27 )
Software enhancements cause new problems equal to or greater
than the problems the enhancements fixed.
Software can not invent solutions. Software can not be forced to be
successful, no matter how much screaming, ranting, raving, pleading or
promising is done. Software can only be made to do what a company or
individual is successful at doing now.
Software quality is defined by the customer, not the provider.
The provider can meet the customers expectations, but can not define
Software systems must be maintained. This includes programs,
databases, user interfaces, documentation and training. Software left
unsupported will soon become unreliable, useless or unusable. The more
the software, the faster the demise.
The quality people will accept when buying software is often
amazingly lower than what they will accept buying anything else.
Any software solution can be provided given
time and money. The problem is most people don't ask how much time and
When software bugs are reported, the standard operating
- No one is using it
- A natural disaster has disabled all forms of communication.
- It is perfect Software
Beta testing makes users feel good, but does nothing for
quality. Quality is a result of design, not testing.
The lowliest human is better at adapting and making decisions
than the best computer program. The only exception is when a human is
following government regulations.
Updating any software will require you to update all software.
This is detailed in the 'Continual Purchase' clause of all Software
Poorly planned software requires a genius to write it and a hero
to use it.
The demand for geniuses and heroes is constantly growing in the
Write crummy software and have friendly energetic people on the
help lines. Everyone will think you are wonderful even if they
can't get anything to work.
When you find yourself getting friendly with customer support
after many days of constant contact, relax it is just a case of
"Stockholm Syndrome". You are beginning to bond with your
Quality and ease of use are nearly as important as advanced
function. While ease of use may save you minutes, advanced function may
save you days of work.
Software companies that rely on customers to do software testing
do not understand their customers need.
A week on the keyboard may save an hour in the manual.
Everyone wants to use a database, but no one wants to pay for
creating and maintaining a database.
Only after you discover a software package's flaws, shortcomings
and limits can you maximize it's usefulness.
Management driven software is often written to support an obsolete processes.
Coding isn't done until the documentation is done. If you don't
document what you have done, you have done nothing.
Critical deadlines or demos will reveal new problems (Story)
Large software companies rarely have problems with software
development. There isn't enough to worry about.
The best way to invigorate the sales staff and demoralize
customers is to
announce software releases months or even years in advance
The worst bug of all is a specification that doesn't meet
Lack of time, resources or money pale in comparison to the effect
incompetence has on quality.
Embarrassment is more successful than logic when trying to get a
A diligent customer takes 4-12 hours to isolate, define, document
and describe a bug so it is understandable to the company that created
When you spend money to make incomplete or buggy software, you just paid
to drive customers away.
Software can not fix chaos, throwing software at chaos will be
ineffectual. Only after you have brought order to chaos will software
be helpful. (Story)
Interfaces built on simplified data will simply not be useful.
Do silly things in software and you can add many un-enjoyable hours to
software development and support. Example: Allow a space in directory
names to add millions of hours to software and script development every
Yesterdays costs will be tomorrows cost unless you make an improvement.
Amateur software works for me
Professional software works for the customer
Drivers for enhancing or correcting software, in order of increasing
- Generate detailed reports showing customers are happy.
- Prove bugs are user errors.
- Emphatically state that no one else has reported any such
- Label bugs as requests for enhancements.
- Keep asking for more information until the customer gives up.
- Pass a bug around until it goes away.
- Prove that the customer does not need a bug fixed.
- Have customers prioritize a list of bugs. With luck, customers
will make the mistake of marking some of the bugs as anything but
- Rewrite the specification to fit the bug.
- When all else fails, attempt to fix a bug within 2-3 revs.
Twisted Definitions of words describing software.
- Value for the customer and market superiority position
- Software developers vision
- Sales forces misunderstanding of the customers needs
- Sales gimicks
- Directives from managers who don't use the software
© Val Hubbard copyright details.
- Work Around: A method of making software work that is inefficient, hard to
remember, undocumented and unsupported. In short cost prohibitive. (See
- Customizable, Make the
user fix it.
- Release dates
- 1Q, First Quarter , April 1, April Fools!
- 2Q, Second Quarter, July 1, See 3Q
- 3Q, Third Quarter, Oct 1, See 4Q
- 4Q, Fourth Quarter, next year sometime
- Coming Soon, See April 1..
- Minor Nuisance, If you want it to work, pay a lot more.
- PRO, you pay more.
- Business Software, you pay a lot more.
- Beta release, waste of time.
- Beta Tester, Free labor
- Productivity, see Business Software.
- X, we don't know what to call it either
- P, see PRO.
- Premium, what you thought you bought the first time.
- Gold, Platinum or Classic. The old stuff in a new box.
- Expansion set, see Premium.
- Upgradeable, you are not getting everything for this price.
- Secret keys, buy the magazine to get your documentation.
- Educational, You can only play it once.
- Pre School learning, doing the wrong thing makes very funny
- Under $10, see Classic.
- Ad blocker, Only we get to track your browsing habits.
- Internet Ad, see nuisance.
- Phone support, see nuisance.
- Personal, see upgradeable.
- Complete, Office or Suite, a couple of things you want and
many you don't want.
- Visual, See Business Software
- Upgrade, you get to pay for it again.
- Next Generation, see Upgrade.
- OS, operating (on your wallet) system.
- User Error, you bought the software.
Software Rules last updated Sept 19 2018
Software page last update Sept 19 2018
These rules do not reference any specific person, company or
software package. They are comical exaggerations of the occurrences of
life in the field of software. Any relation to events anywhere past,
present or future is entirely coincidental.