In part 1 of this series I described the problem I’m trying to solve. Before I delve into solving the problem I’d like to take a quick moment to reflect on the development approach I plan to take for this project.
This is the first time I’ve tried to do any development outside of work, so I’m going to acknowledge from the outset that I don’t have a very detailed approach in mind, and I’m more than likely to change it as I go along. This fits quite well with my experience of agile development methodologies, so I’m going to try and put as many of the agile techniques into practice that I can. I’m pretty much development centric, so I’d also like to have a look at some of the related skills relating to requirements analyis and project management.
So as I see it the stages that I’ll need to go through in approximate order are:
- Initial requirements
- Iteration 0 – Get a skeleton solution with Continuous Integration etc
- High Level Design – I don’t want to get into too much detail at this stage, but just taking a moment to think of a broad design might help
- Find a suitable requirement/use case and implement it using Test Driven Development
- Analyse what comes out of the implementation and update requirements etc as needed. Lessons learned etc.
- Repeat steps 4 and 5 until all the requirements have been met.
So that’s my very rough approach, I’m sure I’ve missed oodles, so please drop a comment to suggest any pit-falls etc.