Working toward 1.0
Written 14 May 2004
The following represents my tentative plan to bring my Workspaces software to a 1.0 release version. The goal is to remain focused, adding only a few “necessary” features for a suitable 1.0 version. Here are the steps toward that goal:
-
Model current state (0.4) Since much time has passed since I last worked on Workspaces, I need to refamiliarize myself with the code, flow and current state of all objects. Reaching this goal involves mapping each object (UML model) and the various interactions between objects.
-
Determine and add 1.0 features (0.5) This is a 0.5 version goal. A handful of features and changes occur during this time period. Features such as notes and events (sort of schedules) need added. Some changes wil occur to move the code into a more modular state. During the Modeling phase, some portions will be marked as replaceable. The purpose si to allow better interoperability with systems users already have in place. For example, authentication. Rather than mandating authentication occurs according to a set system within Workspaces (such as a username/password in a database), it must be easy to use a currently existing system (such as LDAP, Samba, etc).
-
Flesh out 1.0 features (0.6) Although it seems similar the previous step, this involves adding the full functionality of the 1.0 feature-set. The 0.5 will contain all the features, but not in final form, more like the rough outline. This version implements them properly, with full tests. Think of 0.5 as the prototype of the 1.0 feature-set, with 0.6 the full working form.
-
API Documentation (0.7) Should be self obvious :) Most likely I will use phpDocumentor and PHP Xref to do this. Everything must be documented, nothing missed, no excuses.
-
User Documentation (0.8) Two sets of documentation: End user and Developer. The end user documents include installing Workspaces and troubleshooting known problems. The Developer documents are complementary to the API documentation.
-
Installer and final fixes (0.9) Method to easily install and uninstall Workspaces. Must be easy and usable by anyone (self-explanatory). Nothing skipped. Needs to work on all platforms. In this stage the final bug fixes occurrs. The goal is to have all known bugs resolved, but we'll see how that goes ;)
-
1.0 Release, world-domination begins Must I say more ;)
With the above said, there are some principles that guide this project to completion (1.0 release):
-
This is not workgroup software It is more like Project tracking software, or file distribution. There is no need to place within Workspaces functions such as email, bug/issue tracking and the like. Already software exists for such. If possible I will try to make it easy to integrate with some such applications.
-
It must be simple Whether installing, using or administrating, the program must be simple, clear and concise.
-
Bugs are as important as features Often more-so because bugs impede a persons use of the program.