this is a talk on extreme containment measures
phone and language will be might be used for those who don't know me an
example so i mean i don't know how like and i've been involved in one
way or another since roughly two thousand and five
and obviously with my first touch points for the gnome community have in panic no
and buttons it up i spend a lot of time filing and three icing bugs
and my character has level to well level reach the whole forty three in the
massively multiplayer online knowing that is complex a lot so in this talk i'm going
to present my analyses of the big issues that we face
and proposed methodology and a set of recommendations to solve these issues
i have some rather strong opinions and of course those are just my suggestions so
if you think that what i'm saying is completely evil well then feel free to
rage against my medical is an and i'd the talk is pretty going to be
rather short so we should have plenty of time to discuss in the
i would like to have a big debate at the end if i don't have
some kind of reaction i probably failed and then we just have to go to
the beach or something but well way there's no beach here
so
i have some assumptions that some of you might already have seen some of this
stuff that i wrote set couple months ago
but it's really if you want to know where mike kind of philosophy comes from
a summary of mine ways of thinking i have been strongly influenced by the mythologies
like getting things done or involve zero which is basically just getting things done but
apply to an e-mail really so if you haven't read those things i highly recommend
then in if you're the kind of person who likes to be organised
and
so
all based on actually
the sound doesn't work a
so it doesn't matter anyway so those books are interesting and everything but if you
really think about it
the core essence has always been about what's been going on in the world of
manufacturing for the last
thirty years so
lean and just in time manufacturing is it's a fascinating concept and
well i was doing studies in management
i started thinking about those things and how they applied pretty much everything we do
in life
from your personal to do this to managing a candy factory to managing a software
development project
so
and when you think about it everything is about slow
about good and adapting to change so you have something close in and you have
stuff that those out and you want this to be constant and so it and
and you want to avoid committing stuff because as soon as you have to make
stuff well things will below i can guarantee and
and there's this interesting thing from one of the books i've mentioned previously is the
only keeping that you should be retained from in the gold writes a book
in the context of but management is this
excess invent three is the liability it's not an asset
and
in that in the manufacturing world actually that means the stuff that you have produced
and now you think well okay wait that's just wrong the product is work something
right we're gonna sell it and then so it's and it's not set
it's natural to think that way
except that you don't know the market constraints until useful that you're not selling it
me immediately if you were you wouldn't be in the inventor E you will you
would you would just be selling it and making a profit
and so what this means is that is stuff that just sits around until it
might be sold
and then it devalues it waste this resources and it clogs up the system
so
in our context
that means connective wait
and
that's a concept that i took from getting things know that don
and
you think things know miss we can also that by the weights
so it's is it translates to wasted time searching for existing but reports split attention
on duplicates wasted energy looking for well it's good same bugs that were kept open
or because we were close to soon and
it all it's also feels like an incorrect indication of the quality of your software
and
we have a problem here
we are accumulating excess eventually
lots of it
and fast
and it's slowing us down
of course pretty much every project out there has this problem
and you to the fact that you know is such a large ecosystem
of this can ecosystem projects that have been going on for over fifteen years
well we and we don't have unlimited the mat time and manpower
the consequences is just going exponential
so allow non you're thinking well okay maybe is just exaggerating
so let me show you the problem we have in a very concrete way
this is the global amount of open but report thinking on since the beginning
i'm actually and missing data between two thousand and one or two thousand and five
but i'm pretty sure the amount of focus has not drastically going down during that
period so i just put some random guy on a bike right
feel the whole
so that's
forty five thousand bug reports that we have open right now and i'd argue that
this is not sustainable this stuff is often times so old and they see that
doesn't even represent to real amount bugs that users experience
so let me this is with it this way i don't know the but you
but
i as a user
if i was feeling the weight of forty five thousand bucks
every day
i wouldn't be using the computer that's all i would probably be crying in a
corner
and
so
well who's responsible for this would we point fingers to well pretty much everybody to
some extent
it's really easy to let things
slipped and rest of the time
and so i'm going to show you some examples and those are not meant to
be
finger pointing or anything like that they are just meant to in the illustrates how
different projects
and all their bug infantry differently
and well i think it's quite interesting really
so
first case it is really
it was fairly nice the under control is a can see and then the port
to webcat happened
and many things changed including the apps branding and positioning
because now epiphany is
this really mean stripped down a way more than it was before so that's
a different positioning you don't have the same kind of features that want to deal
with
and well we can infer that the green bugs were filed by the developers right
from the start because they were
that is new which means conferencing you know
and we see that we got the that green curve gradually declining in importance in
the past few years
but not that much
so well gradually declining
in absolute terms so some of those very old bugs that these files from the
beginning
some of them have been fixed in that's a great thing but there's this really
big red line that's goes that's going on and i think that in the case
of epiphany we have this huge cleanup opportunity
because support of web to work it
changes everything changes everything the backend so all those bugs were reported back when epiphany
was running on a call the well the last firefox that something engine they are
they need to be retested or
in many cases than we know that they are fixed we so you have this
cleanup opportunity and there is also the fact that the you why is so much
simpler and does not want to do everything that the old you white one did
that's also another clean up opportunity
so that was the case that you have epiphany
and well and that is just a generic example is fairly under control that bill
died but the end that was me because i started thinking up some stuff but
then
life happens and i didn't continue that much
so it looks like a typical glow module
and
evolution is a special case
notice that actually use the new status
and that there was this amazing improvement somewhere in the
somewhere in guess advocate and if i'm not mistaken a big part of that is
thanks to on the clapper is he here
yes
is that true
well thank you all day
i you that you that one
and
so but there's still this
huge amount of bug reports left to deal with so
that defined ahead all day and
no show
away
i have many things to say about the way the project handle it's bug reports
but i fear might hurt some feelings so maybe i'll keep that for discussions in
the hallways or maybe at the ways question period at the end so
but anyway it's gonna it's gonna just flow naturally with the
the techniques i'm suggesting in the rest of the stock and
G T K it needs help
it has a lot of old bugs so you as you can see so over
two thousand to a two thousand five hundred
no actually you have to you have to add up the lines actually it's not
there are cumulative
so it has a lot a lot a lot of old bugs that are certainly
not relevant anymore
it basically needs an army of testers
and i from a net contributor once said to me
i am not subscribe to did you to give about males
i don't look at the bug tracker
when it comes to fix in biology books in G T K
whoever catches me first on our C in the morning wins
we have a problem
so
and of our case to illustrate is a bit to be which is also another
special based
i'm arrogant enough to think that this is kind of how things should be at
least
i like at least like this or better and this
the new bugs are more numerous than the unconfirmed bugs
and they are kind of kept on the control so i the thing that i
actually haven't mentioned is that all those graphs they are not on the same scale
the are all related to their own
their own total so evolution you went from like five thousand to three thousand to
a little bit nicer i think it's about the thousand now and you take a
as you could see was the at two thousand five hundred B T V the
scale here is a hundred and fifty the upper bounds so if you add things
up it's about two hundred two hundred and forty fifty bucks half of that is
the feature requests
feature requests and
and this graph is going to eventually come crashing down in the next be to
be really switch it will happen any day now as i close a bunch of
those old bug reports
and i ching this advertising you might be interested in attending maybe to talk tomorrow
at the end of the for details
britain box is another it well it's in a similar situation to G T K
it needs help
it has at on of potential duplicates and in change book reports
i certainly don't feel like i'm encountering a thousand bug it i thousand four hundred
bucks when i'm listening to my music library
so i don't think there are that many buttons thing with some box it is
nobody closest box i think
so well let's talk about quality and let me shut up or while and think
of a bit a while what is quality this is an open question for you
folks to answer
how should we can own define how we measure quality
anyone
really
it's all about the users in the
the company incoming number of bug reports
i wonder
any other ideas
static and the statistical analysis
well it doesn't crash
the you know of an application that doesn't crash ever
it works once should it should it
well how do we know that we're
that we're better off as a whole
compared to two thousand five
in any case
we can probably agree that the amount of bug reports we hadn't noble to that
is not a strong indication of the quality of our software
and this is a partial quote from joe was able ski
at some point you start wondering what is people love my software
one hell have so many but reports
open then there waiting increase crashing down my soul
it in this article so argues that
force the actually advocate for something pretty rack radical he says
do not allow for more than two weeks in fixing time
of bugs to accumulate in the bug database
so if you have more than that you stop and you fix books until you
feel like you're fixing stupid bugs
and then you close all the remaining but reports
and he says don't worry december break this either bogs will come back
okay that's a crazy radical thing to do
that's not what applying to our if those as an as open source developers typically
especially if we're talking about volunteer work
where we don't necessarily have that seeing the regularity the manpower to fix bugs at
the steady pace
so how do we do it
you're thinking maybe well okay that's easy if you're only dealing with feature requests
or about then
what do you do with longstanding bugs
or what do you we do with the pickets
well we need to get serious about control
and by see resign mean many things
the right from the cards and philosophy in the manufacturing will
and cards and is basically this is also called five S system sadie sate on
say suppose and stick it so then it's okay it's translating to send it sizing
which is get rid of stuff
organising cleaning maintaining the D V cleaning less and disciplined enough to catering this methodology
we have forty five thousand bugs we need to start cleaning now and we need
just keep cleaning as we go in the future
so now we can apply some other things like inbox zero
and box there was basically just a mindset we say what is this mindset we're
dealing with email but we can apply to but management to some extent when you
receive an email you can either delete it you can transfer
to somebody else you can respond immediately
or you can market to be processed later because you're waiting on something else to
happen in the universe
or you do the action that you email sender requests
and we can apply that
to are but
mythology
and basically decision-making boils down to three possibilities
it's and you could see that
need info is not
actually this that there but it's really important
you have to use meeting full aggressively
you helps you identify obsolete bugs by simply running a search for bugs that have
been in them in the info state for
over two months or something
and confirming bugs is actually important
very few projects just actually confirmed the box
one thing i would strongly at of okay for tech actually is that we replace
the new statist by conference in can on box it up even though many people
will probably throw rotten fruit and me for saying that because i don't know many
people don't believe in confirmation about this
but
i think it could make an
add difference psychologically speaking
because
indecision is power lights is
if you leave at seven years old bug report open because it's in unconfirmed states
and because nobody has made a decision
it's not gonna help to attain a learning process
so whatever possible we want to clear yes or no if we don't decide now
we probably never will there's a question over there
we have a microphone
you can shop and
and are given the microphone or i will read tweed the question
hi i'm i guess possibly five maybe ten percent of the box it might box
of the overflow folder where i've set they lock and so this picture and i
say sorry ask a not about
and they rip in the back
and i say still i think still not still not gonna happen close the book
that in the park and i just pick of well
magically we box with the
the report just keeps reopening them
i think that so that's it comes that a little bit later
actually that's with the previous like to some extent
if it's a bug well okay a bogus should be fixed
but if it's a feature requests
well there are three types
either you agree with the thing is a absolutely i wanna do it so
yes confirmed and everything if you are confident that you can actually fix it
either your like not this really doesn't fit the vision so no out of scope
sorry
and there's a middle ground where side while i could like this feature but i
don't really care that much and i don't have them apart is that your case
we should be constant
so in the case where they suggest something this we could have anything that we
could have
and you say catches welcome and then nothing happens just close it
so what i would do
is
i would markets as enhancements
with and i would highly it with the goal of help want to do and
everything should but then is so it's not gonna as an enhancement it's not about
report and at some points
after three years you can't we all the patch
or after
i'm saying three years but maybe after one year or two years
if there is no clear indication if it's like one guy in the in some
faraway country we carry can strays it down so instead of
twenty people saying plus one plus one plus one and then you could say well
these your open this bug report this enhancement request when you have a patch because
i cut but then comes in the can replies which i will cover that there
there is out in with a question
but i know it's difficult
to come back to the question we do it in the form a we had
a czech cult your job
a dish in addition to the enhancement and we provides help to get it it's
a great it's like you know which files to you have to add it's by
do you have to start
then the other thing to remember is that
it's probably not useful to have
five hundred
yes would like this but we're not gonna work on that box because it's not
helpful from you contribute is either like is much better to have
these of the top twenty things we want you to do if you wanna contribute
and just maintain that list and you know we will still be in the database
even if you close then you can still kind of search for close but i
with no love the something the not gone forever
so you can you can manage a list that one
you could indeed have some kind of special search for
bugs that well feature requests
that times out because nobody has a bad
it could be done
the questions
i sell continue glorious past
so here yes i don't know whenever possible when you it's not possible
use this wonderful thing called time to figure out if there is actually real interest
that can help you
i mean part of the open source thing is that we want people to be
annoyed enough to contribute to our project
so if after three years nobody there is to make a patch for it
maybe it's not important enough
maybe it's not annoying enough
you either oppose it can from and something else
and using target milestones is actually pretty important and useful to and it allows you
to know
but maybe that's just a personal thing i do with the P T V about
it allows you to know which bugs were fixed for web version exactly
and it also helps a lot when you're releasing
because you just have to search for results bugs that were
attached to a given milestone and then you write the release notes or just point
to the link saying that was where the bugs that were fixed drink for this
release even if this book was ten years old it was finally fixed for this
release and you can see all that kind of information directly in the bug tracker
so when i was saying about yes-no fix it immediately are deferred or say just
know
when i say fix it into the i do mean fix it and then controls
the bug report
unless the feature is still broken and i mean really broken let me illustrate this
but i need sound for this to work and i'm not sure i do have
sounds
or is there anything that controls the somewhere here
not normally
well one what lot of speakers all i could like what microphone
that's gonna be also
that was a former so you're that
alright
ghetto blaster microphone like so
what do i mean by this
you've got a fixed for about that you have committed to your master brian what
you are a little bit unsatisfied with the cost quality
then you add some comments in your code and a to do item on your
personal this but do not keep your bug report open insisting because when you'd like
to come is a better implementation
you don't show some
by the way to not close bugs until the fix has been marriage
the main development branch
is the fix is only committed to a separate branch well you can market as
assigned another underused but reports that is
and then
you can market is assigned until it goes into monster and of course you said
yes find email because that's pretty
so
no is actually pretty famous for daring to say no out of scope
but saying you know without ending up on the front page of slashdot is actually
a very delicate art
you can't implement everything out there due to insufficient manpower or because feature X would
go against projects vision or intended user experience
and for that i can't miss i age helps a lot
people we with will respect your decision more if we know your constraints and why
you have to say no
so by can message
well
i kind of message is the message that you composed for something that's basically as
if you for book reports
if there is non available you create one and you save it as a text
file on your computer for reuse that way you don't end up
like
being super frustrated of always having to type the same explanation to why this cannot
be done or why this will not be done
and you don't and i'm just saying nope and ending up on news sites
for example you could have something that was like this
hi and thanks for reporting this bug
P T V score is currently being replaced by the distributing services which is a
major undertaking an overhaul and we suddenly can't investigate much bucks the talk sure on
the traditional core of it see
we will revisit this
a by the next please which will use gas and hopefully your issue may be
gone by that new release
otherwise we will appreciate your help in testing it out thanks
so that's the kind of thing i don't want to read be typing on the
spot ever again
so i keep it as a text file on my computer
so you should
you should
there we do have ten for advising them back to that but they don't
necessarily corner the specifics or of your project so it's nice to have those custom
kind replies on your computer
for example for the meeting full stuff with custom debugging instructions for your project
and
searching is every nice thing is you can see the bottom of the screen i
have a lot of special saved searches so that's
that seems a bit silly but it's really useful in taking away the pain of
money string the bugs and the patterns and the stuff that for example i want
to see all the bugs that are older than four hundred days and that have
dot have any patch
that's use of useful for finding that
and not just a little edits hyperlink in the book title
like and it's
super hard to spot actually
not many people know it actually exists
you can use that to rename the bug report as the same time as you
are commenting other changes
and then you can use a book good bug title slash summary
so you can make a complete sentence with exact words
and choosing the right words improve fired see it makes to bug user to find
prevents duplicates
makes coffee so it's
actually i go
i go a little bit tougher and that i use synonyms like and i think
of all maybe someone is gonna think of that for when searching so i use
multiple words that mean the same thing in that title
for example some example of good and back well good and bad
but titles
all the first one is not that compelling well old one was share my the
stuff the item in the menu lot of life you know is a registered hundred
immensely five
i nine we need to do all initially share make this a menu item if
you know is a well
the second one is more interesting it's a bug in them to this U which
was titled show where files come from no or maybe it was just what i
thought at first and then i thought well i'm i need a better it but
title instead provide context allow users to know the path slash location from where files
and folders and search results come from so that way if someone searches for past
or location or search or results
or context you they're gonna find that a real easily
and some other examples
for example the first example
people searching for words such as sound or ring tone or call will find that
about report easily
the
the one near the middle if you search for G E mail i not message
account you're gonna find this but before
so keywords a really nice
i use gnome love all the time i don't know might is normal of all
the time is make is
is really easy to just type every bugs that are kind of easy
that you don't really have time or motivation to tackle or that you actually you
could do it in two minutes maybe for feature request
but you have more urgent things to do and you kind of want to use
them to lure people into contributing your project
so i do that's
i'm not sure about help want to but i think it's just for stuff that
you are yourself
unable to tackle
and the distinction between usability and you want reviews of that youtube it send clear
but so i think the you wire if you is when you want to call
out and they to the rescue
and there's a bunch of other keywords that are less use
so divide and conquer
don't do it on if possible do it in teamwork maybe would but T I's
days
maybe to google hangouts
or but fests i don't know if that just actually something a word
there is also a to fill it moves are made the script
once some time and to force him to revisit ten bucks a day
i think this is five bucks a day but if you read the code this
is actually it's ten bucks today
so you can grab descriptive your if you need extra something in your face
and well to recap basically you want to need info everything your hands for unsure
about in six months with that special search query you close any remaining needed for
that has not been clearly answered
if the norm box quite doesn't do it for you for free
if you are a developer who knows the project vision
well you have to show some courage and say no or patch or it won't
happen
and if you're not a developer or if you like experience but have jobs
most project of appears would be very happy to have any kind of help interesting
the bug so
you can ask for yes slash no decision on any given bug
and then that way you getting some experience in know what's the vision what and
whatnot
so you also have to do render regular cleanup sessions every few months
or when there is a major technologist goal or
idealistic all change going on
so that means that you have to know the know the big projects on your
road map and
see that fortunate is popping up such as hold on touch bugs
core engine changes like P T Vs switch to T S or if you can
use which to web get
and or big you why redesigns
stuff like that
and you can run search queries to search and verify all the bugs that are
older and four hundred days eight hundred days
chances are that they are fixed already they are obsolete
let's go duplicates
or just plain crack
and i mean like wracked is probably like requesting features from the eighties that zero
point one percent of users actually care about
that's it it's nothing revolutionary it's just i hope that's somewhat useful now you can
probably questions comments and insults
and i'm pretty sure i must have overlooked or focus in something
and that's have a chance
but
i also you have very nice lines
and you sounds to do you made an example that people don't even know that
you can change the talking book so but i don't think that's the only problem
not the only a interface problem of books of the i think so it's a
all those stuff would improve the blue
then would it looks a little buttons took something move gonna
thing is that you would have to find the bug tracker that is much better
that numbers about any is if we an open source project actually free an open
source project and can handle huge buffaloes
and or the sysadmins are gonna hate us and
i mean these days many people many projects smaller projects the just to the but
that issues management on get hub or stuff like that but that's proprietary i don't
i don't think it's open source at all and some do it on know nobody
uses source forge are anymore it's so crap and
the thing
i few years ago i have was actually looking for a bug tracker that would
be at least equal in quality and versatility to bugs it out and that could
actually installed without that phd on and my home server and i didn't find anything
and actually a book sellers was it a bit too complex for me to install
but i didn't find anything
that i like really much more than books
like there's bookseller lunch but this is it's okay but many people created and there's
google codes
which is not open source i don't
we don't really have i don't know if we have an of the native out
there
if so
why not consider it
out of time
anyway if anybody else has questions or fruit rotten fruit to throw i will be
in the hallway
that's it