A month (and a bit) in the Office of the CTO
by Angie Byron
Last month, I started my new job in Acquia's Office of the CTO. I posted my to-do list last month of a given week's worth of work, to try and provide some insight as to what I'm working on. Since that probably reads as chicken-scratch to you (my handwriting tends to be one-way encryption ;)), here are some of the highlights:
Stability and adoption of Drupal 7 is a critically important factor in the growth of Drupal, so this is also an important priority for Acquia.
To that end, here are some things I've been up to related to Drupal 7:
- Stable releases Released Drupal 7.1 and 7.2, containing many critical bug fixes and performance improvements. Why two releases? HUGE thanks to Gábor Hojtsy for the hand-holding, Peter Wolanin for his awesome git instructions, and Stéphane Corlosquet and Dylan Tack for their help in wrangling the security announcement.
- Release schedule Worked with the community to develop a predictable point-release schedule for Drupal core (last Wednesday of the month). This idea got very broad support, as it will help both site maintainers and service providers, and will also help provide motivation for contributors to work on fixing bugs in a timely manner.
In keeping with the above schedule, another Drupal core release will also happen tomorrow to keep things moving along.
- Fast-tracking bug fixes And finally, Dries gave me some new fancy powers in order to help fast-track Drupal 7 bug fixes, while ensuring Drupal 8 doesn't fall out of sync. I've started using this in order to chip away at the list of issues that need backporting.
Of course, it's not enough to just focus on how we can make Drupal stronger today; we also need to look at how we can make it stronger in the future. So another place where I spend time is trying to help Drupal 8 move forward.
- Scrum Dries and I have bi-weekly scrum calls with all of the Drupal 8 initiative owners, as well as project managers from the Drupal community, in order to get status updates, and find out areas where blockers exist so we can and assist. This has been helpful for keeping things rolling along, and for the team to trade strategies on how best to manage initiatives.
- One feed to rule them all For community visibility into Drupal 8, helped set up the Drupal 8 initiatives group, to provide a single place to keep up on all major Drupal 8 goings-on. There's a "dashboard" of all the initiatives, with links to their respective groups, issues, roadmaps, and code, and important discussions that need community feedback.
- Balancing bug fixes and new features Worked with the core development team (particularly catch) to come up with a set of issue queue thresholds to try and strike a balance between the security/stability of Drupal 7 with cool new features in Drupal 8. From now on, features and wide-spread clean-ups only happen if the number of critical/major tasks and bugs are below an acceptable threshold.
- Configuration Management Initiative Attended DrupalCamp Colorado and the last day of the Configuration Management sprint. A write-up of the sprint is up on groups.drupal.org, along with a very lively discussion. ;)
- Drupal 8 Gates Worked with the documentation team on the first of the Drupal 8 "gates", which document the set of checklists that patch contributors must work through in order to get their patches accepted into core. We also need to define gates for Usability, Accessibility, Performance, and Testing. If you'd like to help with this effort, here's the jump-off point: http://groups.drupal.org/node/158779
General Community Stuff
Finally, another big focus is on the general Drupal community: how can we help foster the Drupal community and help it to grow? What processes are hindering us and how could they be made more efficient?
Work here has been primarily focused on:
- Usability testing Along with several other Drupal community members, attended another round of formal usability testing at University of Minnesota, prior to DrupalCamp Twin Cities. You can read our comprehensive report, and help us fix these issues in Drupal 8 and Drupal 7 contrib by checking out the UMN 2011 tag. Lots of stuff to fix, to be sure, but it was nice to see the UX changes we made in Drupal 7 testing well. Yay!
- Metrics gathering In order to help inform where effort is best spent, I started filling in a few basic queries/metrics at the success metrics and survey post in the Prairie Initiative Group, helped generate statistics about drupal.org commit activity, and have also been working with Greg Dunlap and Jeremy Thorson to gather stats about the project application process for a proposed core conversation session. Hoping to make these a lot more automated and transparent to people without drupal.org database access over the coming weeks.
- Cross-project outreach Also related to metrics, I had coffee with David Eaves, the author of a blog post outlining the crazy-awesome community metrics Mozilla is using (thanks, Dave Hansen-Lange for the pointer!). We talked about what a tool like this might look like for Drupal, as well as various community management issues such as the importance of reducing transaction costs and making community structure explicit (ok, ok, fine, you win, rfay ;)).
Talking with David was totally energizing, because it was the first time in a very long time that I've found someone outside of the Drupal community who innately gets it, where "it" is the essence of an open source community and both the challenges and incredible possibilities therein. I really hope to be able to sink some serious time into this in the coming weeks, and David would like to be involved in this effort as well.
- Drupal.org improvements And finally, big-impact Drupal.org improvements. I've been fleshing out the How to make Drupal.org awesome guide, and put a ton of time into trying to help solve a few of our biggest "community performance" issues; namely, issue summaries, API change nodes, and related issues. HUGE thanks to Jennifer Hodgdon, Dave Reid, Cameron Eagans, Derek Wright, Michael Prasuhn, and numerous others who've been dumping the time in here, too. We're so close!
So, in short, I'm primarily working on big, important stuff for Drupal, and trying to give it some of the focused attention that it needs. :) And it feels absolutely great.
It's also great to work so closely with Dries. We have weekly meetings where essentially we run down a list of metrics, see what areas need the most focus and attention, come up with a to do list, and then execute on it, staying in touch over the week. I'm able to escalate things up to his attention that need escalating, without him having to accidentally stumble into them in the issue queue. He's able to give me things to crunch on that are important but he can't do himself. It's a good match. :)
I didn't quite know what to expect when I took this plunge. While I of course knew Dries, as well as most of the engineering team from their extensive work on Drupal 7, I didn't know the rest of the company very well, and definitely had a fair amount of trepidation in making the move to Acquia. However, I can honestly say that it's been completely awesome so far. Folks here are friendly, wicked smart, and leadership has taken any concerns raised about community impact very seriously. Acquia really does want to see Drupal world domination happen, and it's really exciting to be one part of helping to make that happen.
(Also note that if helping Drupal to achieve world domination sounds like fun to you, Acquia is hiring. ;))