Creating my SCI compiler:
I practiced by making some test assemblers and such before making the SCI compiler (it's always good to do drafts and it got me farmiliar with the file format). When it came time to make the final SCI compiler for SCI Studio, I planned it out on regular lined paper for a couple weeks before sitting down and coding it. By the time I was done planning and pseudocoding, I started the actual coding, and it came along quite easily and quickly. I've also been able to greatly expand it to not only support much more language and features, but also target mutiple SCI versions (all from planning).
I've learned over the years that just like writing a good adventure game, building a large or complex program invlovles full planning first as well.
Just as a note, I think it works best to do the planning by hand on paper rather than on the computer in notepad or Word. That way, it's quicker, easier, and any chance I can get to rest my eyes from the computer screen and neck from the chair, yet still be working on SCI Studio is ideal!