Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Section


Column


Document Properties Marker
overridefalse
extract-short-desctrue


Short DescriptionThere is no one-size-fits-all for documenting software projects. What we do is giving you an introduction on how to get started with the projectdoc Toolbox and the Software Development Add-on to define your documentation requirements with Confluence.
Doctypetopichide
NameHow to document a Software Development Project
Parent
Parent Property
property-nameName
hide
Audience

Name List
doctyperole
render-no-hits-as-blanktrue
render-list-as-comma-separated-valuestrue
namesAuthor, Documentation Architect, Template Author
propertyAudience
empty-as-nonefalse


Level of Experience
Name List
doctypeexperience-level
render-no-hits-as-blanktrue
namesAdvanced Beginner
propertyLevel of Experience
empty-as-nonefalse

Expected Duration
Subject
Name List
doctypesubject
propertySubject

Categories
Name List
doctypecategory
propertyCategories

Tags

Tag List
namesSoftware Development, Project, Documentation, Confluence, Wiki, projectdoc Toolbox, Document Types, Howto, Information Architecture, Templates, Blueprints
propertyTags

hide
Iteration

Iteration
valuefinished

hide
Type
Name List
doctypetopic-type
render-no-hits-as-blanktrue
namesHowto
propertyType

Sort Keyhide



Section
show-titlefalse
titleDescription

The development of software products needs cross-functional teams. The team is not limited to the people who actually write and test the code. There are technical writers to create the documentation, marketing specialists, product owners, domain experts and many more. And the list of stakeholders – people taking interest in the project or product – makes this crowd even larger: managers to provide sufficient resources, customers, users and also many more.

While we believe that every member of a team needs to have the freedom to select the tools that are most efficient and effective to use for their tasks, we also believe that there has to be an information system that is capable to provide access to all information for each and every stakeholder. A wiki (or team collaboration platform) – like Atlassian Confluence – is a great tool for this task.

In this howto we explain how to get started to document a software project using the PDAC1 and Atlassian Confluence. We assume that many aspects are relevant for teams independent of their chosen infrastructure / toolset – that is if your tooling is different, this aspects still apply. The projectdoc Toolbox provides tools, mainly macros and blueprints for different document types (called doctypes in projectdoc lingo), which makes it easier for teams in their task to collaborate and share information with all stakeholders.

View on the Software Project Documentation in Confluence based on projectdocAfter giving a brief introduction of some of the different aspects of documentation, we focus on how to start documenting your software architecture with this set of tools.

Tip Box

Display Properties
documentThink big, start small




Column
width300px


Panel
titleContents

Table of Contents
indent1em
stylenone


Transclusion
documentHOMESPACE:Try projectdoc Teaser
idsContent


...

Section
titleDocumenting other Aspects


Section


Column

To document a software project does not only require the systems or architecture documentation. In Software Architecture Documentation we list the four quadrants:

  1. Process Documentation
  2. Project Documentation
  3. System Documentation
  4. User Documentation

Here are some more examples on how to use the PDAC1 to provide project relevant information.


Column



Section
titleFacilitate Team Communication


Section
titleDeveloper Journals

Developers may keep journals to track open questions and interesting findings. These journals may be open for all team members to find relevant information on project topics.

Note Box

This information is part of the project quadrant (Q2)



Section
titleTeam Journals

Besides the individual journals the team may write a team journal to plan and run iterations or sprints. The Doctypes for Agile Planning provide templates for these communication needs.

Note Box

This information is part of the project quadrant (Q2)



Section
titleTeamwork

Use Doctypes for Teamwork to define checklists, processes, patterns, tools, and rules a team agrees upon. Writing them down makes them accessible for anyone - especially for new team members. Keep these documents short and to the point!

Note Box

This information is part of the process quadrant (Q1)



Section
titleProject Management

Doctypes for Project Management provides tools to communicate important project information with decisions, risks, open issues, and meeting minutes.

Note Box

This information is part of the project quadrant (Q2)




Section
titleDomain Knowledge


Section
titleGlossary

A glossary is helpful for most project and product documentations.

Note Box

Dependent on the intended audience this information is part of the product quadrant (Q3, for users) or system quadrant (Q4, for the team working on the product).



Section
titleProject Library

A project library collects relevant information for the project that is typically provided by external resources. These resources include books, website, blogs, or articles. The library is especially helpful to provide information about the domain or technology stack for new team members.

Note Box

This information is usually part of the system quadrant (Q4)



Section
titleDomain Space

In order to create a glossary the team may need to do some domain crunching. Create a separate space to collect all information relevant for the domain.

Add things you learned about the domain that should be accessible beyond the scope of the current iteration or sprint of your team.

Note Box

As long as the domain is explored, the this information is part of a workspace that is not part of any quadrant. For the information that is relevant in the future, the topic space may be part of the product quadrant (Q3, for users) or system quadrant (Q4, for the team working on the product) dependent on the intended audience.



Section
titleStakeholder Communication

Different stakeholders have different information and communication needs.

Some stakeholder need information for a given topic. In this case the team may create a workspace to collaborate to create the requested document. After the information is delivered the space may be archived.

Note Box

This information, once moved to a topic space, is either part of the system quadrant (Q4), if the stakeholder is a team member), or of the product quadrant (Q3), if the stakeholder is a user.




Section
titleUser Documentation

Products, especially technical products with powerful or complex interfaces, need documentation for their users.

Section
titlePlugin for Maven

Teams whose builds depend on Maven and that use automation heavily typically end up in writing their own plugins for Maven. Although these plugins are often only released for internal use, developers who employ these plugins need to have access to proper documentation.

Note Box

This information is part of the product quadrant (Q3)



Section
titleLibrary for Java

Teams using continuous deployment may choose to create libraries to modularize their code base. Each library is a product of its own with its own release cycle. Especially if the library is made public available, a sound and similar structure of the documentation helps developers to find information on how to use this library easily.

Note Box

This information is part of the product quadrant (Q3)




...