Sometimes when you’re developing a large-scale project, it’s beneficial to make some kind of development tool applications to aid the process, and work as a prototype.
Such as a dynamic crossword generator, which randomly generated a puzzle based on the number of clues, and the size of the square specified. It generated a random seed number, so you could always build the same crossword again for the finalised product.
Or a karaoke application, which allowed us to generate our own timings for the lyrics to be displayed on-screen in S-Club 7: On the Road. Initial development time can save a massive chunk of development (or asset generation) time further along the development process. This was then utilised again and enhanced to allow us to generate subtitles for e-learning language training videos within further applications.