Civic Hacker's starter guide. A basic "readme" on good ways to ensure successful collaboration.
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
README.md
code
contributing-to-a-project.md
notes
start-or-contribute.md
starting-a-project.md

README.md

Getting Started

Civic Hackers starter guide. A basic "readme" on good ways to ensure successful collaboration.

Thoughts

Starting a Project

Roadmapping is the process of establishing one or more concrete, achievable goals and laying out each of the tasks which must be completed in order to accomplish each goal. To have a useful roadmap, it is important that these goals and the tasks which need to be done to accomplish them are explicitly documented, and easily accessed by all members of the team.

It is important that the tasks which compose a goal in a roadmap be tracked; It should be known at all times whether or not a task is completed, if it's actively being worked on, and who is working on it if it is.

Examples of good roadmap goals:

  • Implement a MVP
  • Implement all API endpoints
  • Complete 5 user tests

Roadmap goals to avoid:

  • Complete the project
  • Find users for user testing

Contributing to a Project

The first and foremost thing to do when joining a project is to figure out what needs to be done for the project at the present time. Identifying what tasks need to be accomplished is the best way to identify how to have an immediate and helpful impact on a project as a contributor.

Tooling

One of the most exciting parts of "getting started" is choosing your technology stack. But before you do that you need to make two categories.

Human - Tools that help me communicate, collaborate and contribute.

Non-Human - Tools that help me orchestrate, automate and integrate.

Humans Non-Humans
Slack Travis CI
Trello IDE

Some questions for the non-human stuff.

Alright -- So I got everything setup, but where do I put my code?

Who is in charge of the repo?

When do I PR?

Why did someone do this?

Stop checking in things on the master branch.

Some questions for the human stuff.

Alright -- So everyone is setup, what next?

Who is in charge?

When do we meetup?

Why did we choose this language?

Start encouraging each other.