MDN Development Process Improvements

Tales of an Engagement intern doing software engineering






But first...






Thanks!

My internship
  • Found problems, offered solutions, and got people excited along the way

  • Three main areas

    • Engagement

    • User research

    • Software engineering

Engagement
  • Goal: Encourage creative developers to submit to the June Dev Derby

  • Methods

    • Find developers doing interesting work with open web technologies

    • Research, research, research. Find public email addresses and Twitter accounts.

    • Email developers, follow them on Twitter, and start the conversation

Engagement
  • 11% of those contacted contributed

  • 21% of all June contributors came from this group

  • 34% of all June demos came from this group

  • Highlights

    • Seven demos by Stu Nicholls

    • HTML5 Video Voting by ZURB

    • Rofox by Anthony Calzadilla

User research
  • Had some background with user research, but learned much more at Mozilla

  • Conducted user interviews with core MDN users

  • Outlined takeaways and actionable work in individual bugs

  • Highlights

    • "When users start liking articles..."

    • "I've never used the MDN to create a new spec."

    • "We really need IRC handles to be listed in user profiles."

    • "I was burned ever since the site went down a couple of years ago."

Software engineering: Features
  • Many feature discussions, but spread out across different sites

    • Mozilla Wiki

    • EtherPad

    • Google Docs

  • In past work...

    • "What was our decision on this feature?"

    • "Haven't we discussed something like this already?"

    • "So where's that feature we discussed a few months ago?"

  • Collected all thoughts into one, comprehensive feature list

Software engineering: Discussions
  • Very detailed discussions and idea sessions

  • Awesome, but...

    • Developers need small, manageable chunks of work

    • Developers are busy enough already

  • Software engineer to the rescue!

    • Act as the interface between discussions and individual tasks

    • Monitor discussions and identify specific features

    • Share those features in a form that allows developers to work on them right now

    • Make the lives of developers as easy as possible. Let them work heads-down.

Software engineering: UserVoice
  • Many great requests from the community

  • But...

    • Same problems as with discussions

    • Contributing must be easy for developers and for users

    • Users should be rewarded for their effort

Software engineering: Process improvements
  • Applying Scrum

    • Product backlog

    • Planning meetings

    • Sprint backlogs

  • Retrospective discussions

    • What has been working well?

    • What hasn't been working well?

Software engineering: Process improvements




"We should start an email thread for discussing changes to our meetings and processes."

Software engineering: Process improvements


"I'm glad we're actually making the process better."

Software engineering: Process improvements




"I would like if we had a Daily Standup."

Software engineering: Process improvements


"Daily standups are great! They're short, unobtrusive, and I get a daily sync of what everyone is doing."

Software engineering: Process improvements




"I lose track of what I actually need to do for a release."

Software engineering: Process improvements

Software engineering: Process improvements




"Our releases keep slipping."

Software engineering: Process improvements


"We finished with enough time for dedicated QA!"

Software engineering: Process improvements




"As a user, it's hard for me to know what you're working on."

Software engineering: Process improvements


"This new feedback process sounds fabulous."

Software engineering: Process improvements




"We are very bad at estimating, so we never know how much work we should take on at a time."

Software engineering: Process improvements


"I like the point system - I think it gives us an idea how much we're doing, where we're spending our effort, and if we're on track."

Thank you.

Twitter: @openjck
Email: jkarahalis.mozilla@gmail.com