The approach that works best for me is to just start building it :).
In all seriousness though, this is truly the case. I surmise that most of us already have a platform of choice. I know I do. So once that is taken care of, just go ahead and start.
In terms of how do you start, I think it is most effective to work on the critical functionality path. Just do everything that is absolutely critical to make it functional.
In terms of where do you start along the critical functionality path, I approach it from the user perspective. First I need the login screen or whatever. OK, I need to build the ability to login. Then the next thing the user is going to want to do is X, so I need to make X work.
With this process you get from nothing to something functional in little time, and then you can just build from there. I have been on projects where we talk it through first, and even spec, but in my experience this is a waste of time for small projects at all but the highest level. Almost immediately when you start building it you notice things you didn't in the talking stage.
I'm interested in what other people do, but this has always worked for me. Of course, I like to work alone :). But it has worked with other people too. You just break up critical functional tasks the way they naturally break up.
In all seriousness though, this is truly the case. I surmise that most of us already have a platform of choice. I know I do. So once that is taken care of, just go ahead and start.
In terms of how do you start, I think it is most effective to work on the critical functionality path. Just do everything that is absolutely critical to make it functional.
In terms of where do you start along the critical functionality path, I approach it from the user perspective. First I need the login screen or whatever. OK, I need to build the ability to login. Then the next thing the user is going to want to do is X, so I need to make X work.
With this process you get from nothing to something functional in little time, and then you can just build from there. I have been on projects where we talk it through first, and even spec, but in my experience this is a waste of time for small projects at all but the highest level. Almost immediately when you start building it you notice things you didn't in the talking stage.
I'm interested in what other people do, but this has always worked for me. Of course, I like to work alone :). But it has worked with other people too. You just break up critical functional tasks the way they naturally break up.