Continuous integration game gamed...

classic Classic list List threaded Threaded
13 messages Options
Reply | Threaded
Open this post in threaded view
|

Continuous integration game gamed...

Martijn Dashorst
At our company we had a lot of fun with the CI Game plugin, but ran
into some disturbing snags such that we stopped using it, which is a
shame IMO.

First: the CIG should not count warnings, tasks and other things when
a previous build was broken, and is now fixed. This caused our
carefully crafted 81 points to go down to -1441: the plugin registered
perhaps 3 warnings in the previous build, but now that the compiler
completes the multimodule project, it finds 100+ warnings. You can
imagine this was not very encouraging.

Second: enabling warnings caused me also some grief. The CI Game was
humming along, and enabling the compiler settings to detect warnings
gave me -500 points.

Thirds: deprecations should not be counted for demerits or credits.
Making an API deprecated will cause havoc in your system, but it is
actually a good thing. Of course, removing al deprecated API usage
would be even better, but deprecation is a good tool in our toolbox.

All in all: I like the CI Game plugin: it has enticed our devs to
commit early and often instead of saving things to the end of the day.

Martijn

---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]

Reply | Threaded
Open this post in threaded view
|

RE: Continuous integration game gamed...

Matt Brown-3
Also I think it's possible, at least the last time I tried out the CI Game, for users to simply go to their profile page (/hudson/user/matt/configure, for example) and edit their score.

The game wasn't as much fun once the members of my team figured that one out...

-Matt

-----Original Message-----
From: Martijn Dashorst [mailto:[hidden email]]
Sent: Thursday, April 23, 2009 9:22 AM
To: [hidden email]
Subject: Continuous integration game gamed...

At our company we had a lot of fun with the CI Game plugin, but ran into some disturbing snags such that we stopped using it, which is a shame IMO.

First: the CIG should not count warnings, tasks and other things when a previous build was broken, and is now fixed. This caused our carefully crafted 81 points to go down to -1441: the plugin registered perhaps 3 warnings in the previous build, but now that the compiler completes the multimodule project, it finds 100+ warnings. You can imagine this was not very encouraging.

Second: enabling warnings caused me also some grief. The CI Game was humming along, and enabling the compiler settings to detect warnings gave me -500 points.

Thirds: deprecations should not be counted for demerits or credits.
Making an API deprecated will cause havoc in your system, but it is actually a good thing. Of course, removing al deprecated API usage would be even better, but deprecation is a good tool in our toolbox.

All in all: I like the CI Game plugin: it has enticed our devs to commit early and often instead of saving things to the end of the day.

Martijn

---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]


---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]

Reply | Threaded
Open this post in threaded view
|

Re: Continuous integration game gamed...

Erik Ramfelt
In reply to this post by Martijn Dashorst
Hi Martjin

Glad to hear that you are enjoying it somewhat even though it has some issues.

On Thu, Apr 23, 2009 at 3:21 PM, Martijn Dashorst
<[hidden email]> wrote:

> At our company we had a lot of fun with the CI Game plugin, but ran
> into some disturbing snags such that we stopped using it, which is a
> shame IMO.
>
> First: the CIG should not count warnings, tasks and other things when
> a previous build was broken, and is now fixed. This caused our
> carefully crafted 81 points to go down to -1441: the plugin registered
> perhaps 3 warnings in the previous build, but now that the compiler
> completes the multimodule project, it finds 100+ warnings. You can
> imagine this was not very encouraging.

Actually I was just fixing it, so expect to have a new release during
the weekend. The fix will be if there is no previous build or the
previous build failed, no points will be awarded from the
warnings/checkstyle/etc plugins (of course the point for fixing it
will still be given out). This means if anyone actually fixes a
warning in the build after the failed one they will not be awarded any
points for it, and thats a little harsh perhaps.....


> Second: enabling warnings caused me also some grief. The CI Game was
> humming along, and enabling the compiler settings to detect warnings
> gave me -500 points.

It sounds like an issue! The game should not award points for a build
if the warnings plugin wasnt enabled in the previous build. Ive added
this https://hudson.dev.java.net/issues/show_bug.cgi?id=3560 issue.

> Thirds: deprecations should not be counted for demerits or credits.
> Making an API deprecated will cause havoc in your system, but it is
> actually a good thing. Of course, removing al deprecated API usage
> would be even better, but deprecation is a good tool in our toolbox.

