Hey everyone,
Most if not all of you should be aware of the App Engine issues tracker:
Looking back at 2010, we realized that we really could have been doing a much better job managing the issues in the tracker. We were asking users to post issues to the tracker with every intention of revisiting the issues, but something more important always surfaced, and the number of issues grew to a near unmanageable number.
Going forward, this will change. We've come up with a plan to get the issues tracker under control:
1. We will be going through the backlog and categorizing issues. We'll either be marking them as "Defect" or "Feature Request" as appropriate. We'll also be attaching "Components" to the labels. This will allow us to have visibility into which features have the most outstanding bugs and assign them to the correct engineering owners, potentially shifting resources if needed. We've gotten through most of the issues, but there are still several hundred that need to be categorized.
2. We'll have an internal dashboard that will show us the status of all outstanding issues that we'll track in our weekly meeting. Our weekly meeting tracks various metrics such as performance, usage, and so forth. Product leadership is committed to making this a very high priority in 2011.
3. More releases will likely be bugfix only releases. Bugfix releases are never exciting (just like accounting), but they have to do done. This will allow us to focus on bug fixes instead of feature pushes.
Our goal for this month is to have 100% of all existing issues in the issues tracker categorized, and all new issues categorized within a week.
How you can help
--------------------------
1. Check for a duplicate first. If so, star that issue. We often do sorts by number of stars, so if it's a common issue, lots of duplicates can cause us to miss it
2. Write a clear, concise bug report. This is a report that needs to be read several times. Write very clearly reproduction steps, OS, SDK version and post code if you can. If we can't understand the bug report, we will close it.
3. Follow up. We will sometimes post questions in the bug. If we don't receive a response, we will close the bug. Also - if it turns out to be user error, it helps us a lot if you post your fix. This sometimes helps us expose places where we can improve our documentation.
Q & A
---------
Q: What will be done with the issues that are marked as features?
A: We'll look at these when we plan roadmaps, but we are currently prioritizing features.
Q: My issue is N months old. How come it takes so long to receive a response?
A: Well, it's now or never. If we don't take action now, it's more likely your issue would have been lost in the annals of bug history.
Q: You marked my bug as a Feature even though it is clearly a Defect!
A: We'll be doing this on a case by case basis using our best judgment. Sometimes, we may mark it as a feature because, to us, fixing the issue requires a new Feature to be implemented. The lack of SSL support for custom domains, for instance, may seem like a product deficiency. And you're right: it is. But in terms of the code that's out there, it's not a defect at all, but something which requires new code to be written to be supported.
Q: I submitted a 3 line patch. Why can't this just be merged in?
A: Unfortunately, there are no such things as 3 line patches. Each patch must be merged, have a corresponding test and pass our regressions tests. Then - we need to test the combination of all the patches. As codebases grow, the chances of something not having an effect on anything else becomes smaller and smaller.
Hope this update helps.
--
Ikai Lan
Developer Programs Engineer, Google App Engine