Featured Columns View, for the primary activity of the programming there can be no right method [2], since the creative process of theory building is inherently not a method or rule driven activity. Thus the argument of the agile methodologists [1] for interaction, cooperation and collaboration, during development, rather than communication by formal documents, is given weight by a theory building perspective. For such dynamic interaction and communication is a necessary part of the process of developing the jointly owned 'theory of the world' to be represented in the software artifact arising from the project. It follows then that documentation is not necessary if the programming team can jointly own and hold the theory of the world in their heads. This of course is the mindset of the novice programmer who sees the code, the code and nothing but the code as the key artifact from a software project. Having the likes of Kent Beck [3] advocating extreme programming then, is a great support for students who can code passably but either hate, or are barely able to write a coherent sentence. Perhaps this also helps explain the programmer mentality about documentation as something external, something "other"
/lp/association-for-computing-machinery/documentation-and-agile-methods-striking-a-balance-W7oYSSiJQY