Currently the warnings rule set only consists of default rule for all
warnings, it is possible to add more specific rules to its rule set
such as only watch deprecated warnings. But then again, if I deprecate
something, shouldnt I fix the places where the deprecated method is
called at the same time? Shouldnt there be any penalty for adding code
that uses deprecated methods?


> All in all: I like the CI Game plugin: it has enticed our devs to
> commit early and often instead of saving things to the end of the day.

Cool, and I think that was what Clint (guy behind the idea) had in mind.

I have also been thinking of adding a rule that enforces small change
sets, ie too many files in one commit (from one person) would award
the person -5 points; good or bad idea?

Cheers
//Erik
>
> Martijn
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [hidden email]
> For additional commands, e-mail: [hidden email]
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]

Reply | Threaded
Open this post in threaded view
|

Re: Continuous integration game gamed...

Erik Ramfelt
In reply to this post by Matt Brown-3
Yeah, thats a problem if all users are administrators; as it is only
administrators that should be able to reset scores (unless something
has changed). Being able to reset scores was a feature request, and im
not sure I can do it any other way.

Regards
//Erik

On Thu, Apr 23, 2009 at 7:02 PM, Matt Brown <[hidden email]> wrote:

> Also I think it's possible, at least the last time I tried out the CI Game, for users to simply go to their profile page (/hudson/user/matt/configure, for example) and edit their score.
>
> The game wasn't as much fun once the members of my team figured that one out...
>
> -Matt
>
> -----Original Message-----
> From: Martijn Dashorst [mailto:[hidden email]]
> Sent: Thursday, April 23, 2009 9:22 AM
> To: [hidden email]
> Subject: Continuous integration game gamed...
>
> At our company we had a lot of fun with the CI Game plugin, but ran into some disturbing snags such that we stopped using it, which is a shame IMO.
>
> First: the CIG should not count warnings, tasks and other things when a previous build was broken, and is now fixed. This caused our carefully crafted 81 points to go down to -1441: the plugin registered perhaps 3 warnings in the previous build, but now that the compiler completes the multimodule project, it finds 100+ warnings. You can imagine this was not very encouraging.
>
> Second: enabling warnings caused me also some grief. The CI Game was humming along, and enabling the compiler settings to detect warnings gave me -500 points.
>
> Thirds: deprecations should not be counted for demerits or credits.
> Making an API deprecated will cause havoc in your system, but it is actually a good thing. Of course, removing al deprecated API usage would be even better, but deprecation is a good tool in our toolbox.
>
> All in all: I like the CI Game plugin: it has enticed our devs to commit early and often instead of saving things to the end of the day.
>
> Martijn
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [hidden email]
> For additional commands, e-mail: [hidden email]
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [hidden email]
> For additional commands, e-mail: [hidden email]
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]

Reply | Threaded
Open this post in threaded view
|

Re: Continuous integration game gamed...

kaosko
In reply to this post by Matt Brown-3
It's a game. As with any game, you can cheat but what's the fun then? I think you need to increase communication if people feel obligated to cheat. Being able to reset the scores if useful at those times when you decide to re-work the entire build system and your score suddenly goes to -500 because of that.

Kalle

On Thu, Apr 23, 2009 at 10:02 AM, Matt Brown <[hidden email]> wrote:
Also I think it's possible, at least the last time I tried out the CI Game, for users to simply go to their profile page (/hudson/user/matt/configure, for example) and edit their score.

The game wasn't as much fun once the members of my team figured that one out...

-Matt

-----Original Message-----
From: Martijn Dashorst [mailto:[hidden email]]
Sent: Thursday, April 23, 2009 9:22 AM
To: [hidden email]
Subject: Continuous integration game gamed...

At our company we had a lot of fun with the CI Game plugin, but ran into some disturbing snags such that we stopped using it, which is a shame IMO.

First: the CIG should not count warnings, tasks and other things when a previous build was broken, and is now fixed. This caused our carefully crafted 81 points to go down to -1441: the plugin registered perhaps 3 warnings in the previous build, but now that the compiler completes the multimodule project, it finds 100+ warnings. You can imagine this was not very encouraging.

