Skip to content

Contrib First Professional Development Sprint

This serves as a guide for conducting a professional development sprint to build a contributed projects or features following Contrib First.

Kickoff Announcement Example

This example can be used as a template to paste into Slack.

Pro-dev sprint: Contrib First Drupal Module Build

Purpose: To get more people from all practice areas experienced in building a contributed Drupal module as Contrib First.

Time commitment: 2-4 hours per week for 4 weeks (5-10% of your time)

Who: We need a team

  • Product Owner: (Typically a Product person or TL from a project that needs the module)
  • Drupal engineer
  • FE engineer
  • UX Designer
  • DevSecOps or QA
  • Project Manager

Preference given to people with no previous Drupal contribution experience

What to get out of it:

  • Experience with Contrib First
  • Experience with Drupal contribution
  • Experience using the Drupal Issue Queue
  • Experience working in the open (public)
  • A safe space to be new to the process
  • Alignment with your personal goals, practice area goals, and company OKRs

How to bill:

  • Talk to your current project's PM and TL to see if it is something that project could use. If so, it will be billable to that project.
  • If your current project can't benefit from it can be logged as PRODEV_COMMPART -> Professional Development

Module description: (example) A USWDS based alert module that would allow for placing Site alerts and Alerts

  • Built upon the Sitewide Alert module (as a dependency)
  • Two different block plugins
  • Two different Single Directory Components
  • Support for using the components within Drupal and in a headless site.
  • Test coverage
  • Well documented
  • Supports sustainable maintainership (Tugboat, Gitlab CI, Ddev)

Onboarding

Onboarding checklist for each team member.

Working in Public

This development will be taking place in public. There are several things to consider.

  • Whenever possible, have conversations in public on the issue queue rather than in Slack or Zoom.
  • This is an opportunity to represent your personal brand. Say please, thank you, and other positive things. Good manners go a long way to having others contribute to your success and the success of the thing being built.
  • Getting comfortable participating in public is part of the goal of this, not solely building the thing.
  • Bring in a friend. If there is something interesting that needs eyes from someone other than who is on the prodev team, reach out to them for feedback or guidance.

Sprint 0

  • Determine check-in call time and cadence.
  • If this is new module development, brainstorm a module name.
  • Create the new module page here only fill in a minimal description, noting that this is being built and is not ready for use.
  • Create the following basic issues
    • Add a README.md (the readme will populate the project description and help page)
    • Add Tugboat PR previews
    • Add Gitlab CI support
    • Add DDEV module wrapper and Contribution directions
    • Connect README to hook_help
    • Add project browser icon
    • EPIC module MVP (this will be used to arrange the MVP tickets)
  • Populate the Backlog with issues for known requirements.
    • Make issues as granular as possible. This greatly increases the chances from someone outside the organization will contribute.
    • If the issue is part of the MVP, set the priority to "Major"
    • If you have another idea or feature that this should have after MVP is complete, create a Feature Request issue so the idea does not get lost.

Sprints 1 through N

Work toward getting MVP completed as you normally would with a project team. Check in with the whoever is serving as Product Owner at least once per week. Create alpha releases as you go.

Sprint N (MVP complete)

  • Perform the official release
  • Opt into security coverage (you may need to add someone who has that power as a maintainer for a few minutes).
  • Advertize within the company that this module is ready.

Resources


Last update March 27, 2025.