Yesterday was TinyUML’s “Gogo” release day, my first file release of the project and its second milestone (the first being version 0). At the present date (February 26th, 2007), the software is not ready for use, it will take at least four weeks (until the “Quina” release) that the functionality will have reached a state where I can start using it for simple tasks. The reason for my early file releases is to have an additional tool to track the progress over time. Because they do not contain useful functionality, I decided not to give the releases version numbers and not to announce them on any official news board either. All releases will carry code names from “Final Fantasy”, this is a huge repository of names and outside of Nintendo, Square Enix is my favorite video game producer.
The advantage of being the single developer and the first user on the project is that I can focus on what is important to me and I do not have to schedule meetings to discuss the features with myself. The disadvantage is that I have to kick my own butt to push forward. My personal experience is that I work more efficient when there is a schedule, there needs to be at least a small amount of pressure. That’s why sticking to a release schedule is so important for me. Being my own butt-kicker, I can also decide what’s going to be included in the releases (and deliberately move them to a future release if I like, ain’t that great).
The next milestone will be the “Kupo!” and “Moogle” releases, where I will focus entirely on the editing system. It is interesting to see how much ground can be covered just by implementing the two UML elements Package and Dependency, packages are special, because they allow nesting (the Composite pattern instantly pops into my mind). I will add the UML Note to this release, because it will introduce a multiline element to the game.