Process for open collaborative development

You are viewing a wiki page. You are welcome to join the group and then edit it. Be bold!
public

The following is a first stab in terms of establishing guidelines and a workflow for open drupal development. Ideally we can use this wiki (and discussion thread) to hash out a process for the Dojo 2.0. (issue here) and other collaborative projects. This process is geared more towards building a complete site from start to finish.

Create site spec or project proposal

  • Determine prioritized feature list (need/want/nice to have) - How much will it do and what specific features does it need?

Create/submit proposal or task

Until there is a better system implemented in the Dojo site (see this issue), we can use the following to to both compile and submit ideas...

Recruit talent/assemble team

Every project would have the following key roles.

  • Project lead – the user responsible for keeping the entire project moving forward.
    • roles/responsibilities
      • accept or reject requirement change proposals.
      • passively direct the project by dividing up the bounty among subprojects.
      • review submissions and decide whether they satisfy all project requirements.
      • decide when the project has been completed, and trigger the payout.
      • respond to complaints that are filed.
    • compensation
      • hourly rate tbd

Subprojects

Each subproject will be an opportunity for task based learning in which a student/apprentice will be paired with one or more mentors. Students will receive stipends for successful completion of a task.

  • Leader/mentor/coach
    • roles/responsibilities
      • review submissions and decide whether they satisfy all project requirements.
      • mentor the apprentice throughout the process
      • create and lead virtual and/or in-person sprints
    • compensation
      • hourly rate tbd
      • if the person chooses to volunteer their time they could choose how their cut would be allocated
  • Apprentice/trainee
    • roles/responsibilities
      • would be responsible for carrying out the tasks
    • rewards/incentives
      • valuable hands on training
      • some sort of merit and/or stipend for each completed task
  • Advisers - experts to provide guidance when they can

Open collaboration and communication channels

Open up channels of communication/collaboration with Drupal, Drupal Dojo, and other related efforts for each major issue or task

  • Project management and issue tracking - Set up the appropriate project on drupal.org (instructions here).
  • Associate mentors with apprentices - Set up DROP tasks or devise a similar solution
  • Discussions - Identify a corresponding drupal group (create if none exists)
  • Online workshops, mentoring, and sprints - Utilize whatever solution the Drupal Dojo currently provides (instructions here).

Document, Implement, and Distribute

Release your project back to Drupal.org. How this is done will vary depending on the type of project...