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! ![]()


Leave a Reply