How is agile software writing different from traditional software writing?
Before agile, I worked mostly from functional specs. That was frustrating. In real life, requirements shift to reflect the changing priorities of the powerful, and functionality follows, in complex ways. The only way to write about it reliably is to try to understand how power works in your organization, and then dive into the day-to-day development process.
The trick, for me, has been to develop a feel for how much rework is optimal. When you are a part of a scrum team and you understand what the people in control of the organization want to do with it, you can learn to sense how likely it is that code will be backed out, or that a feature won’t be recognizable in its ultimate form, and you can use that sense to gauge how much thought and drafting time you should put into a given user story at a given time. You have to accept that some text will have to be discarded, because you thought it would be needed and it wasn’t, and that some text will have to be created right up against deadline because you didn’t see the need for it until the last minute.
In the early stages there is inevitably some wasted work. But if you can stick with this approach over the life of a project, you can end up working far more efficiently, on the average, than you ever did the old way. (That’s not a trivial “if.” Even the most committedly agile manager will at some point give in to the temptation to ask for a “doc outline,” or a “doc freeze,” or some other artifact from the old days.)
The ironic thing is how much this resembles the way we’ve always worked, minus the pretense. When I told myself I was working from a functional spec, I was always really working with one eye on the spec and one eye on the real development that was happening, which sometimes followed the spec and sometimes led it. I saw some good specs, but I never did encounter one that I could put through the classic semantic-reversal exercise that in theory could have auto-generated the help content and put us all out of jobs.
Categorised as: Geekery