RSS

Prioritising features: bit by bit, or all at once?

Tue, Jul 8, 2008

Decisions

With a two-page functional specification completed, I am almost ready to make with the code, but first I need to decide on the most efficient order in which to develop features.

As the final application will be for multiple users, there will necessarily be a significant amount of user account creation, maintenance, and security involved - but the core of the app is going to be the accounts, transactions, and reporting functionality. Should I develop from the outside in, and build the authorisation system first? Or build it from the inside out, and get the ‘fun’ stuff working initially - the transaction interpreter and categorisation engine - and then wrap the authorisation bits around that?

Both options are attractive. It would be great to get stuck straight into the meat of the application - after all, I’m the only one who will be using it for the forseeable future - but then one has to consider that locking down database access to an authorised user is likely to affect every database model I write.

On the other hand, starting with the registration and authorisation sections could take quite some time - I don’t want to kill my enthusiasm for the project that early on!

I think I’m probably going to start with the interesting bits first, on the assumption that the user auth stuff can be abstracted to a simple call in the constructor of every controller (and won’t require major re-writing of the database models later on).

If anyone has any experience that says otherwise, of course, please let me know! :)

, , ,

This post was written by:

Matthew Pennell - who has written 11 posts on Add It Up Development Blog.

Writer, designer, programmer, renaissance geek.

Contact the author

Leave a Reply