Software Development: Documentation & Communication Principles

Instructor: David Gloag
In this lesson, we'll take a look at documentation and communication in software development. We will learn about types of documentation and communication, and some principles for making both effective.

The Need for Order

Computer software is difficult to produce. The depth and breadth of included features often requires tens, if not hundreds, of development resources. You may have business analysts, architects, developers, coders, testers, and writers all working on the same piece of software. At times, it can feel like it's all going to explode into total chaos. It doesn't, of course. So, something keeps that from happening. Now, the specifics can depend greatly on the individual participants. But there is one thing that can definitely help: employing a formal software development process.

What is Software Development?

A computer program is a series of instructions that tell the computer's hardware what it needs to do. You've likely seen many computer programs and used a number of them each day. For example, the word processor on your work computer, the book reader on your tablet, or the email client on your cell phone are all programs. Software development is the process of applying a formalized plan or structure to the creation of that computer program. Due to the amount of work that needs to be done, there are often teams of orchestrated resources contributing to those efforts.

What is Documentation?

Documentation is the written material that accompanies a software program. Its purpose is to provide the recipient with information that describes various aspects of the program. For example, it can define the operation, or it can detail the legal and licensing aspects. There are two general types of documentation:

  • User - this type focuses on what the purchaser of the software program needs to understand to get the most out of their purchase. It typically contains, operating instructions, license agreements, and copyright notices. The audience for this type are typically users, support personnel, or members of the legal team.
  • System - this type focuses on the internals of the program. In other words, the information, decisions, and technical details that went into the creation of the program. The audience for this type is typically development resources.

Regardless of its intended purpose, documentation must be clear, concise, and organized.

What is Communication?

Communication is the interaction that goes on between members within a team, and between teams, about the software development effort currently underway. It can be written and take form as electronic records, documents, or email. Or it can be verbal and be composed of conversations, group discussions, or presentations. These days, communication is a necessity, and everyone participates at some level. For example, attending a stand-up meeting for the SCRUM process, reading a requirements document for a piece of software, or receiving a status email sent by your manager or team lead are all part of communication.

How are They All Related?

Documentation and communication play a vital role in software development. In particular, they are meant to accomplish two things:

  • Disseminate Knowledge - things like design decisions, technical details, and defects need to be distributed throughout the team so that each member can perform their tasks. Ultimately, this ensures that everyone is on the same page while doing so.
  • Create an Audit Trail - the systematic recording of key aspects and details associated with the software development effort. For example, the requirements, the design details, or any defects discovered during testing are all key to understanding how the software was developed.

To unlock this lesson you must be a Member.
Create your account

Register to view this lesson

Are you a student or a teacher?

Unlock Your Education

See for yourself why 30 million people use

Become a member and start learning now.
Become a Member  Back
What teachers are saying about
Try it risk-free for 30 days

Earning College Credit

Did you know… We have over 200 college courses that prepare you to earn credit by exam that is accepted by over 1,500 colleges and universities. You can test out of the first two years of college and save thousands off your degree. Anyone can earn credit-by-exam regardless of age or education level.

To learn more, visit our Earning Credit Page

Transferring credit to the school of your choice

Not sure what college you want to attend yet? has thousands of articles about every imaginable degree, area of study and career path that can help you find the school that's right for you.

Create an account to start this course today
Try it risk-free for 30 days!
Create an account