Download Agile Oracle Application Express
Transcript
CHAPTER 8 Documentation Documentation has a bad reputation among software developers. Just mention “documentation,” and those of us who were raised on traditional waterfall software project methods remember weighty requirements documents, followed by detailed design documents, followed by lengthy reviews and signoff documents, all before a line of code was written. We recall long meetings, flipping through reams of paper (the poor trees!), and the inevitable loss of enthusiasm for the project before coding even began. If we were lucky, funding (or interest) ran out before we were required to produce technical manuals, end-user manuals, operational manuals, administration manuals, and more at the completion of the coding cycle. No wonder documentation has a bad reputation for many of us aging developers—we wrote more documentation than code. Thank goodness the Agile world has left that voluminous mode of communication behind in favor of Agile documentation. Agile documentation is nothing more or less than the application of Agile principles to document aspects of your software project, when and only when it is essential to do so. Agile documentation is clear, succinct, efficient, and just enough. Agile documentation can take many forms, the key factors being that it must add value and it must not cost more to produce than that value. The purpose of this chapter is to describe the principles of Agile documentation and suggest how to apply those principles to your APEX projects. This chapter opens with an overview of the principles of Agile documentation and discusses when, how, and in what form to produce valuable artifacts that support your working software. The second part of the chapter recommends standards and habits to develop for producing Agile documentation specific to your APEX projects. Agile Documentation One of the core values of the Agile Manifesto is “working software over comprehensive documentation.” So, you say, why a whole chapter on documentation? Haven’t we left that behind? While yes, the main goal is to produce working software. Depending on your project, it is likely that documentation in some form will be required. The difference is, in Agile software development, documentation is an essential supplement, not the driving force or the proof of completion of your project. There is wealth of material on the topic of Agile documentation, readily available through the Agile Alliance or a simple web search, or through the reference section for this chapter. It is beyond the scope of this text to repeat that information here. It is recommended that the reader consult the chapter references for more in-depth Agile documentation material. For the scope of Agile and APEX development, the subject can be summarized in this simple statement: Do as little as possible, as efficiently as possible, as late as possible. 143 www.it-ebooks.info