Edit, October 2 -- This proposal has been passed along to the Knight Foundation for consideration -- http://drupal.org/node/316402. End Edit
This proposal is to request funding to improve Drupal's documentation by conducting documentation-specific sprints. There are two major components to this project:
1) Tackle big Documentation team issues: Gather key people to work on specific documentation issues that will further the goals of the Documentation team, the handbooks on Drupal.org and documentation that ships with the Drupal code.
2) Grow the Documentation team: Conduct community sprints at Drupal group gatherings to grow the Documentation team and teach people how to contribute to documentation, including how to conduct their own sprints. Think of it as viral documentation love in addition to actually getting work done.
In conducting the documentation sprints at both DrupalCon Boston and DrupalCon Szeged, I've learned a few things that I think are very important. Firstly, having people int he same location working on the same goal can create incredible results in terms of work accomplished. Beyond that, the feeling of comradery and unification lingers long after the physical event. I've also found that many people who have attended the sprints have been interested in helping but were hesitant to jump in by themselves. Having a group of people there to personally walk them through the steps and answer questions real time lowers the barrier enough that not only do people finally engage but they also gain enough confidence to continue the work on their own once the sprint is over. Also, through leading these sprints I am beginning to get a much better sense of what is involved to create a successful sprint. Success being measured by the amount of work accomplished, as well as the number of new seeds planted for future growth.
Besides, the normal day-to-day monumental task of maintaining Drupal documentation, there are specific issues which can put the entire team into a holding pattern indefinitely. Some of these have to do with infrastructure and technical issues. Some simply have to do with having a larger goal defined and a sense of authority to enact it. Often, there is simply a lack of time and focus available for key people to sit down, figure things out and push them out the door. One very specific arena where this will be very important in the near future is the direction and implementation of the Drupal.org redesign as it applies to the Drupal.org handbooks. The handbooks are a major component of Drupal.org and making them easy to use for all levels of users is a high priority for the redesign.
In addition to the Drupal.org handbooks, we would also like to shore up and improve the documentation that ships with the Drupal code base so that users who do not have access to the handbooks online will still have a reasonable guide to get them up and running with Drupal. Finding the best way to implement a real change in this direction will require serious discussion with key people in various areas of the Drupal community.
The specific road map to address the two major goals of this proposal is as follows:
Invitation sprints are very focused sprints of up to 8 people that are specifically invited for the task at hand. Each sprint would be two days long and the location would be determined by cities closest to the largest number of attendees and availability of space in a venue (e.g. a hotel meeting room or maybe donated space, if possible). There are two invitation sprints that would be the focus of this proposal:
Planning, road map, specs
This sprint would be the first one and would include key community members that have an interest in and experience with documentation. The focus would be to determine a prioritization of goals and a road map for how to achieve them, including specifications for code help, as needed. This would address both the Drupal.org handbooks and documentation included in Drupal's code base as well.
Once needs are identified and we have specifications for what we want, we would have a code sprint where coders with the background and interest to help documentation can gather and actually produce the needed code. Doing this at a sprint allows focused time and immediate testing and feedback. The code produced could be for both core and contrib, depending on the needs identified and the best way to achieve them.
Community sprints would involve organizing community documentation sprints during local DrupalCamps around the world. Since the camps will already be doing the organizational work and gathering large groups of attendees, there would be no overhead to running the sprints other than logistics to get there. These are designed to be very similar to the DrupalCon doc sprints by getting people to join the docs team and being focused on general documentation tasks. These would also teach people how to run their own local sprints at regular meetups and train people who would like to be regional sprint organizers.
I would attend the camp and arrange with the camp leaders to have a doc sprint track running for the entire camp (if feasible), which I would be responsible for running. My personal time would be donated and the funding requested would cover the logistical needs of travel, room and board. These would be spread out around the world and are dependent on locations that conduct DrupalCamps in the next year, so there are no specific locations determined yet. That said, I would like to conduct the following by region:
3 North American sprints
2 European sprints
1 Asia/Pacific sprint
In addition to physically going to large events I also want to organize a way for me to appear virtually at smaller events (local meetups, small camps) so that I can be a resource online for the organizers on the ground. This would not require funding in this proposal, but is added for completeness.
- As a note about sprints at DrupalCons, I will still be doing that as well but I am not asking for funding for those in this proposal because I will not be focused solely on doc sprinting at Cons.
A solid set of documentation (written and video) would be created to guide others in their own sprints; be they two people just meeting up to work on docs, to local meetups that want to have a sprint night, to running larger regional sprints at camps and conferences. The initial set of documentation and material would encompass not just information related to organizing sprints but also more generic info about the Documentation team, including policies and road maps, how to get involved, written and video instructions for tasks, etc. Everything written and created would be available in the Drupal.org handbook including materials like videos and PDFs.
One week (40 hours) of solid time would be invested in creating the documentation and materials early on, which would then be systematically refined in response to implementation at the sprints themselves. Another 40 hours spread over the following year would be spent on this refinement and creating additional materials.
The number one priority of this proposal is to lower the barrier of entry to using Drupal for everyone through better documentation and easier access to it, both by making the Drupal.org handbooks easier to use and including more essential documentation with the Drupal core code from the start.
By also focusing on local events, I hope to encourage more local community work on areas that matter to them. As a vision for the future, once we have a more solid base, my next major initiative will involve getting local communities to work on translations.
The initial phase of writing the initial documentation will take 40 hours and can happen within a month of the proposal being accepted. Organizing an international group of people for the Invitation sprints will vary, depending on the individuals' schedules but would ideally happen within the first one to two months. The Community sprints would be spread out within the next year, depending on when and where such events occur.
I will organize the invitation sprints, attend the community sprints and write the documentation as outlined in the proposal. A specific list of individuals to attend the invitation sprints will be determined closer to conducting them.
All documentation that is written for this proposal will be available in the Drupal.org handbook. All work done at the sprints will be directly effecting the Drupal.org handbooks, or included in Drupal core or made available through contributed modules projects on Drupal.org.
The total amount requested is approx. $50,500
This is based mostly on estimates for travel expenses which can't be specifically known at this time. Here is a breakdown of the costs:
- Documentation: 1 person for 80 hours at $50/hour = $4000
- Travel for Invitation sprints = $34,000
- 8 people at $2000/person = $16,000 X 2 sprints = $32,000. This includes airfare, room and board for a 2 day sprint.
- Rental of a meeting space for 2 days = $1000 X 2 sprints = $2000
- Travel for Community sprints = $12,500
- These include airfare, room and board for a 2 day sprint.
- North America: 1 person at $1500 X 3 sprints = $4500
- Europe: 1 person at $2000 X 2 sprints = $4000
- Asia/Pacific: 1 person at $4000 X 1 sprint = $4000