Software RULES!
Version 3.0. Re-ordering and updates Jan 3, 2024
Without software the computer revolution would be nowhere. Software does
rule the computing world.
Software Rules
- 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:
- Lies
- #@%* lies
- Software demos (Story)
- User friendly software often lacks enough power to do your job.
- User friendly software is sought after by management to keep training
costs down.
- 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 longer 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.
- 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.
- Software enhancements cause new problems equal to or greater than the
problems the enhancements fixed.
- 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.
- Management driven software is often written to support obsolete
processes.
- 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)
- Software can not make you successful, no matter how much screaming,
ranting, raving, pleading or promising is done. Successful companies or
individuals make the software a success.
- Software organizations need leadership, not management. Software
groups must be lead through constant changes, not pushed.
- 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.
- 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 it.
- 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 going on.
- 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)
- Critical deadlines or demos will reveal new problems (Story)
- Amateur software works OK for me.
- Professional software works well for the customer base.
- Ease of use is not as important as advanced function. With ease
of use may save you minutes. With advanced function may save you days of
work.
- Any software is useless when there are quality problems.
- The quality people will accept when buying software is often amazingly
lower than what they will accept buying anything else.
- Quality is a result of design, not testing. Beta testing makes users
feel good, but does nothing for quality.
- Drivers for enhancing or correcting software, in order of increasing
magnitude in the real world:
- 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
- Customers that know the least about the software make the most
demands.
- Customers that know the most about software make important demands,
but are often not recognized because they are too busy working, not
complaining.
- The worst bug of all is a specification that doesn't meet customer
needs.
- A diligent customer takes 4-12 hours to isolate, define, document and
describe a bug so it is understandable to the company that created
it. Bugs are very expensive for everyone.
- When you spend money to make incomplete or buggy
software, you just paid to drive customers away.
- Buggy, incapable or poorly supported software is the most costly
software you can use, even if it is free.
- When no one reports a bug or complains about software, one of the
following is true:
- No one is using it
- A natural disaster has disabled all forms of communication.
- It is perfect Software (Story)
- 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.
- The enhancement or bug fix you need is always in the next rev.
- Coding isn't done until the documentation is done. If you don't
document well what you have done in the code comments, you have done
nothing.
- 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.
- Any command with more than 1 page of documentation will only be used
as a last resort.
- One simple accurate example is worth 10 pages of documentation.
Examples are rarely used or are outdated and inaccurate.
- Any command that needs more than 4 pages of documentation should be
termed 'USER HOSTILE'.
- A week on the keyboard may save an hour in the manual.
- Good training leads to remarkable pay back on computer use. (Story)
- Software training budgets are the last thing funded, and the first to
be cut.
- Only after you discover a software package's flaws, shortcomings and
limits can you maximize it's usefulness.
- 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.
- 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
software world.
- Any software solution can be provided given time
and money. The problem is most people don't ask how much time and money.
- When software bugs are reported, the standard operating procedure is:
- Generate detailed reports showing customers are happy.
- Prove bugs are user errors.
- Emphatically state that no one else has reported any such problem.
- 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 critical.
- Rewrite the specification to fit the bug.
- When all else fails, attempt to fix a bug within 2-3 revs.
- Lack of time, resources or money pale in comparison to the effect
incompetent software development has on quality.
- Embarrassment is more successful than logic when trying to get a bug
fix.
- Software companies that rely on customers to do software testing do
not understand their customers need.
- 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.
- 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.
- 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
oppressor.
- All software becomes outdated on the date of purchase.
- Software Revision' is a better strategy for making
money than 'Planned Obsolescence'.
- Updating any software will require you to update all software. This is
detailed in the 'Continual Purchase' clause of all Software contracts.
- Everyone wants to use a database, but no one wants to pay for
creating and maintaining a database.
- 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
- Interfaces built on simplified data will simply not be useful.
- Do silly things in software and you can add many painful hours to
software development and support. Example: Allow a space in
directory names to add millions of hours to software and script
development every year.
- Yesterdays costs will be tomorrows cost unless you make an
improvement.
- 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
complex the software, the faster the demise.
- AI means Artificial Intelligence. If you let it replace true
intelligence, your world may be artificial.
- AI without control and a sense of morality is dangerous. AI
developers and great Science Fiction writers have been warning us for
decades of the consequences.
- Twisted Definitions of words describing software.
- Work Around: A method of making software work that is inefficient,
hard to remember, undocumented and unsupported. In short cost
prohibitive. (See rule 49)
- 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
noises.
- 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.
Home Page © Val Hubbard
copyright details.
Software Rules last updated Jan 3, 2024
Software page last update Oct 22, 2024
These
rules do not reference any specific person, company or software package.
They are comical exaggerations of the occurrences of everyday life in the
field of software. Any relation to events anywhere past, present or future
is entirely coincidental.