Improving our review criteria
Ian Clatworthy
ian.clatworthy at canonical.com
Thu Nov 12 22:33:47 GMT 2009
The Bazaar core team has always had a very strong emphasis on quality
and that's a great thing. My big complaint though is that our review
criteria favours "developer quality" over "user quality". In particular,
patches land if:
1. They improve the product.
2. They don't reduce test coverage.
3. They don't reduce internal clarity.
I think the last two things should be taken into account but not be
blockers to landing as they are now. Why?
From my perspective, "quality" is how well a product meets user needs.
Great software teams follow the Agile philosophy of ...
maximise the rate at which you deliver *value to the customer*
If a change makes life better for thousands of users, we're actually
*improving* quality of the product vs not landing it, even if that
change has less tests that it should or it could be implemented using
"cleaner" layering. We certainly need to closely monitor technical debt,
use refactoring, etc. but, right now, I think our review criteria is
skewed in favour of 10-20 core developers instead of our user base (80k
at a rough guess) or our potential user base (several million).
It's actually ok to release software with bugs. To give a concrete
example, Bazaar Explorer gained virtual repositories in 0.9 even though
they only work locally and not remotely. I knew that before I released
it but I felt it was ok because 99% of users wanting that feature are
browsing local disks. Delaying the feature to fix all the issues would
have reduced quality IMO.
We certainly should focus on overall solution quality but test coverage
is only one dimension of that. If we're missing features and that's
stopping projects from considering Bazaar or migrating to Bazaar, we
aren't meeting user needs regardless of the warm fuzzy feeling we get
from our fantastic test suite. It's also important to keep in mind that
there are multiple ways of achieving great quality. These include:
* gaining more users - all bugs are shallow given enough eyeballs
* rapidly turning around "easy" bugs as users submit them.
In summary, I think our emphasis on quality is awesome but I'd like to
see us put the user more at the center of it. Stuff like better
packaging, easier migration, cleaner documentation and faster feature
rollout need higher emphasis in our culture IMO.
Ian C.
More information about the bazaar
mailing list