Software Development _is_ writing

heusserm on 2004-01-29T13:43:32

    Every now and again, I'll read an article about how in the 1980's and 1990's, Japan tried to create "software factories" that were supposed to kill american business the way Japan's industrial sector had killed american manufacturing.



    Except that it never happened.



    Why? In "Agile Software Development With Scrum", Ken Schwaber argues that the manufacturing analogy is inappropriate, even harmful to software development. In his words:



    "For a defined control process to work, these methodologies must define each process with enough accuracy that the resultant noise does not interfere with its repeatability, or the predictability of the outcome. I can watch engineers define a class numerious times and write down a definition of what I saw happening. This process definition is only useful if it can be repeated over and over to generate solid class descriptions. If my obersations are general or loose because many variations are employed to derive a class, the process definition is useless. The process definition will be so weakly defined that, when it is employed, it does not generate repeatable results. When an activity is so complex or complicated that a different defition is required each time it is executed, the activity cannot be abstrated into a process definition."



    That is my problem with heavy-weight methodologies: They take what is essentially creative work and try to boil it down into a manufacturing process. It doesn't work. Software is different each time, just like writing.



    Imagine telling a writer how to write! Oh, you can give them guidlines and heuristics. You can talk about transitions and prose and style. You can even set up a working environment for them or give them requirements for the output of the piece.



    The thing is, the implementation of the piece can be completely different between two people, and yet both articles can satisfy the requirements completely. Unless you are doing cut-and-paste script-kiddie work, software development is not Manufacturing -- it is writing.



    I once read somewhere (And I was certain it was the intro of Effective Perl Programming about Randal Schwartz, but now I can't find it) that through the process of writing, the author realized that he was not a programmer who knew how to write, but he was actually a writer who knew how to program.



    I do believe that is one of the mose congruent statements about programming that I have ever read.


That quote is from the alpaca preface

merlyn on 2004-01-29T17:24:14

And, as always, a special thanks to Lyle and Jack for teaching me nearly everything I know about writing and convincing me that I was much more than a programmer who might learn to write: I was also a writer who happened to know how to program. Thank you.

I find that writing and programming both tickle the same parts of my brain. Both are artistic expressions into a concrete medium, with practices and standards and tools to use.

we're not all writers

htoug on 2004-01-30T12:40:51

I for one am definitely not!

I have always been envoius of those who can write as well as program - Randall, Damian and Pierce to mention a few.

I feel that there is (at least) two kinds of programmers:

  • the extrovert, artistic type, ie the ones whop can write lucid text, stand up at conferences and say sensible things etc.
  • the introvert, semi-autistic types who prefer to hide down deep in the innards of programs, who hate public speaking, who can't oput two words together without harming either.
I find that I can put most perl people into either of those groups, without too much difficulty. Maybe the progress come from the combination - the introverts think and find the new ideas, while the extros publish them, making them understandable and usefull, so laying the foundations for the next cycle.

Reading this over I am not quite sure I understand it, but maybe thats just an indication of which group I belong to.

Re:we're not all writers

heusserm on 2004-01-30T13:13:15



Isn't code just writing intended for a different audience? One that is more precise and less emotional than Spock? ...