Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
Software documentation
(section)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
== Documentation and agile development controversy == "The resistance to documentation among developers is well known and needs no emphasis."<ref>Herbsleb, James D. and Moitra, Dependra. In: ''IEEE Software'', vol. 18, no. 2, pp. 16-20, Mar/Apr 2001</ref> This situation is particularly prevalent in [[agile software development]] because these methodologies try to avoid any unnecessary activities that do not directly bring value. Specifically, the [[Agile Manifesto]] advocates valuing "working software over comprehensive documentation", which could be interpreted cynically as "We want to spend all our time coding. Remember, real programmers don't write documentation."<ref>Rakitin, Steven. , [http://csse.usc.edu/events/2002/arr/letters.pdf "Manifesto elicits cynicism."] IEEE Computer, vol. 34, no. 12, p. 4, 2001</ref> A survey among software engineering experts revealed, however, that documentation is by no means considered unnecessary in agile development. Yet it is acknowledged that there are motivational problems in development, and that documentation methods tailored to agile development (e.g. through [[Reputation system]]s and [[Gamification]]) may be needed.<ref>Prause, Christian R., and Zoya Durdik. "Architectural design and documentation: Waste in agile development?" In: ''International Conference on Software and System Process'' (ICSSP), IEEE, 2012.</ref><ref>Selic, Bran. "Agile documentation, anyone?" In: ''IEEE Software'', vol. 26, no. 6, pp. 11-12, 2009</ref> === Docs as Code === '''Docs as Code''' is an approach to documentation that treats it with the same rigor and processes as software code. This includes: # '''Version Control''': Using systems like Git to track changes and manage versions. # '''Continuous Integration''': Automating the process of documentation generation and updates. # '''Collaboration''': Enabling multiple contributors to work on documentation simultaneously, similar to code development. ==== Benefits of Docs as Code ==== * '''Consistency''': Documentation can be kept in sync with the codebase, ensuring accuracy. * '''Automation''': Automated tools can handle repetitive tasks, such as formatting and deployment. * '''Collaboration''': Encourages contributions from various team members, including developers, testers, and product managers.Combining Docs as Code with Agile methodologies creates a robust framework for maintaining high-quality, up-to-date documentation. Here's how to integrate the two: # '''Setup Version Control''': Start by placing your documentation in a version control system. Structure it similarly to your codebase. # '''Automate Processes''': Implement CI/CD tools to automate the generation and deployment of documentation. # '''Define Roles''': Assign roles and responsibilities for documentation within the Agile team. Ensure everyone understands the importance of documentation. # '''Regular Reviews''': Schedule regular documentation reviews as part of the sprint retrospectives.
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)