Emily Short is one of the driving forces behind modern Interactive Fiction (IF) creating many ground-breaking games and several dozen(!) Inform 7 extensions. There is no doubt in my mind that she played a role second only to Graham Nelson in establishing Inform 7 an accessible and powerful tool for thousands of IF authors. Not surprisingly, Short has a wonderful web site with a treasure trove of insightful articles on creating and playing IF.
Here's an excerpt from "Idea to Implementation" where she discusses different approaches to writing IF and gives some recommendations on the good, the bad and the ugly of just firing up Inform7 and programming free-form.
Implement first! Design later!: You open up your IF tool of choice and you just go. Implement a room or two, some stuff to go in it, maybe a character. Write whatever comes into your head, then seek out the connections that come out of it.
In my experience, it’s really hard to finish this kind of game. I’ve started lots this way, especially when I was new to IF writing, and that was all useful experience because it familiarized me with my tools and was a kind of play. But sooner or later you hit a wall where you realize that your doodlings aren’t going anywhere and you have no particular end in mind; or you do, but there’s not a coherent plot, the backstory doesn’t work consistently, the pacing is off...
Fully design on paper, then implement: You sit down in a coffee shop with a notebook and you write down everything you need to know for your game. Maps and puzzle diagrams, if it’s that kind of game; plot plan and lists of scenes, if it’s that kind of game. Character bibles, historical timelines, setting research, if it’s that kind of game. (It may be all of these at once.) Then you code, checking things off on your plan as you go until they’re all done.
This is pretty much how I did Savoir-Faire. The setting came out of some freeform brainstorming sessions with Inform, and I did prototype the magic system first; but then I sat down and made a list of puzzles, arranged them into a big chart, and implemented the chart. This was hugely satisfying as a process because it produced a sense of forward movement. I knew I was making progress and I had a pretty good idea of when I was going to be done. I tweaked the design as I worked, a little — there were a few puzzles I decided were too arbitrary and threw out, and in response to tester feedback I extended the early game to contain some easier puzzles because it was generally thought to be too hard to get into.
There's much more to the article than these two approaches; in fact she describes other approaches that may be a better fit for many would-be IF authors. There are useful links to other articles on IF development. There are also longer articles on geographic layout of games, creating conversations and more. Many of Short's games are available with source code on IFDB and on the Inform 7 web site.