Whilst the phrase “undocumented code is unusable" is sometimes rather extreme, it is almost guaranteed that anyone attempting to use, develop, or maintain a piece of undocumented code will have faced an uphill battle. As a result, undocumented software represents a large overhead in terms of time and effort. Therefore, code documentation needs to address two sometimes wildly disparate audiences: end users, and current and future developers.
Thankfully, it is seldom necessary for a single piece of documentation to serve both parties, however this does mean that requirement for documentation can feel like a significant burden for the developer. Fortunately, there are a number of tools and techniques that exist to aide us in efficiently creating good documentation.
In Software Outlook's new publication “Documentation Tools: Overview and Best Practices", they discuss the attributes that form good user and developer documentation, and examine some of the tools available for streamlining this process.
The underlying principal of CI/CD (“Continuous Integration/Continuous Delivery and Deployment") is to shorten the cycle of build-configure-deploy-test-release by taking advantage of convenient automation and more complete testing. This brings with it a cornucopia of advantages with improved testing and shorter development cycles being some such examples.
Software Outlook's new publication “CI/CD – Continuous Integration, Deployment, and Delivery: Overview and Best Practices" helps code developers understand why CI/CD would be of benefit to them and how to effectively use CI/CD.
Both of these reports (and other best practice reports) are available from Software Outlook's Best Practice Web Page.