A project charter is a quick but complete description of the problem you are solving, who it's targeted at, and what the success criteria are. It should be simple, compelling, visible, and kept current. In many open source projects, the charter is most visible as the README
or as the introduction section.
A good charter will help you define what success means, and will help you to focus only on tasks that will further this success. This exercise will help ensure that at the end of the month, you'll have something you're proud to release.
The elements of a complete charter for an open source project are listed below. Simplify as appropriate when writing your own. Your charter should be no more than a few paragraphs or a handful of bullet points.
- Mission: What are you building or solving?
- End users: Who will derive value from what you're building? How will you reach them?
- Vision: Why build this? What transformational change will this encourage?
- Success criteria: How will we know if we've succeeded? Note that this is not simply a list of deliverables, but whether the end result accomplished our vision.
- Constraints: What non-negotiable constraints must be navigated?
- Assumptions: What assumptions are we making that might affect our success if they were to change?
- Team members: Who is working on the project? Are there any other stakeholders? Describe roles rather than names, if you can.
See this blog post for a more complete description.