Our development method will use a flexible Milestone Release process. This simply means that we'll plan a set of milestones which attempt to break the work required into manageable chunks. Then we'll develop a WorkBacklog to record what we need to do in order to meet the next milestone, and potentially others. At set intervals (probably every month or two), we'll review where we are and update everything to reflect our progress. This seems to work pretty well in an Open Source project, but we'll also reserve the right to change things without notice.
The plan, as of Feb 07th, 2003, is as follows:
Milestone | Target Component | Detailed Description | |
MS1 | All | This release is primarily to get knowledge about all the different tools we're using and work out the kinks in the development process. To do this, we are attempting to get something done if every part of the ObveRsive design: GUI, Actions, Templates, RBackend, Configuration, Console, etc. This milestone will also be release to users for comment. | |
MS2 | Actions | This release will incorporate comments from users on MS1, and focus on getting the Actions to actually work for at least one case. Doing this will force the RBackend, GUI, and Templates to also be worked on. | |
MS3 | RBackend | This release will focus on getting the RBackend system rock solid and working, potentially as a separate project for others to use. Users will have an opportunity to comment on the interface and usability of the previous release, and those comments will be incorporated into MS3 | |
MS4 | GUI | With the Actions and RBackend working pretty well together, it is logical to clean up the GUI and make it smooth. The goal of this milestone will be to iteratively work over the GUI so that it has all the functionality the user expects (even if only partially working). We will utilize previous comments as usual, but this release will focus on UsabilityTesting to analyze the GUI's effectiveness. | |
MS5 | Console | The console will be the focus on this milestone. The goal will be to incorporate it into all the other components so that the user can "flip to console" to see what R was doing. The purpose of this is to add a "learning bridge" to obversive so that more ambitious users can learn R in babe steps. | |
MS6 | Configuration | This milestone will focus on discovering and implementing all the configuration points that users need in order to customize R to their usage. A secondary target of this milestone is to clean things up and make sure that every square inch of the system is tested. | |
MS7 | Polishing | This milestone will be simply a polishing up of all functionality in order to make a 1.0 release of it. This will involve focusing on the testing process and really pounding things. This should be fairly smooth as long as we followed our testing procedure for the other milestones. | |
R1 | Actions Galore | This will be the release for 1.0. The target in this is to continue cleaning things up, but also to get as many nice Actions created as possible. The Actions and GUI are the two things which will most likely make or break ObveRsive, so it will be important to have some great showcase Actions available. |
Planning beyond R1 is useless right now, but after this, we'll start getting feedback and working on adding new improved features to R. Hopefully we can get some contributors and maybe target more platforms for release.