Proof of Concept
A software developer will generate a proof of concept to determine things such as whether the chosen technology is stable or if the design can support the intended solution.
I liken this aspect of development to the initial thought process of writing the novel. This is the phase where the programmer determines if a project is feasible, or even doable. The writer goes through the same process, proving that the story is worth the effort and can be written to satisfactory depth, length, tension, etc.
The Wireframe Model:
This is a high-level, mocked-up interface of the application. It reflects the developers' interpretation of the project's requirements and provides the customers with an expectation of what the programmers intend to deliver. I equate this with all the planning, plotting and outlining an author must do in the early stages of crafting a novel.
This is the early design delivered to customers for initial approval. Much of the actual program hasn't yet been written and much of what has will be deleted. The customers saw representations in the wireframe, but with an alpha build, they can actually do things and get a feel for how the project is progressing and where it's heading. The customers' feedback then governs the project's continued direction. Critique anyone?
At this stage, the programmers have taken all the feedback the customers provided and integrated it into a fully fleshed system. All the major functionality is there. Things should work--as expected. People reading a novel at this stage of development should be able to provide more finely tuned suggestions. "I was bored in this chapter" or "the pacing was a little off in this section" is the type of feedback I'd expect here.
Developers have a love-hate relationship with QA because their purpose is to verify that everything works, right down to the mouse pointer's behavior. They'll catch the the typographical errors in dialog boxes and point out that things aren't centered or aligned properly. I find this similar to line edits and proofreading.
We're ready to submit! At this stage, manuscripts are in the hands of agents, sitting in a slush pile or are being self-published. The programmer has incorporated each stage's feedback and produced a polished system. The author has also taken feedback from each stage and produced a polished novel.
Then we programmers either begin developing the next software application or enhancing the one just deployed. (Upgrades!) For writers, that's either the next great novel or a sequel to the one just deployed.
Did you have any idea you had so much in common with us nerdy, geeky types?