I use the words transparent software development to mean a manner of planning and operating a software project that:
  • allows participants to see information throughout the lifecycle of the project
  • allows managers to understand the status of a project
  • allows engineers and designers to get answers to their questions
  • provides a shared place where new project information can be added as needed, with changes visible to all
  • provides an audit trail of who changed what for both code and documentation

Wikipedia defines Transparent Behavior as: …operating in such a way that it is easy for others to see what actions are performed.

I believe that transparency is essential to an engineering meritocracy to prevent the pooling of power based on the control of information. By making information freely available it is easier for engineers to take other parts of the system into account, interface with them, or see examples of how to document different parts of a project. We are stronger as a team when it is easiest for us to help each other.

Transparency enables peer review. If nobody can understand what someone else does, it will be difficult for them to provide useful feedback. And consequently, we can’t benefit much from each other’s knowledge.

Transparency provides a path for training new engineers, so it supports growth and helps mitigate the damage caused when an engineer leaves the organization or changes roles. The Mythical Man Month asserts that adding people to a late software project only makes it later. Transparency both foreshadows the need for resources while there is still time for them to help, and provides a direct means to get those people up-to-speed as quickly as possible so they might actually be a help and not a burden.

Transparency is especially important for a development project with remote members. Access to information is one of the main challenges remote team members sometimes face. This is especially true when a person is the source of that information, because electronic resources are practically always available.

Transparency is an excellent defense against those who dissemble.

I believe that transparency helps maintain a level of dignity in a workplace that we all deserve. I believe that transparency helps avoid many of the injustices that plague some workplaces. I think leadership involves creating a shared vision. How much harder would it be to create a shared vision without transparency in planning and operation?