Wednesday, November 7, 2012

The Stages of a Geek's Manuscript

Most of you know that I'm a software developer (computer programmer) by trade.  As such, I've discovered a number of similarities between developing software and developing a manuscript.

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.

Alpha-builds:
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?

Beta-builds:
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.

Quality Assurance:
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.

Deployment:
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?


18 comments:

  1. I love this concept. I'm not a software developer but I could get these comparisons. Nice Analogy Jeff.

    ReplyDelete
    Replies
    1. Thanks. There really are a lot of similarities between the two. Both require creativity and logic.

      Delete
  2. Very interesting post. As I'm married to a geek I totally got all this. I don't think my hubby has the love part of his love-hate relationship with his quality team though.

    ReplyDelete
    Replies
    1. Ah, but the love for QA comes from having them discover bugs before they make it to production. Fixing things before deployment is far easier and much more preferable.

      Delete
  3. Good analogy. I had no idea developers went through all those stages to get to the final product.

    ReplyDelete
    Replies
    1. We don't always hit every step with every project, but for a project of any size, hitting more of them improves the product. hmmm, again, much like novel writing. ;-)

      Delete
  4. Incredibly true on your first point. I don't know how many times I've decided against writing something because I either knew that I couldn't write it effectively or that it wasn't something that many people would enjoy reading.

    I agree, both processes are rather similar.

    ReplyDelete
    Replies
    1. I've come to the conclusion that the similarities extend even beyond the process and into the type of work itself. Creating is creating regardless of the forms it takes.

      Delete
  5. Good analogy! I work with website design and some basic programming, so I'm with you on that.

    ReplyDelete
    Replies
    1. Thanks, Alex. It's always refreshing to find--even if small--a geek quotient in our friends and peers. LOL. Alas, web design always seems to be around the corner for me, but I keep managing to take a different turn and delay it. I'm much better with desktop and client server development than web development.

      Delete
  6. Wow, great comparisons! I'm not a software developer, so I never would have thought that it was in any way similar to writing till now. In retrospect, it makes total sense, despite me knowing nothing about software development outside of this post!

    ReplyDelete
    Replies
    1. Thanks, Heather! I write code during the day and write fiction at night. Life's pretty good!

      Delete
  7. My hubby is a software developer (games mostly) and he often tells me how there are a lot of similarities in what we do. On many occasions he's likened my work to a particular stage in his. It's funny because until he pointed it out I hadn't even thought about it!

    Great Post as usual Jeff.

    Morgan x

    ReplyDelete
    Replies
    1. Thanks, Morgan! I find it interesting when I see parallels in things most people consider completely unrelated. I guess your husband has validated by observation. ;-)

      Delete
  8. Jeff, having done a fair amount of programming myself, I've also thought about the similarities between writing and programming. The biggest difference for me comes during the revision part of the process. Once I have the program working, I love diving back in and tightening it up (tying up loose ends and shrinking the size of the code, for example) But that's because I have a fair idea what I'm doing, which is generally not the case when I revise a story. I can see when I've made the computer code better, but I usually have no idea if the revised version of my story is any better than the original version. That's when editing can become a real chore.

    ReplyDelete
    Replies
    1. Interesting observation. Objective, measurable metrics can prove that code is tight and efficient. Measuring how well we've polished our prose is far more subjective.

      Delete