All entries for Monday 25 September 2006
September 25, 2006
Starting a new project is quite intimidating as you start with absolutely nothing. Before you really get going you’ve got to get the following stuff together:
- A JIRA project (this is our great bug tracking software from Atlassian)
- A CVS project (gotta backup that code)
- A basic project structure in Eclipse (need to ensure you can easily build multiple distributions from a single code base)
- An Ant build.xml file to build the project…even though there’s not really got much to build yet…there will soon
- All the basic Jar files you’re going to need, such as Spring and the like
Once you’ve got the basic project infrastructure in place, you might actually be able to write some code. Some people might say that you’ll have to write a spec first, but that’s not how we do things. We are very keen to get things out the door because we and our users don’t really know what they want until they start using stuff. This works well for us as we’re pretty good at being responsive to our users’ needs and can keep the project nice and easy to refactor and change as we go along.
Being a good boy, I’m making sure that I’ve got lots of tests right from the start. This kind of project is basically all about files so the key thing that it would be nice to get right first time is how to model the file system. It is worth spending a bit of time on the really key parts of the system as you could refactor this later on, but you really wouldn’t want to.
Whilst this very early coding and infrastructure work is going on, it is quite hard to have more than one person working on the project. Once there is a bit more meat to the project someone else can start to get a bit more involved and start something like the file download part of the project. In the mean time it’s worth doing some things that can be done in parallel. A couple of things we have going on in the background are:
- The visual/graphic design work is starting to be looked at by Hannah
- Looking into how we might implement certain file system protocols is being done by Sarah
Although it’s only a couple of days in, I already have some reasonably good code for basic file management and file upload, but not much in the way of a web interface for it yet, except a basic file upload and file listings page.