Second: enabling warnings caused me also some grief. The CI Game was humming along, and enabling the compiler settings to detect warnings gave me -500 points.

Thirds: deprecations should not be counted for demerits or credits.
Making an API deprecated will cause havoc in your system, but it is actually a good thing. Of course, removing al deprecated API usage would be even better, but deprecation is a good tool in our toolbox.

All in all: I like the CI Game plugin: it has enticed our devs to commit early and often instead of saving things to the end of the day.

Martijn

---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]


---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]


Reply | Threaded
Open this post in threaded view
|

Re: Continuous integration game gamed...

kaosko
In reply to this post by Matt Brown-3
It's a game. As with any game, you can cheat but what's the fun then? I think you need to increase communication if people feel obligated to cheat. Being able to reset the scores if useful at those times when you decide to re-work the entire build system and your score suddenly goes to -500 because of that.

Kalle

On Thu, Apr 23, 2009 at 10:02 AM, Matt Brown <[hidden email]> wrote:
Also I think it's possible, at least the last time I tried out the CI Game, for users to simply go to their profile page (/hudson/user/matt/configure, for example) and edit their score.

The game wasn't as much fun once the members of my team figured that one out...

-Matt

-----Original Message-----
From: Martijn Dashorst [mailto:[hidden email]]
Sent: Thursday, April 23, 2009 9:22 AM
To: [hidden email]
Subject: Continuous integration game gamed...

At our company we had a lot of fun with the CI Game plugin, but ran into some disturbing snags such that we stopped using it, which is a shame IMO.

First: the CIG should not count warnings, tasks and other things when a previous build was broken, and is now fixed. This caused our carefully crafted 81 points to go down to -1441: the plugin registered perhaps 3 warnings in the previous build, but now that the compiler completes the multimodule project, it finds 100+ warnings. You can imagine this was not very encouraging.

Second: enabling warnings caused me also some grief. The CI Game was humming along, and enabling the compiler settings to detect warnings gave me -500 points.

Thirds: deprecations should not be counted for demerits or credits.
Making an API deprecated will cause havoc in your system, but it is actually a good thing. Of course, removing al deprecated API usage would be even better, but deprecation is a good tool in our toolbox.

All in all: I like the CI Game plugin: it has enticed our devs to commit early and often instead of saving things to the end of the day.

Martijn

---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]


---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]


Reply | Threaded
Open this post in threaded view
|

RE: Continuous integration game gamed...

Ben Lidgey
In reply to this post by Erik Ramfelt
Hi

We use the game here and it has provided fun and I think made people think about making sure that their commits don't break the build, but has caused a few eyebrow-raising moments where people spend time circumventing the game rules, for example renaming @TODO to @MUSTFIXTHIS so it looks like they have less TODO items. On the whole though it seems to be working, so congratulations for writing it!

Looking forward to the fix outlined below where if you commit after a broken build you get stung for all the previous warnings etc.

Ben

