Guidelines and workflow for open collaborative development

Events happening in the community are now at Drupal community events on www.drupal.org.
You are viewing a wiki page. You are welcome to join the group and then edit it. Be bold!

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

Define what exactly the project is and what you hope to achieve. Describe your project's desired goals and outcomes, including the specific features and improvements that you propose. How will your project benefit Drupal and open source in general? How long will your project take to complete?

Resources

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.

  • Product Owner - The Product Owner represents the voice of the customer. He/she ensures that the Scrum Team works with the "right things" from a business perspective. The Product Owner writes user stories, prioritizes them and then places them in the product backlog.

  • Technical Project lead/scrum master – 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

Subprojects provide a way of breaking down large projects into smaller pieces. Each subproject has its own requirements, and its own project lead. The deliverable for a subproject is usually a cleanly separable component such as a module or separate executable program.

Each subproject will be an opportunity for project 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

Project management and development environment

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).
  • Discussions - Identify a corresponding drupal group (create if none exists)
  • Online workshops, mentoring, and sprints - Utilize Drupal Dojo's Dimdim account (access info here)

Project delivery

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

Open Learning and Collaboration Portal

Group organizers

Group notifications

This group offers an RSS feed. Or subscribe to these personalized, sitewide feeds: