Document codebase objectives
Requirements
- The codebase MUST contain documentation of its objectives, like a mission and goal statement, that is understandable by developers and designers so that they can use or contribute to the codebase.
- Codebase documentation SHOULD clearly describe the connections between policy objectives and codebase objectives.
- Documenting the objectives of the codebase for the general public is OPTIONAL.
Why this is important
Documenting codebase objectives:
- provides an easy way for people to decide whether this codebase, or one of its modules, is interesting for them now or in the future.
- helps scope your own development.
- clearly communicates to other stakeholders and contributors the purpose of the codebase and the modules of which it is composed.
What this does not do
- Guarantee that the codebase achieves the stated objective(s).
- Guarantee contributions to the codebase.
- Prevent other codebases from attempting to achieve the same objectives.
How to test
- Confirm that the codebase documentation includes the codebase objectives, mission or goal.
- Check for descriptions of connections between policy objectives and codebase objectives.
Policy makers: what you need to do
- Add the policy objectives to the codebase documentation, for example in the
README
. - Include relevant policies which impact the community, codebase, and development like value and ethics based policies, for example accessibility or equal opportunity.
Management: what you need to do
- Add the organizational and business objectives to the codebase documentation, for example in the
README
.
Developers and designers: what you need to do
- Add the technology and design objectives to the codebase documentation, for example in the
README
.
Further reading
- How to write project objectives by Marek Hajduczenia.