This lesson is being piloted (Beta version)

Introduction

Overview

Teaching: 5 min
Exercises: 5 min
Questions
  • What is software documentation?

  • Why do we care about it?

  • What are the challenges?

Objectives
  • Become familiar with the benefits and challenges of software documentation.

Software Documentation Overview

Software documentation, per Forward, is any artifact made as part of the software development process that is intended to communicate information about the software system about which it was written.

Undraw Co Image depicting documents

Most people are familiar with this concept and know good documentation when they see it. More difficult, however, is how to write good documentation.

In this lesson, students will learn about the different types of software development and practices and tools to enable better documentation.

The Benefits of Good Documentation

No one would argue that documentation is useful, but here are some of the benefits of good documentation:

The Challenges to Making Good Documentation

As anyone would tell you, documentation isn’t easy. Some of the challenges involved are:

What do you think of this documentation?

Navigate to https://spack.readthedocs.io/en/latest/ and spend a minute browsing the documentation.

  • What makes this good documentation?
  • Where is there room for improvement?

Key Points

  • Software documentation provides both users and developers information about what a software is supposed to do.

  • Software documentation has numerous benefits including improved team productivity, increased code quality, and better maintainability.

  • Software documentation can be challenging due to cost and time to maintain.