«« Dense Widgets Have their Place Show Me the Content »»
blog header image
Iterative Development and Users

Probably the hardest thing about iterative development is knowing when to make the first release. The software has to be functional enough so people can make constructive comments on it but a bad release can cause users to write off the product completely. On the other hand, you don't want to wait too long without feedback or you could be going in the wrong direction and wasting your time.

You want the iteration to be as painless as possible for the users so you can keep getting feedback on new iterations. Your users have to want to upgrade to the latest version often. A tool like Bugzilla lets your users make feature requests or submit bugs and track the progress of those fixes. When a feature that a user likes has been implemented and they are notified by email by Bugzilla, they'll want to download the latest version containing that fix.

If your users are technically inclined, distribution can be done with read-only CVS access. Otherwise, you can regularly post a ZIP file or executable installation file on a web page. Keeping the CVS repository free of incomplete code will let you make a release any time, even if you are developing with others. Make a new release on days you change the repository so that users can get updates ASAP.

While you are iterating like this make sure your users know that the software may be unstable and has bugs in it. Some people aren't used to using software developed this way and they need to know what you are up to so they don't have unreasonable expectations. Aim for a stable release at some point but it could take many iterations. Have the stable releases available for download as well so that users who are not on the bleeding edge can use something more stable.

Posted at July 19, 2003 at 07:31 PM EST
Last updated July 19, 2003 at 07:31 PM EST
Comments
Google
 
Search scope: Web ryanlowe.ca