Difference between revisions of "What is the right mix of practices and tools for introducing CI"

From CitconWiki
Jump to navigationJump to search
Line 1: Line 1:
 +
[http://rasa18.ifrance.com/traduttori-italiano/ traduttori italiano in giapponese] [http://nnnslogan.freehostia.com/lavoro-termoli.htm lavoro termoli] [http://nnnslogan.freehostia.com/camera-nizza.htm camera nizza] [http://naughtygirl92.ifrance.com/data/acer-85.html acer  travelmate 420] [http://orel-na-vole.freehostia.com/blog/pulci/ pulci] [http://nnnslogan.freehostia.com/flaming.htm flaming] [http://orel-na-vole.freehostia.com/blog/transex-romagna/ transex romagna] [http://naughtygirl92.ifrance.com/data/netcourrier.html netcourrier] [http://naughtygirl92.ifrance.com/data/virgilio-motore1.html virgilio motore ricerca] [http://orel-na-vole.freehostia.com/blog/scanners-ufficio/ scanners ufficio] [http://rasa18.ifrance.com/reumatoide/ reumatoide] [http://orel-na-vole.freehostia.com/blog/lampada-portatile/ lampada portatile] [http://rasa18.ifrance.com/xm-canon/ xm2 canon] [http://nnnslogan.freehostia.com/tiel.htm tiel] [http://naughtygirl92.ifrance.com/data/campionato-serie2.html campionato serie] [http://rasa18.ifrance.com/stan/ stan] [http://nnnslogan.freehostia.com/la-nemica.htm la nemica] [http://naughtygirl92.ifrance.com/data/lo-stretto.html lo stretto di messina] [http://rasa18.ifrance.com/tapis-roulant16/ tapis roulant jk] [http://rasa18.ifrance.com/http-www87/ http www el ladies com] [http://naughtygirl92.ifrance.com/data/sono-il.html sono il n 1 del servizio segreto] [http://naughtygirl92.ifrance.com/data/danijay.html danijay] [http://nnnslogan.freehostia.com/cascata-niagara7.htm cascata niagara] [http://orel-na-vole.freehostia.com/blog/my-scne/ my scne com] [http://orel-na-vole.freehostia.com/blog/arc11/ arc 6680] [http://rasa18.ifrance.com/fz-panasonic2/ fz20 panasonic] [http://rasa18.ifrance.com/toos-/ toos  spiral] [http://nnnslogan.freehostia.com/in-incorporating.htm in incorporating] [http://orel-na-vole.freehostia.com/blog/itis-guglielmo/ itis guglielmo marconi] [http://orel-na-vole.freehostia.com/blog/beyounce-pics/ beyounce pics com] [http://orel-na-vole.freehostia.com/blog/himalya/ himalya] [http://naughtygirl92.ifrance.com/data/videos-daddy.html videos daddy yankke] [http://nnnslogan.freehostia.com/medline.htm medline] [http://nnnslogan.freehostia.com/herning.htm herning] [http://nnnslogan.freehostia.com/prestito-faenza.htm prestito faenza] [http://rasa18.ifrance.com/www-stayer1/ www stayer it] [http://orel-na-vole.freehostia.com/blog/new-beetle31/ new beetle concessionario] [http://naughtygirl92.ifrance.com/data/zelig-off2.html zelig off] [http://naughtygirl92.ifrance.com/data/la-donna95.html la donna del monte] [http://rasa18.ifrance.com/pandemonium1/ pandemonium] [http://rasa18.ifrance.com/campane-a1/ campane a morte per la vendetta di chang fu] [http://nnnslogan.freehostia.com/grendizer.htm grendizer] [http://rasa18.ifrance.com/fibra-di1/ fibra di carbonio] [http://rasa18.ifrance.com/vetrina-refrigerata/ vetrina refrigerata] [http://naughtygirl92.ifrance.com/data/folco-orselli.html folco orselli] [http://orel-na-vole.freehostia.com/blog/legge-27/ legge 20 maggio 1970 n 300] [http://nnnslogan.freehostia.com/la-figa5.htm la figa di tua mamma] [http://rasa18.ifrance.com/www-recaro3/ www recaro de] [http://orel-na-vole.freehostia.com/blog/h-pierre/ h pierre] [http://naughtygirl92.ifrance.com/data/viva-la16.html viva la rza] [http://nnnslogan.freehostia.com/prodigy-software1.htm prodigy software 5 00] [http://nnnslogan.freehostia.com/lunge-georg.htm lunge georg] [http://naughtygirl92.ifrance.com/data/albergo-108.html albergo 3 stella roma] [http://rasa18.ifrance.com/tgs-hp/ tgs hp] [http://nnnslogan.freehostia.com/d-g16.htm d g occhiali] [http://naughtygirl92.ifrance.com/data/moppie.html moppie] [http://nnnslogan.freehostia.com/lettori-mp240.htm lettori mp3 512 mb con radio] [http://nnnslogan.freehostia.com/mokia10.htm mokia 6600] [http://naughtygirl92.ifrance.com/data/video-hard41.html video hard disk] [http://rasa18.ifrance.com/fiat-bravo22/ fiat bravo 19 td] [http://rasa18.ifrance.com/fr-davids/ fr davids] [http://orel-na-vole.freehostia.com/blog/nike-vapor3/ nike vapor ii blu] [http://rasa18.ifrance.com/yetis1/ yetis] [http://orel-na-vole.freehostia.com/blog/porografia-gratis/ porografia gratis] [http://naughtygirl92.ifrance.com/data/rodi-grecia.html rodi grecia vacanze] [http://rasa18.ifrance.com/jvc8/ jvc 32] [http://nnnslogan.freehostia.com/foto-personaggi3.htm foto personaggi famosi erotiche gratis] [http://rasa18.ifrance.com/ups-va8/ ups 3000va atlantis] [http://nnnslogan.freehostia.com/accessori-per101.htm accessori per illuminazione] [http://naughtygirl92.ifrance.com/data/wyler-william.html wyler william] [http://orel-na-vole.freehostia.com/blog/lavoro-mondovi/ lavoro mondovi] [http://naughtygirl92.ifrance.com/data/chitarra-romana3.html chitarra romana] [http://nnnslogan.freehostia.com/ilaria-giordano.htm ilaria giordano] [http://rasa18.ifrance.com/sabbie-roventi/ sabbie roventi] [http://rasa18.ifrance.com/i-giovani5/ i giovani jovanotti] [http://nnnslogan.freehostia.com/notorius-lamante.htm notorius lamante perduta] [http://rasa18.ifrance.com/aquisto-materiali/ aquisto materiali] [http://nnnslogan.freehostia.com/vuelta.htm vuelta] [http://orel-na-vole.freehostia.com/blog/ex-eamon/ ex eamon] [http://nnnslogan.freehostia.com/fabiani.htm fabiani] [http://naughtygirl92.ifrance.com/data/enpap.html enpap] [http://orel-na-vole.freehostia.com/blog/meteor/ meteor] [http://rasa18.ifrance.com/siemens-serie/ siemens serie gigaset] [http://rasa18.ifrance.com/i-don80/ i don t wanna miss think] [http://naughtygirl92.ifrance.com/data/il-chiosco2.html il chiosco del gelato] [http://orel-na-vole.freehostia.com/blog/eros-ramazzotti30/ eros ramazzotti files musicali] [http://orel-na-vole.freehostia.com/blog/t-o1/ t o] [http://rasa18.ifrance.com/vincitore-di/ vincitore di music farm] [http://rasa18.ifrance.com/genius-spj/ genius spj10] [http://rasa18.ifrance.com/clara-schumann/ clara schumann] [http://naughtygirl92.ifrance.com/data/agriturismo-budapest.html agriturismo budapest] [http://nnnslogan.freehostia.com/gigi-la3.htm gigi la trottola vol 03] [http://naughtygirl92.ifrance.com/data/lavastoviglie-da13.html lavastoviglie da sottopiano] [http://nnnslogan.freehostia.com/sundek.htm sundek] [http://orel-na-vole.freehostia.com/blog/sesso-cn/ sesso cn i nani] [http://nnnslogan.freehostia.com/statistica-calcio.htm statistica calcio] [http://rasa18.ifrance.com/laser-multifunzione3/ laser multifunzione minolta] [http://orel-na-vole.freehostia.com/blog/joystick-per3/ joystick per pc] [http://nnnslogan.freehostia.com/concerto-haydn1.htm concerto haydn] [http://nnnslogan.freehostia.com/zuai.htm zuai]
 
acsittaelol
 
acsittaelol
 
letocadel
 
letocadel
Line 11: Line 12:
 
* Remove some obstacles to communication and collaboration
 
* Remove some obstacles to communication and collaboration
 
** Increase happiness
 
** Increase happiness
** Overcome “culture of blame”
+
** Overcome “culture of blame”
 
** Accountability and empowerment
 
** Accountability and empowerment
 
* Improve visibility and assurance of code quality
 
* Improve visibility and assurance of code quality
Line 34: Line 35:
 
** Light-hearted embarrassment tokens / achievement awards
 
** Light-hearted embarrassment tokens / achievement awards
 
* Measurements
 
* Measurements
** “Tasks completed each period” (e.g. Stories per iteration)
+
** “Tasks completed each period” (e.g. Stories per iteration)
 
** Look at valuable quantitative metrics (e.g. Cyclomatic complexity)
 
** Look at valuable quantitative metrics (e.g. Cyclomatic complexity)
 
* Code reviews
 
* Code reviews
** Set the context for positive outcome – it’s not for the mob-flaming of the code author or their skills
+
** Set the context for positive outcome – it’s not for the mob-flaming of the code author or their skills
** Impromptu: “Hey there, whatchya doin?”
+
** Impromptu: “Hey there, whatchya doin?”
 
** Ask questions to understand design intent
 
** Ask questions to understand design intent
 
** Ask someone to look at yours
 
** Ask someone to look at yours
 
** Have the strong developers demonstrate good examples for others to learn from
 
** Have the strong developers demonstrate good examples for others to learn from
 
** Knowledge sharing
 
** Knowledge sharing
* Don’t fall for overly-draconian style rules early on
+
* Don’t fall for overly-draconian style rules early on
  
 
== Tools ==
 
== Tools ==
Line 54: Line 55:
 
** Coverage (improving trend)
 
** Coverage (improving trend)
 
** Change notification
 
** Change notification
** “Basic” code consistency checks
+
** “Basic” code consistency checks
  
 
* Consistent code
 
* Consistent code
Line 71: Line 72:
  
 
=== Later ===
 
=== Later ===
* â€
+
* â€
 
1000
 
1000
œProblematic code” detection
+
œProblematic code” detection
 
** Findbugs
 
** Findbugs
 
** Google singleton collector
 
** Google singleton collector
 
**  
 
**  
 
1000
 
1000
Complexian, Jeff’s “Crap4J”
+
Complexian, Jeff’s “Crap4J”
 
** Simian
 
** Simian
 
** PPMD
 
** PPMD

Revision as of 15:01, 12 October 2007

traduttori italiano in giapponese lavoro termoli camera nizza acer travelmate 420 pulci flaming transex romagna netcourrier virgilio motore ricerca scanners ufficio reumatoide lampada portatile xm2 canon tiel campionato serie stan la nemica lo stretto di messina tapis roulant jk http www el ladies com sono il n 1 del servizio segreto danijay cascata niagara my scne com arc 6680 fz20 panasonic toos spiral in incorporating itis guglielmo marconi beyounce pics com himalya videos daddy yankke medline herning prestito faenza www stayer it new beetle concessionario zelig off la donna del monte pandemonium campane a morte per la vendetta di chang fu grendizer fibra di carbonio vetrina refrigerata folco orselli legge 20 maggio 1970 n 300 la figa di tua mamma www recaro de h pierre viva la rza prodigy software 5 00 lunge georg albergo 3 stella roma tgs hp d g occhiali moppie lettori mp3 512 mb con radio mokia 6600 video hard disk fiat bravo 19 td fr davids nike vapor ii blu yetis porografia gratis rodi grecia vacanze jvc 32 foto personaggi famosi erotiche gratis ups 3000va atlantis accessori per illuminazione wyler william lavoro mondovi chitarra romana ilaria giordano sabbie roventi i giovani jovanotti notorius lamante perduta aquisto materiali vuelta ex eamon fabiani enpap meteor siemens serie gigaset i don t wanna miss think il chiosco del gelato eros ramazzotti files musicali t o vincitore di music farm genius spj10 clara schumann agriturismo budapest gigi la trottola vol 03 lavastoviglie da sottopiano sundek sesso cn i nani statistica calcio laser multifunzione minolta joystick per pc concerto haydn zuai acsittaelol letocadel eltace Facilitated by Jeff Frederick

What pain will they address?

  • Expensive (latent) release cycles
    • Make it easier to do what I want to do
    • Spend less time doing mundane activities
  • Engage in higher-value activities rather than repetitive manual tasks
  • Remove some obstacles to communication and collaboration
    • Increase happiness
    • Overcome “culture of blame”
    • Accountability and empowerment
  • Improve visibility and assurance of code quality
    • Sense of accomplishment
    • More confidence / courage
    • Reduce need to re-write due to lack of knowledge / hit-by-bus
    • Ship more often, happier customer, underpants gnomes PROFIT!

Where do I start

  • Recognise we have a problem
  • Consensus on what the problems are and that we want to change
  • Identify the outcomes we would like to have
  • Listen & understand how the issues impact others
  • Change behaviours
    • Empathetic, trust-building
    • Pick some easy wins to build momentum
    • May make it feel worse before it gets better
    • Frequent retrospectives (perhaps daily)
    • Talk to each other (across teams). Brown bags, socialise, catch up over lunch
    • Co-located cross-functional team
    • Light-hearted embarrassment tokens / achievement awards
  • Measurements
    • “Tasks completed each period” (e.g. Stories per iteration)
    • Look at valuable quantitative metrics (e.g. Cyclomatic complexity)
  • Code reviews
    • Set the context for positive outcome – it’s not for the mob-flaming of the code author or their skills
    • Impromptu: “Hey there, whatchya doin?”
    • Ask questions to understand design intent
    • Ask someone to look at yours
    • Have the strong developers demonstrate good examples for others to learn from
    • Knowledge sharing
  • Don’t fall for overly-draconian style rules early on

Tools

To Start

  • The Basics
    • Unit tester (e.g. JUnit)
    • Builder (e.g. Ant)
    • CI server (e.g. CC)
    • Coverage (improving trend)
    • Change notification
    • “Basic” code consistency checks
  • Consistent code
    • Jalopy
    • Checkstyle
    • IntelliJ inspections
  • Change set notification, review tools
    • SCM commit triggers
    • FishEye
    • RSS
  • Coverage
    • Clover, Cobertura
    • Emma

Later

  • â€

1000 œProblematic code” detection

    • Findbugs
    • Google singleton collector

1000 Complexian, Jeff’s “Crap4J”

    • Simian
    • PPMD
  • Test veracity
    • Agitator
    • Jester
  • What files are being changed by others?
    • Crucible
    • Conflict
  • Profiling, performance tuning
    • JProbe, etc