bugzilla-agile

Bugzilla is cute but deadly.I'm not a pure Agilista™ but we're always trying to improve our development process for MDN. John and I like Scrum and XP stuff, but every team does Agile™ a little differently - as they should. A while back we shopped around for tracker tools and stuck (as Mozillians always do) with bugzilla. We - i.e., mostly John and Jay - also looked at acunote, planbox, scrumdo, agilezen, pivotal, and agilebench.

What we most like about Bugzilla:

  • Bugzilla is Mozillian - it channels the work of tens of thousands of Mozillians; we can cc anyone in the community on a bug
  • Bugzilla is open - we can link anyone in the world to a bug
  • Bugzilla is versatile - as Jonath says in Bugzilla for Humans, it's the devil we know

On the latter point, I've forked some agile features onto Greg's BugzillaJS to help us work more Scrummy™. Our most pressing issue is managing releases - our scope keeps bloating and our releases keep slipping. So we're starting to use the Agile/XP concept of "points" to estimate bugs, track our team velocity, and hopefully improve our release rhythm and reliability. Behold our improved "sprint backlog":

MDN™ 0.9.9 Sprint™ Backlog™

There's a few new things going on here. Here's a summary of how we're doing what we're doing:

Bugzilla Agile Target Milestone
Milestone releases - We use the milestone field of bugzilla for our releases. Next up is 0.9.9 scheduled for August 2nd release. As we move to a more continuous development and release cycle, the milestone version numbers lose meaning (just like Firefox), but we want to track releases. (Sorry James, we're not deploying every check-in just yet).

Bugzilla Whiteboard
Whiteboard overloading - We're using a tag=value pattern in the whiteboard to add new "fields" because adding fields and values to bugzilla requires IT changes and they're over-worked as it is. In our case,

  • 'u' - the primary user of the feature/bug (faster and more programmable than writing "As a ___, I want ___" every time
  • 'c' - the component that the feature/bug modifies
  • 'p' - points

bugzilla agile story points

Calculating points and stories - For any search that includes the "whiteboard" column with the specified tokens, the addon sums the number of "Open" and "Closed" stories and points for the release.

MDN Components Graph
Pretty graphs - data visualization FTW. Seriously, graphs give us a quick snapshot of the open v. closed bugs, and in which component we're spending our effort. This is important for MDN because we want to re-write the wiki while continuing to deploy site enhancements and changes. Now we can see exactly how much of our effort is going to the wiki as compared to other components.

I really hope this improves our releases and makes life easier for devs. Points by release and components are our most pressing needs so we can set realistic release and product expectations, and keep ourselves honest about where we're spending our effort. We'll probably add velocity and burndown charts once we finish a few point-based releases.

If anyone else wants to use it, my fork of BugzillaJS is up on github; download the .xpi file and open it with Firefox to install the addon. Feedback and pull requests are very welcome!

Edit: I should point out we're inspired by other agile Bugzilla tools - the Songbird team has wrestled bugzilla into their Agile process, and fligtar created moxie to help AMO product management.

Webdev Offsite & Open Source Bridge

Mozilla WebDevBack when we released Firefox 4, I remember a fellow mozillian tweeted

The folks I work with are built out of brains, grit, guts and glory. Amazing. I am _so_ lucky.

Last week I verified the sentiment when I met a bunch of the folks I work with - many for the first time. Our WebDev offsite (photos) was great. We had a nice little Webdev unconference at the Urban Airship office on Monday, then we all attended, and a few of us spoke at, Open Source Bridge.

On Friday a bunch of us hacked on little projects and, as the conference wound down, we snuck into a room for a hack-n-tell. It showed me how much skill we have in webdev, and our evenings together showed me our group's passion. I'm humbled by both.

Web Standards in Visual Studio

Visual Studio HTML5I just learned about Microsoft's Web Standards Update to Visual Studio, and I think it's a great step for Microsoft. When Microsoft showed Windows 8 apps written with HTML, CSS, and Javascript, a lot of Microsoft dev's - especially Silverlight dev's - whined expressed concern about being abandoned by Microsoft.

My area - Tulsa, OK - is dominated by enterprise/Microsoft developers. I have heard horror stories of websites built by enterprise/Microsoft developers who know very little outside of Visual Studio. We're working on opening the web developer atmosphere up with stuff like Tulsa Web Devs and Tulsa Hackathon, and we're trying not to scare away the couple of Microsoft dev's (like Chris and Chris) who have come.

Philosophically, and as a recent Eclipse-to-vim convert, I know how much difference good developer tools can make, and I know Visual Studio is way up there for many developers. This web standards update is great for Microsoft web developers. I hope the project gains momentum, and gets some more official Microsoft promotion - more than their equally good WebMatrix project. (Which I heard about just a few weeks ago, even though I'm a web developer in a Microsoft-heavy area?)

MDN & Kuma progress

Kuma will tear you up with fire attacksI haven't posted in a while for a couple good reasons - I've learned enough django to write more code than words now, and our new intern has taken over most of the project management work for MDN. So, I have time and ability to code and I'm using it! I should still post about *what* we're coding, so here we go.

We've done a lot since my first status post 4 months ago. We released Demo Studio, Learning, and Dev Derby from our "mdn" branch. I played some small parts in the Demo Studio work, and I implemented the Learning feature while I myself learned our jingo and tower libraries.

I did some important but less-visible work - I copied our mdn code from our old mdn repository into our new kuma repository. We maintain an mdn branch in kuma where we do main development to push to the live site. The master branch holds all of the kuma-only features. We frequently merge mdn into master to keep master current. I set up continuous integration projects for both kuma and mdn on the Mozilla jenkins server.

All along I've been fielding bugs on our old MindTouch/DekiWiki system and helped prepare our upgrade from MindTouch 9 to MindTouch 10, currently running on the MDN staging server.

Finally, just last week, I broke free from MDN features & infrastructure to work on the kuma wiki features. The kuma wiki is cloned from the kitsune wiki that powers SUMO. So, we're starting with a large solid wiki foundation already. On Thursday I started changing the kuma wiki templates to match our mdn templates. Along the way, I added ckeditor to the wiki app (just like our existing MindTouch), removed and/or hid many fields that SUMO requires that we will not, and restored and refactored over 80 wiki unit tests. (Which gave me a nice bump up the Leader board in our cigame.) Now I'm working on article viewing - our implementation is different since we store HTML content rather than wiki markup, so we need to change the way we bleach content - and I'll work on article previews next. All of this is continuously pushed to our kuma staging server. Very Soon™ we should be able to invite community testers to the staging server to start banging on kuma wiki and giving us feedback.

Outside of my Mozilla work, I gave a Web Application Security talk for Tulsa School of Dev 2011 along with other members of Tulsa Web Devs. I hacked the crap out of a WordPress site right after our other guys promoted WordPress as a great open-source CMS, which it really is; I feel bad to have hacked it in front of a bunch of Microsoft fanboi's, but oh well. Just please PLEASE keep your WordPress updated and be careful about which plugins you install!

Outside of my tech work, my wife and I had our 2nd baby girl on April 8th - River Daphne. It's been quite a learning experience with 2 kids under the age of 2, but we're starting to adapt. I've also made a couple of trips out to Clear Creek Abbey to help Brother Paul start brewing beer for the monks and guests. This last time I got to sample an American Pale, an English Brown, and a Munich Lager - all of them were great; hard to believe Brother Paul has only been brewing a few months.

Enough words. Time for more code.

Late absentee to the party

Firefox 4 Launch Party in Ten ForwardI'm a couple days late, but I work remote so I didn't actually get to attend the Firefox 4 launch party. Working remotely for Mozilla is a double-edged sword - it's a great opportunity to work for the best web company in the world from the comfort of my hometown, but we remotes miss out on the day-to-day awesomeness of company HQ. Even so, along with everyone I was mesmerized by glow.mozilla.org for which fellow webdev's potch, jbalogh, and chowse deserve every compliment they get! All of engineering operations did some amazing work for this. Our VP said it best:

The release day went off without a hitch - we shipped Firefox 4 to over 4 million 6 million people, and if that wasn't enough - we shipped 3.5/3.6 to hundreds of millions more, *at the same time*, all without breaking a sweat! Amazing websites were featured in news outlets such as the NY Times showcasing our amazing webdev talents (both in design and scalability), along with great dashboards from the metrics team that kept everyone on top of how the release was going over various mediums. Users were delighted to have fantastic support articles all updated for Firefox 4 and we caught the few people attempting to game/DoS our infrastructure within minutes. Sync more than tripled its new user rate and hummed along across multiple datacenters. Just amazing across the board.

What's also amazing is the sustained rate of the launch - we pushed 9M downloads on day #2 and we're still pushing 8k downloads per minute, so it looks like we may push another 10M today on day #3! If the other day was a good day for mozillians these last few days have been amazing - inspirational and humbling for this n00b webdev in the org. I can't say how proud I am to work for such a great company, so I'll let this video do it:

Home / groovecoder by groovecoder is licensed under a Creative Commons Attribution-ShareAlike CC BY-SA
Home / groovecoder by is licensed under a Creative Commons Attribution-ShareAlike CC BY-SA