December 15, 2006 Continuous Integration

Playing for Real, More Than a Scoreboard

For the umpteenth time I am working on getting my organization to adopt TDD.  We have been directed to figure out how to adopt unit testing.  So regardless of TDD or some other way we will be writing unit tests.  So we will have some kind of objective like increase the number of unit tests.  Point being there will be a measure.  This measure will need to be on a public scoreboard because if it ain’t we are just playing around.  A scoreboard communicates that you are serious.  So you need to have a scoreboard that exudes seriousness.  I have been working on a Analytics Package for CI Factory.  This package will add yet another plugin link to CCNET’s web page bringing our configuration to a grand total of 10 links on the build page.  There is an overwhelming amount of information on the build page.  To make matters worse we have more to add, MSTest has no detailed report page and we have not added FXCop into the mix yet.  The scoreboard is likely to be lost in this sea of information.

This week I have been piecing together the beginnings of a new package.  At the moment I am calling it the Threshold Package.  It has been suggested to me that the Big Brother Package might be more appropriate.  This package can monitor values generated in the build as well as differences between the current and previous builds.  Take unit testing for example.  At the moment it will send out a thank you email to anyone that adds a unit test, increases the unit test count.  As well it will send a warning email to anyone that reduces the unit test count.


Subject: 1.0.0.2: Thanks For Adding More Unit Tests

12/15/2006 09:48:21

1.0.0.2

jflowers,

Thank you for increasing the number of unit tests from 119 to 120.

Cheers,

Your pal the build server.


Subject: 1.0.0.3: Did You Mean to Remove Unit Tests?

12/15/2006 09:42:22

1.0.0.3

jflowers,

Please take note that you have reduced the number of unit tests from 120 to 119.

Cheers,

Your pal the build server.


So that little example shows some interesting possibilities for shaping developers.  Notice that there was positive feedback as well as negative and even the negative is not very direct.  I imagine that this could be used to help shape a culture.  Now please don’t think that I mean human interaction will not be needed.  I see this as a helpful tool for engaged leaders.  I don’t see this working out well for a leader of the command style.  I do see it working for the leadership styles: visionary, affiliative, and coaching.  The emails should go to more than just the developer, they should be sent to the leaders as well.  This will help the leaders to remember to engage.

I think this Threshold Package will raise the scoreboard up and keep it from being lost in the sea of data.  It will be the exuder as long as the leaders play their part.

48,610 Total Views

7 to “Playing for Real, More Than a Scoreboard”

Trackbacks/Pingbacks

  1. Playing for Real, More Than a Scoreboard…

    You’ve been kicked (a good thing) – Trackback from DotNetKicks.com…

  2. [...] Recently I posted about a new package for CI Factory: the Threshold Package.  This package helps you create scripts to monitor and take action on information produced in the build.  One could add a script to monitor the Distance of all the assemblies, if an assembly moved closer to the zone of pain you could send and email communicating what should happen to rectify the situation or even fail the build.  If it moved closer to the sweet spot you could send a thank you email.  Combined this with some direct communication from the team lead explaining that the assemblies in the zone of pain need to be fixed and you should be on your way to a better place. [...]

  3. Hanselminutes Podcast 54 – Squeezing Continuous Integration…

  4. hanselman says:

    Hanselminutes Podcast 54 – Squeezing Continuous Integration…

    My fifty-fourth podcast is up . In this episode we continue the discussion started in Episode 4 – Continuous…

  5. [...] So what is new in this release?  There are some significant changes.  The Analytics Package and the Alerts Package (used to be the Threshold Package) are complete.  The dashboard has started to get a facelift.  The VSTSVersionControl Package is complete too, with installer.  Some smaller but important changes were: Getting NCover and MSTest to play nice, you no longer have to choose between coverage and app.configs for your test assemblies.  A couple of new targets in the Scratch.Lib.xml: SwitchToMuchBetterUnit and SetProjectOutputDirectory.  The first will switch NUnit projects to use MbUnit.  The second will switch Projects back and forth between a common bin and bins per project per config.  If you have alot of projects it can speed up the build to have them compile to one common directory. [...]

  1. DotNetKicks.com says...

    Playing for Real, More Than a Scoreboard…

    You’ve been kicked (a good thing) – Trackback from DotNetKicks.com…

  2. JayFlowers > Beginning in the Middle says...

    [...] Recently I posted about a new package for CI Factory: the Threshold Package.  This package helps you create scripts to monitor and take action on information produced in the build.  One could add a script to monitor the Distance of all the assemblies, if an assembly moved closer to the zone of pain you could send and email communicating what should happen to rectify the situation or even fail the build.  If it moved closer to the sweet spot you could send a thank you email.  Combined this with some direct communication from the team lead explaining that the assemblies in the zone of pain need to be fixed and you should be on your way to a better place. [...]

  3. lb says...

    >Notice that there was positive feedback as well as
    >negative and even the negative is not very direct

    i like the way you did this — very stylish!

  4. Scott Hanselman's Computer Zen says...

    Hanselminutes Podcast 54 – Squeezing Continuous Integration…

  5. hanselman says...

    Hanselminutes Podcast 54 – Squeezing Continuous Integration…

    My fifty-fourth podcast is up . In this episode we continue the discussion started in Episode 4 – Continuous…

  6. JayFlowers > CI Factory Beta 0.8.0.121 says...

    [...] So what is new in this release?  There are some significant changes.  The Analytics Package and the Alerts Package (used to be the Threshold Package) are complete.  The dashboard has started to get a facelift.  The VSTSVersionControl Package is complete too, with installer.  Some smaller but important changes were: Getting NCover and MSTest to play nice, you no longer have to choose between coverage and app.configs for your test assemblies.  A couple of new targets in the Scratch.Lib.xml: SwitchToMuchBetterUnit and SetProjectOutputDirectory.  The first will switch NUnit projects to use MbUnit.  The second will switch Projects back and forth between a common bin and bins per project per config.  If you have alot of projects it can speed up the build to have them compile to one common directory. [...]

  7. Ydnnjtye says...

    Do you know what extension he’s on? http://xnxx.0zed.com/ xnxx
    mandingo got that ass, pinky cant hang with all that pipe he laying, she know she wanted to climb that wall

Leave a comment

*

here