Development Philosophy

In developing PD-PLUS, no attempt has been made to include every feature of other products or to be everything for everyone. The emphasis always has been to provide a very robust and useful tool to meet most needs at an affordable price.

In deciding how to allocate programming time, highest priority always is given to maintenance, although not a lot of time needs to be spent in that area. The simple philosophy followed is that bugs are intolerable. When a bug is discovered, it gets fixed promptly, ahead of all else. Also, the user reporting the bug gets a prompt update with the fix. A liberal definition of bug is used: even if the program fails because of something careless on the part of the user, but the program could have detected it, it's a bug. It isn't often that a bug needs fixing in PD-PLUS, and then it tends to be a rather obscure bug.

In making decisions as to what new capabilities are to be added, some priority is given to enhancing existing facilities. Making several small improvements to help many users can be a better use of time than expending the same or more time to add a major new feature to satisfy relatively few. Some important additions are made from time to time, however. In all cases, development is driven by what users have found they would like to have to make the program more useful. It also helps that the author himself uses the program extensively for real work!

In the course of adding new features, a great deal of attention is paid to doing things right the first time. The code must be as "bullet-proof" as possible. Even the input translation routines are rigorously crafted. Users will always make input mistakes and also ask for things in a process that are impossible to do. Accordingly, great effort is made to anticipate difficulties, write robust code that handles the unexpected, and thus avoid bugs in the first place. This philosophy has paid off in terms of user approval and rapid transition from beta test to production use.