Thomas Royal

Composer | Pianist | Technologist

Writings


Writing, Agile Methodologies, and Hegelianism

February 27, 2012

(After looking at this two years later, in 2014, I cannot tell what the hell I was thinking here)

Agile Software Processes and Hegelianism

I haven't written here much as I have been focusing much on my dissertation. Further, I have been trying to incorporate agile methodologies into my programming practices. I have also recently discovered the philosopher Slavoj Žižek. The only other phenomena that has ever reflected my thinking so well has been javascript (i.e. sloppy, with occasional moments of brilliance). He is essentially a Marxist with a Lacanian bent. For my money, it doesn't get much more absurd than a contemporary intellectual breathing new life into the two most dead 20th century intellectual clichés - Freudianism and Marxism.

Approaching the Conceptual Hegel-Scrum Nexus

The following is very squishy – lacking any pretense of rigor – and the result of sleep deprivation: Having read Žižek at the speed at which he crafts his ideas, I want to stop utilizing my usual top-down, outlined (waterfall) method of writing. I wish to develop a more agile method of writing. I wish to have complete, functional texts and arguments, only adding additional information and ideas to strengthen what exists. It seems to me that the function Žižek's writing is not so much verifiable hypotheses but Hegelian antitheses. He seems to be unearthing a Heideggerian conception of language as technology of poiesis. Doing so, he is not required to wait until the text is complete for it to be function. Thoughts can be manipulated quickly, agilely. Žižek, to me, is an agile philosopher.

Agile Writing

I would like to be an agile writer, but I do not want to be as undisciplined as Žižek (though I envy his insight, yet I'm already less disciplined than him.) What would it be like to use agile processes for more technical, methodical writing? For one, a writer would focus on immediately creating a complete text. This might mean a brief, five paragraph essay that completely summarizes a potential 400 page book. A writer would subsequently add evidence, rebuttals, and anecdotes, while always having a complete, publishable text. Writers would also always involve collaborators, or at least editors, in every step of the process. This would enable the splitting of the work on one hand, and continuous feedback on the other. Everything written would be simple, using the most clear writing possible. Everything would be revised until complete. All drafts would be subject to source control (which already happens.) Still, this doesn't complete the agile process. Two things are missing.

Modular Writing

When I write, I always have problems changing things. It is easier to change things while programming, provided one is a good programer. One reason is that good code is modular. Every function in a program is placed into small modules. The composition of these modules makes an understandable program. Another reason is that good code subscribes to the DRY principle, ie. don't repeat yourself. When writing software, if there is a task needs to applied more than once, you write the task once and tell the computer to do the task over and over. That way, if you have to change the task, you change it once and this change auto-populates throughout. In order for these issues to be addressed in the domain of writing, writing must be able to be conceived as modular. This might be possible by working with small bits of text conceived as independent from the rest of the text. Further, this area is ripe for the application of technology. For example, a writer could write a paragraph, and name it "agile argument". When arranging the text, the author would simply write "agile argument" at the place where she wants it to occur and the text would appear in the final rendering. I could further imagine automatically generated transitions based on the analysis of context (first, second, third). The application of the DRY (don't repeat yourself) principle is more challenging. DRY is not irrelevant to writing at all. There are times when I have worked on a text and I have a need to change a portion of an argument that appears scattered throughout a text. It would be nice if there was some way of delineating every place that a particular argument occurs. Doing this might allow me to delete this argument if I need to. Further, it would be nice to be able to change key words in one instance of the argument and have anything related to these key words changed in other instances of the argument. Ultimately, in 8000 years, textual analysis could be applied and all of this could occur automatically. Perhaps a first step would be allowing a thing to be represented by a set of variations of the same sentence.

Test Driven Writing

Most interesting to me is the idea of test driven writing. While this could easily cover things like spelling, grammar, and repeated words, the holy grail of this idea would be some kind of rating of an argument's validity. This could be important because if your text is conceived modularly, removing a section might destroy an argument, and it would be nice to not have to read to find this out. Further, it might be enjoyable to see how the addition and subtraction of arguments might affect ratings of readability, validity, and sentiment. Anyway, these are pie-in-the-sky musings. Still, I think there is still room for improvement in the domain of computer assisted writing.