Check in dance

Post on 05-Dec-2014

2.321 views 1 download

description

Introduction to Continuous Integration. Combining with Acceptance Test Driven Development, Test Driven Development, Showing how a developer in agile team does the work.

Transcript of Check in dance

Daniel Teng, Certified Scrum CoachTech talk at Think in Lamp GatheringJune 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_Integration#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

Pair

programming

Continuous

integration

Acceptance Test

Unit test

Defining “done” for a user story.

User Story Selected For

Iteration

StoryTest developed by

Business Owners and

Development/QA

StoryTest Initially

Fails

Domain Model / User

Story Elaborated For

Feature

Story

Implemented

Using TDD

Unit Tests

Initially Fail

Refactor Until

Unit Tests

PassStory

Accepted

when Story

Test passes

Development

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