On a recent healthcare start-up team, it grew from my buddy (who moved on after 6 months or so) and I, to a handful of developers/sub-contractors.
Here is how we tried to make it fairly efficient. We just started tracking what was needed, getting feedback as each new developer went through the process, and improving the instructions and process along the way. If something was missing, we added it. If something was not clear, the new developer could amend the wiki.
By the 3rd new developer, or so, we had it down to where they could get started and begin a legitimate issue in less than a half day — from getting set up to being able to commit and deploy a new “feature.”
There was a section at the top that shared a good team chat room session with a new remote developer:
That was followed by the FAQ-like list of links:
One of the first reasons I wanted to make it easy for a new team member to get rolling, was so that our friend Max — who would be doing our QA from Russia — could get started. As we added the first couple of devs, we probably decreased the start-up time as follows:
As part of “Getting Started,” I would include a simple Jira issue that helped them ensure that everything was working and that they followed our dev process:
- Git and Dev and database (MongoDB) environment obviously had to be set up
- Access to Jira to assign themselves to the issue, and move it — Kanban style — to the In Progress state.
- Commit the work and the passing tests
- Drag the Jira issue to “Done”
Since Atlassian’s Confluence Wiki does a stellar job at versioning pages, I actually looked back to see how the page grew and morphed over time. It started out rather modestly (and empty):
It was successively refactored into its current state, here is a snippet of the 70 versions that this page underwent from March 2011 through July 2012.
Wikis, like code, need to be tended to, nurtured, and refactored to provide the best value.