Difference between revisions of "Project Graduation Checklist"

From OSGeo
Jump to navigation Jump to search
Line 38: Line 38:
 
# The project uses public communication channels. Eg achieved email lists.
 
# The project uses public communication channels. Eg achieved email lists.
 
# The project has an automated build process.
 
# The project has an automated build process.
# The project has an automated test system.
+
# The project manages quality. Ideally, this includes an automated test system.
 +
# The project has a defined release process.

Revision as of 03:30, 21 August 2006

Document Status

IncCom Document Number: X

Version: 1.0

Last Updated: August 20, 2006

Status: draft

Purpose

The purpose of this checklist is to determine whether an Incubator Project produces quality products, remains true to its stated licence and is sustainable. Satisfying this checklist is a pre-requisite for graduation.

A project should have institutionalized the processes in this list or provide justification why the process is not used.

Terms and Definitions

Mentor
A member of the Incubation Committee chosen to assist a Project through the Incubation Process.
Institutionalized Process
A documented process which which addresses a need and is actively in use. It typically takes months before a process becomes institutionalized. A more detailed definition of institutionalization is found in the Capability Maturity Model (CMMI)

Checklist

License

  1. The code has been adequately vetted to assure it is all properly licensed, to the satisfaction of the Mentor.
  2. All code contributors have agreed to abide by the project's license policy.

Processes

  1. The project has a suitable governance policy and project management committee established that ensures decisions are made, documented and adhered to?
  2. The developer community works in a healthy way, open to input, new members and reaching consensus on decisions. Ideally, the developers come from a diversity of backgrounds as there will be a greater variety of technical visions and the project is more resilient to a sponsor leaving.
  3. The project has documented its management processes. This is typically done within a Developers Guide or Project Management Plan.
  4. The project has user documentation.
  5. The project has developer documentation.
  6. The project has code under configuration control. Eg, subversion.
  7. The project uses an issue tracker.
  8. The project uses public communication channels. Eg achieved email lists.
  9. The project has an automated build process.
  10. The project manages quality. Ideally, this includes an automated test system.
  11. The project has a defined release process.