> -----Original Message-----
> From: [hidden email] [mailto:[hidden email]] On Behalf
> Of Erik Ramfelt
> Sent: 23 April 2009 22:03
> To: [hidden email]
> Subject: Re: Continuous integration game gamed...
>
> Hi Martjin
>
> Glad to hear that you are enjoying it somewhat even though it has some
> issues.
>
> On Thu, Apr 23, 2009 at 3:21 PM, Martijn Dashorst
> <[hidden email]> wrote:
> > At our company we had a lot of fun with the CI Game plugin, but ran
> > into some disturbing snags such that we stopped using it, which is a
> > shame IMO.
> >
> > First: the CIG should not count warnings, tasks and other things when
> > a previous build was broken, and is now fixed. This caused our
> > carefully crafted 81 points to go down to -1441: the plugin
> registered
> > perhaps 3 warnings in the previous build, but now that the compiler
> > completes the multimodule project, it finds 100+ warnings. You can
> > imagine this was not very encouraging.
>
> Actually I was just fixing it, so expect to have a new release during
> the weekend. The fix will be if there is no previous build or the
> previous build failed, no points will be awarded from the
> warnings/checkstyle/etc plugins (of course the point for fixing it
> will still be given out). This means if anyone actually fixes a
> warning in the build after the failed one they will not be awarded any
> points for it, and thats a little harsh perhaps.....
>
>
> > Second: enabling warnings caused me also some grief. The CI Game was
> > humming along, and enabling the compiler settings to detect warnings
> > gave me -500 points.
>
> It sounds like an issue! The game should not award points for a build
> if the warnings plugin wasnt enabled in the previous build. Ive added
> this https://hudson.dev.java.net/issues/show_bug.cgi?id=3560 issue.
>
> > Thirds: deprecations should not be counted for demerits or credits.
> > Making an API deprecated will cause havoc in your system, but it is
> > actually a good thing. Of course, removing al deprecated API usage
> > would be even better, but deprecation is a good tool in our toolbox.
>
> Currently the warnings rule set only consists of default rule for all
> warnings, it is possible to add more specific rules to its rule set
> such as only watch deprecated warnings. But then again, if I deprecate
> something, shouldnt I fix the places where the deprecated method is
> called at the same time? Shouldnt there be any penalty for adding code
> that uses deprecated methods?
>
>
> > All in all: I like the CI Game plugin: it has enticed our devs to
> > commit early and often instead of saving things to the end of the
> day.
>
> Cool, and I think that was what Clint (guy behind the idea) had in
> mind.
>
> I have also been thinking of adding a rule that enforces small change
> sets, ie too many files in one commit (from one person) would award
> the person -5 points; good or bad idea?
>
> Cheers
> //Erik
> >
> > Martijn
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: [hidden email]
> > For additional commands, e-mail: [hidden email]
> >
> >
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [hidden email]
> For additional commands, e-mail: [hidden email]


Please consider the environment before printing this e-mail or its attachments

This e-mail is confidential and intended solely for the use of the individual(s) to whom it is addressed. Any views or opinions expressed are those of the author. If you are not the intended recipient, please be advised that any use, dissemination, printing or copying of this email is strictly prohibited.


---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]

Reply | Threaded
Open this post in threaded view
|

Re: Continuous integration game gamed...

Martijn Dashorst
In reply to this post by Erik Ramfelt
On Thu, Apr 23, 2009 at 11:02 PM, Erik Ramfelt <[hidden email]> wrote:
> I have also been thinking of adding a rule that enforces small change
> sets, ie too many files in one commit (from one person) would award
> the person -5 points; good or bad idea?

IMO a bad idea: renaming a method might trigger 50 files to be
changed. and refactoring is a good thing (tm).

Perhaps making this configurable is a better option.

Martijn

---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]

Reply | Threaded
Open this post in threaded view
|

Re: Continuous integration game gamed...

Erik Ramfelt
On Fri, Apr 24, 2009 at 11:19 AM, Martijn Dashorst
<[hidden email]> wrote:
> On Thu, Apr 23, 2009 at 11:02 PM, Erik Ramfelt <[hidden email]> wrote:
>> I have also been thinking of adding a rule that enforces small change
>> sets, ie too many files in one commit (from one person) would award
>> the person -5 points; good or bad idea?
>
> IMO a bad idea: renaming a method might trigger 50 files to be
> changed. and refactoring is a good thing (tm).
>
> Perhaps making this configurable is a better option.

Mmmm, that should have been in place a loooong time ago. Ive started
several times but never completed something :(
And I feel I cant add to many other rules without having that option.


BTW, how about getting some points for fixing a failed build which you
were responsible for failing?

I have also some ideas for badges/trophies; oh so many ideas and so
little time ;)

//Erik



>
> Martijn
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [hidden email]
> For additional commands, e-mail: [hidden email]
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]

Reply | Threaded
Open this post in threaded view
|

Re: Continuous integration game gamed...

vishnu-11
In reply to this post by Erik Ramfelt

hi
  I just wanted to say this isnt something available only to administrators.  Ive found any user can reset their scores. My users authenticate against AD if that makes any difference.
On Fri, Apr 24, 2009 at 2:36 AM, Erik Ramfelt <[hidden email]> wrote:
Yeah, thats a problem if all users are administrators; as it is only
administrators that should be able to reset scores (unless something
has changed). Being able to reset scores was a feature request, and im
not sure I can do it any other way.

Regards
//Erik

