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

  1. Software is a tool, not salvation.
  2. Management will buy software as a salvation.
  3. No software is TURNKEY.
  4. Management believes all software is TURNKEY.
  5. The software you use always looks buggy.
  6. It is always easier to blame the software for work problems than pointing out real problems to management.
  7. The software the salesman is showing you always looks bug less.
  8. The more complex/integrated the software, the more bug fixing becomes a magic art.
  9. In order of increasing magnitude there are:
  10. User friendly software often lacks enough power to do your job.
  11. User friendly software is sought after by management to keep training costs down.
  12. 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.
  13. Salesman are often taken at their word, while everyone else has to prove it.
  14. The longer you evaluate software, the more outdated it will be by the time you use it.
  15. Customer driven software is great for the short term only.  (Story)
  16. Innovation beyond customer needs and wants is the only way to stay ahead in the market.
  17. Software enhancements cause new problems equal to or greater than the problems the enhancements fixed.
  18. Software can not change a companies policies, procedures or structure. That is the job of leaders.
  19. Software is often purchased to change a companies policies, procedures or structure.
  20. Management driven software is often written to support obsolete processes.
  21. 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)
  22. 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.
  23. Software organizations need leadership, not management. Software groups must be lead through constant changes, not pushed.
  24. 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. 
  25. The only time a System Administrator is recognized is when there is a problem. A good System Administrator is a natural hermit.
  26. Maintenance contracts for software will expire the day before you find a critical bug.
  27. When a fix for a software problem is not obvious, the problem is blamed on the hardware. (See Hardware #9 )
  28. 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.
  29. Users groups are most often attended by managers, not the users.
  30. Whenever software is updated, hardware must be updated also. (See Hardware #6 )
  31. What works doesn't always sell, what sells doesn't always work.
  32. Software that is 'better' or much 'better' is not beneficial. It has to be significantly better to pay for change.
  33. Software decisions are often based on minor differences that are seen as major improvements.
  34. One fact does not generate wisdom. A software salesman will take one fact and try to make it a religion.
  35. 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.
  36. 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)
  37. Critical deadlines or demos will reveal new problems (Story)
  38. Amateur software works OK for me.
  39. Professional software works well for the customer base.
  40. 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.
  41. Any software is useless when there are quality problems.
  42. The quality people will accept when buying software is often amazingly lower than what they will accept buying anything else.
  43. Quality is a result of design, not testing. Beta testing makes users feel good, but does nothing for quality.
  44. Drivers for enhancing or correcting software, in order of increasing magnitude in the real world:
    1. Value for the customer and market superiority position
    2. Software developers vision
    3. Sales forces misunderstanding of the customers needs
    4. Sales gimicks
    5. Directives from managers who don't use the software
  45. Customers that know the least about the software make the most demands.
  46. Customers that know the most about software make important demands, but are often not recognized because they are too busy working, not complaining.
  47. The worst bug of all is a specification that doesn't meet customer needs.
  48. 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.
  49. When you spend money to make incomplete or buggy software, you just paid to drive customers away.
  50. Buggy, incapable or poorly supported software is the most costly software you can use, even if it is free.
  51. When no one reports a bug or complains about software, one of the following is true:
  52. 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.
  53. The enhancement or bug fix you need is always in the next rev.
  54. 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.
  55. 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.
  56. Any command with more than 1 page of documentation will only be used as a last resort.
  57. One simple accurate example is worth 10 pages of documentation. Examples are rarely used or are outdated and inaccurate.
  58. Any command that needs more than 4 pages of documentation should be termed 'USER HOSTILE'.
  59. A week on the keyboard may save an hour in the manual.
  60. Good training leads to remarkable pay back on computer use.  (Story)
  61. Software training budgets are the last thing funded, and the first to be cut.
  62. Only after you discover a software package's flaws, shortcomings and limits can you maximize it's usefulness.
  63. 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.
  64. Poorly planned software requires a genius to write it and a hero to use it.
  65. The demand for geniuses and heroes is constantly growing in the software world.
  66. Any software solution can be provided given time and money. The problem is most people don't ask how much time and money.
  67. When software bugs are reported, the standard operating procedure is:
  68. Lack of time, resources or money pale in comparison to the effect incompetent software development has on quality.
  69. Embarrassment is more successful than logic when trying to get a bug fix.
  70. Software companies that rely on customers to do software testing do not understand their customers need.
  71. 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.
  72. 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.
  73. 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.
  74. All software becomes outdated on the date of purchase.
  75. Software Revision' is a better strategy for making money than 'Planned Obsolescence'.
  76. Updating any software will require you to update all software. This is detailed in the 'Continual Purchase' clause of all Software contracts.
  77. Everyone wants to use a database, but no one wants to pay for creating and maintaining a database.
  78. Large software companies rarely have problems with software development.  There isn't enough to worry about.
  79. The best way to invigorate the sales staff and demoralize customers is to announce software releases months or even years in advance
  80. Interfaces built on simplified data will simply not be useful.
  81. 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.
  82. Yesterdays costs will be tomorrows cost unless you make an improvement.
  83. 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.
  84. AI means Artificial Intelligence.  If you let it replace true intelligence, your world may be artificial.
  85. 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.
  86. Twisted Definitions of words describing software.

Home Page Val Hubbard copyright details.

Software Rules last updated Jan 3, 2024

Software page last update Jan 3, 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.