Monday, 2 February 2009

Lessons Learned

In contrast to my day-job as an Enterprise Java Developer, working on my level editor was generally pleasant experience. It was nice to do some proper OO on a self-contained project with no external dependencies for a change!

I didn't do any up-front design for it and developed each component in isolation, providing functional mocks for inter-component dependencies. Somewhat surprisingly, a domain model ended up simply 'falling out' of this approach as the code evolved - I guess that's what's supposed to happen with Agile methodologies.

That said, I'm not sure how well this would translate to a large project / team environment. This was a small project where I was able to mentally keep everything in the air at once, ie. whenever I changed something I had a very clear idea of how it would affect everything else. If I'd been working on a vertical slice of a much larger application, would this approach still work?

No comments: