Agenda for a design-focused contribution event

Last updated on
5 November 2020

Focused design meetings -- where developers get together for several days of intensive planning and produce a set of proposals for future work -- are a useful way to start development of a new feature. As an example, a group met in Chicago in February 2008 to discuss "Data Architecture", to lay the initial groundwork for what became "fields in core": the successful initiative that brought CCK fields into Drupal core.

This brief guide is intended to provide some pointers for organizers of similar meetings, drawing on the experience in this event. Some of the notes here draw upon an evaluation participants did at the end of the sprint--see "Lessons learned for future 'Design sprints'" at the bottom of this page: http://groups.drupal.org/node/8714.

Basics

  1. Assemble a list of the key people to be involved. These might include, obviously, developers most active on the topic, but having participants with a range of perspectives and involvement also helps. It may be useful to have a process-oriented facilitator who is a little removed from the issue. Numbers? Six or so participants seemed to work well at the Data Architecture event.
  2. Decide on a location. See the main page about organizing contribution events for details.
  3. Designate a coordinator to pull together basic logistics.
  4. Solicit and secure sponsorships:
    • Travel and accommodation costs for participants; for example, from the employers of individual participants
    • Events at the sprint; for example, a sponsored supper out

Before the event

While the intensive work will wait for the face to face discussions at the event itself, preparation ahead of time will make the in-person time much more focused and productive.

Communications

Creating a dedicated group on groups.drupal.org is a useful way to organize the event and also share ideas and results with the community. Discussion ahead of time can help define the need, existing solutions and initiatives, and some specific aims.

Goal

Why is this meeting needed? What specific problems are you addressing?

Example from Data Architecture event:

Today, Drupal is a powerful and flexible web application that can be modified and extended to meet many sites' requirements. For the future, Drupal needs to be a powerful and flexible web application-and-services development platform. A development platform requires a consistent, documented set of APIs for accessing all of the platform's functionality.

Existing solutions and initiatives

What existing initiatives are addressing the need you have identified? What are some of their merits and shortcomings?

Specific aims and intended outputs

What do you aim to produce? If the scope seems to large, try to refine it. Select a specific problem that may be representative of a larger problem set. For example, at the Data Architecture event, the problem of bringing CCK fields into core was chosen as a focus to ground the larger discussion of unified Data APIs.

Draft an agenda

See draft below.

At the event: sample agenda

Day 1: Groundwork

  • Introductions
  • Designate roles: recorder (one per day?) to take detailed notes throughout the day; facilitator, to facilitate as needed
  • Lightning talks: Each participant presents a 10 minute prepared talk on a topic relevant to the goals.
  • Revise agenda
  • Confirm aims
  • Summary of current status of work
  • Identify main areas needing work, with a focus on components of an overall solution

In evening (after session): recorder revises minutes from day, posts to groups.drupal.org group.

Day 2: In depth

  • Taking components identified in Day 1, discuss each in detail, focusing on defining solutions.
  • Possibly, break into small groups (two or three per group) and delve into specific issues, reporting back to group.

In evening (after session): recorder revises minutes from day, posts to groups.drupal.org group.

Day 3: Plans and tasks

  • Define specific tasks
  • File issues outlining relevant tasks.
  • Potentially, break into small teams (pairs) and draft sample code. E.g., if you have determined the need for a new hook, draft sample hook implementations.
  • Break the work into concrete tasks with timelines and proposed implementation teams, including leaders and initial proposed membership.
  • Review broad solution components as identified on day 1. To what extent do the concrete tasks fulfill this vision?
  • Review process of event. What worked, what didn't, lessons?
  • Assign short term work in documenting the results. Who will write up results? How will they be shared? E.g., at an upcoming Drupal conference.

Fun

  • Go out for dinner or other social time
  • Make sure the work days aren't too long. 8 hours is probably a good max.

After the event

  • Write up and share results.
  • Start in to work plan.
  • Look for ways to stay engaged with each other, e.g., through meeting at conferences or arranging contribution events involving two or more participants.

Tags

Help improve this page

Page status: No known problems

You can: