In a previous post - Waterfall or Agile? Neither, there was a discussion (see the comments) on various points. One of the more interesting points was documentation. I argued against what I thought was the attitude to documentation by the agile community. From my personal experience, people generally interpreted the principle of face-to-face-discussion is preferable to documentation as a license to abandon documentation altogether. Today I still experience this attitude from many professionals, who regard documentation with contempt and rely on agile theory to argue that documentation is not required (even bad) for software development. And that I could not accept. I have seen enough how crazy things are without documentation.
So, I decided to do some further googling to see what people say about documentation and about agile documentation in particular. And I had a pleasant surprise. I came across an excellent white paper by Scott Ambler, titled: Agile Documentation: Strategies for Agile Software Development. It was really a delight to read it. Finally, I saw a very well balanced analysis of the issue of documentation in software development. With very few exceptions, I liked and agreed with everything Scott writes.
In one of the comments in my post above, I said that my goal in the post was to move the agile pendulum a bit back from its extreme swing. From Scott's paper I can see I did not have to do that. The pendulum has already moved back from its extreme position. At least for those professionals who learn agile principles carefully and thoroughly. And now, I think, the pendulum is right where it should be. Not tough, rigid documentation regiment, nor no-documentation at all. Just Agile Documentation. I don't need to repeat hear the principles of agile documentation. Just read Scott's paper above. great read.
If what Scott writes represents the agile community position about proper SW documentation strategy than I am certainly more supportive of agile methods than I was a week ago. The only sad thing is that I find that too many people have not yet realized the correct position on agile on documentation and still think: Agile documentation = no documentation.
And final note to Dave Nicolette - thanks for your very good comment in the post above. I now have a better and more supportive perspective of Agile methodology. It is definitely maturing.
In my next post, I will describe some of my "techniques" for generating SW documentation and show that, at least to some degree, I have been doing agile documentation without realizing it.