On Thu, Apr 23, 2009 at 7:02 PM, Matt Brown <[hidden email]> wrote:
> Also I think it's possible, at least the last time I tried out the CI Game, for users to simply go to their profile page (/hudson/user/matt/configure, for example) and edit their score.
>
> The game wasn't as much fun once the members of my team figured that one out...
>
> -Matt
>
> -----Original Message-----
> From: Martijn Dashorst [mailto:[hidden email]]
> Sent: Thursday, April 23, 2009 9:22 AM
> To: [hidden email]
> Subject: Continuous integration game gamed...
>
> At our company we had a lot of fun with the CI Game plugin, but ran into some disturbing snags such that we stopped using it, which is a shame IMO.
>
> First: the CIG should not count warnings, tasks and other things when a previous build was broken, and is now fixed. This caused our carefully crafted 81 points to go down to -1441: the plugin registered perhaps 3 warnings in the previous build, but now that the compiler completes the multimodule project, it finds 100+ warnings. You can imagine this was not very encouraging.
>
> Second: enabling warnings caused me also some grief. The CI Game was humming along, and enabling the compiler settings to detect warnings gave me -500 points.
>
> Thirds: deprecations should not be counted for demerits or credits.
> Making an API deprecated will cause havoc in your system, but it is actually a good thing. Of course, removing al deprecated API usage would be even better, but deprecation is a good tool in our toolbox.
>
> All in all: I like the CI Game plugin: it has enticed our devs to commit early and often instead of saving things to the end of the day.
>
> Martijn
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [hidden email]
> For additional commands, e-mail: [hidden email]
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [hidden email]
> For additional commands, e-mail: [hidden email]
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]



Reply | Threaded
Open this post in threaded view
|

Re: Continuous integration game gamed...

Erik Ramfelt
Oh, then something must have broken, because I think it was protected
when I implemented the reset feature (or not....). Maybe I should add
a game admin role to the security ACL. Could you add it to the issue
tracker with your version of hudson and your security settings?


Regards
//Erik

On Apr 26, 2009 8:03 AM, "vishnu" <[hidden email]> wrote:


hi
  I just wanted to say this isnt something available only to
administrators.  Ive found any user can reset their scores. My users
authenticate against AD if that makes any difference.

On Fri, Apr 24, 2009 at 2:36 AM, Erik Ramfelt <[hidden email]>
wrote: > > Yeah, thats a problem...

---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]

Reply | Threaded
Open this post in threaded view
|

Re: Continuous integration game gamed...

vishnu-11
done
https://hudson.dev.java.net/issues/show_bug.cgi?id=3575
please tell me if Ive dont it right :)

On Mon, Apr 27, 2009 at 7:01 AM, Erik Ramfelt <[hidden email]> wrote:
Oh, then something must have broken, because I think it was protected
when I implemented the reset feature (or not....). Maybe I should add
a game admin role to the security ACL. Could you add it to the issue
tracker with your version of hudson and your security settings?


Regards
//Erik

On Apr 26, 2009 8:03 AM, "vishnu" <[hidden email]> wrote:


hi
  I just wanted to say this isnt something available only to
administrators.  Ive found any user can reset their scores. My users
authenticate against AD if that makes any difference.

On Fri, Apr 24, 2009 at 2:36 AM, Erik Ramfelt <[hidden email]>
wrote: > > Yeah, thats a problem...

---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]


Reply | Threaded
Open this post in threaded view
|

Re: Continuous integration game gamed...

vishnu-11
oops that should be done it right.

On Mon, Apr 27, 2009 at 11:43 AM, vishnu <[hidden email]> wrote:
done
https://hudson.dev.java.net/issues/show_bug.cgi?id=3575
please tell me if Ive dont it right :)


On Mon, Apr 27, 2009 at 7:01 AM, Erik Ramfelt <[hidden email]> wrote:
Oh, then something must have broken, because I think it was protected
when I implemented the reset feature (or not....). Maybe I should add
a game admin role to the security ACL. Could you add it to the issue
tracker with your version of hudson and your security settings?


Regards
//Erik

On Apr 26, 2009 8:03 AM, "vishnu" <[hidden email]> wrote:


hi
  I just wanted to say this isnt something available only to
administrators.  Ive found any user can reset their scores. My users
authenticate against AD if that makes any difference.

On Fri, Apr 24, 2009 at 2:36 AM, Erik Ramfelt <[hidden email]>
wrote: > > Yeah, thats a problem...

---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]