Daniel Teng, Certified Scrum Coach
Tech talk at Think in Lamp Gathering
June 6, 2010
   Continuous Integration
   Check In Dance
   ATDD & TDD
   Live Demo
   The Challenges
   CI in One Page
   Why It Helps
   Visualize the Status
   CI Tools
   Basic Guidelines
   Integration of components
   Application configuration
   Deployment
   Testing
   Monitoring
   Logging
   Safe Net
   Communication
   Feedback
   History
   Website
   Email
   Desktop notification
   Build monitor
   Traffic light
   Rabbit
   Sound
   Hudson
   CruiseControl, CruiseControl.Net,
    CruiseControl.rb
   TeamCity
   Team Foundation Server
   More on
    http://en.wikipedia.org/wiki/Continuous_Integ
    ration#Software
   Check in as often as you can
   Avoid stale code
   Don't ever check into or out of a busted build
   Communicate and negotiate check in's to the
    rest of the team
   If you're working on fixing the build, let the
    rest of the team know
   DON'T LEAVE THE BUILD BROKEN
    OVERNIGHT
   Check in Dance
   Go
   Get the latest code from source control.
   Do a merge on any conflicts.
   Run the build locally and fix any problems
   Peer Review
   Let the rest of the team know a change is
    coming if it's a significant update.
   Commit the changes to source control.
   Stop coding until the build passes.
   If the build breaks, drop everything else and
    fix the build.
   The Agile Cycles
   TDD Cycles
Sprint demo

Acceptance Test

  Continuous
  integration

    Unit test


      Pair
  programming
User Story Selected For           Development
Iteration
                                   Story
                                   Implemented
Domain Model / User
                                   Using TDD
Story Elaborated For
Feature
                                   Unit Tests
StoryTest developed by             Initially Fail
Business Owners and
Development/QA
                                   Refactor Until
                                   Unit Tests           Story
   StoryTest Initially             Pass                 Accepted
   Fails                                                when Story
                                                        Test passes


                    Defining “done” for a user story.
   Problem -> String Calculator
   Tools
      Fitness & Slim, FitSharp (revised)
      TeamCity
      C# 3.5
      VS.Net 2008 + ReSharper 4.5
      SubVersion
      NAnt + MSBuild
      NUnit
      NCover + NCoverExplorer
      NDepend
Email: tengzhenyu@gmail.com                  Blog: http://www.cnblogs.com/tengzy/
LinkedIn: http://www.linkedin.com/in/dteng   Twitter: http://twitter.com/danielteng

Check in dance

  • 1.
    Daniel Teng, CertifiedScrum Coach Tech talk at Think in Lamp Gathering June 6, 2010
  • 3.
    Continuous Integration  Check In Dance  ATDD & TDD  Live Demo
  • 4.
    The Challenges  CI in One Page  Why It Helps  Visualize the Status  CI Tools  Basic Guidelines
  • 5.
    Integration of components  Application configuration  Deployment  Testing  Monitoring  Logging
  • 7.
    Safe Net  Communication  Feedback  History
  • 8.
    Website  Email  Desktop notification  Build monitor  Traffic light  Rabbit  Sound
  • 12.
    Hudson  CruiseControl, CruiseControl.Net, CruiseControl.rb  TeamCity  Team Foundation Server  More on http://en.wikipedia.org/wiki/Continuous_Integ ration#Software
  • 13.
    Check in as often as you can  Avoid stale code  Don't ever check into or out of a busted build  Communicate and negotiate check in's to the rest of the team  If you're working on fixing the build, let the rest of the team know  DON'T LEAVE THE BUILD BROKEN OVERNIGHT
  • 14.
    Check in Dance  Go
  • 15.
    Get the latest code from source control.  Do a merge on any conflicts.  Run the build locally and fix any problems  Peer Review  Let the rest of the team know a change is coming if it's a significant update.  Commit the changes to source control.  Stop coding until the build passes.  If the build breaks, drop everything else and fix the build.
  • 17.
    The Agile Cycles  TDD Cycles
  • 18.
    Sprint demo Acceptance Test Continuous integration Unit test Pair programming
  • 19.
    User Story SelectedFor Development Iteration Story Implemented Domain Model / User Using TDD Story Elaborated For Feature Unit Tests StoryTest developed by Initially Fail Business Owners and Development/QA Refactor Until Unit Tests Story StoryTest Initially Pass Accepted Fails when Story Test passes Defining “done” for a user story.
  • 20.
    Problem -> String Calculator  Tools  Fitness & Slim, FitSharp (revised)  TeamCity  C# 3.5  VS.Net 2008 + ReSharper 4.5  SubVersion  NAnt + MSBuild  NUnit  NCover + NCoverExplorer  NDepend
  • 21.
    Email: tengzhenyu@gmail.com Blog: http://www.cnblogs.com/tengzy/ LinkedIn: http://www.linkedin.com/in/dteng Twitter: http://twitter.com/danielteng