check in dance

21
Daniel Teng, Certified Scrum Coach Tech talk at Think in Lamp Gathering June 6, 2010

Upload: daniel-teng

Post on 05-Dec-2014

2.320 views

Category:

Technology


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

Page 1: Check in dance

Daniel Teng, Certified Scrum CoachTech talk at Think in Lamp GatheringJune 6, 2010

Page 2: Check in dance
Page 3: Check in dance

Continuous Integration Check In Dance ATDD & TDD Live Demo

Page 4: Check in dance

The Challenges CI in One Page Why It Helps Visualize the Status CI Tools Basic Guidelines

Page 5: Check in dance

Integration of components Application configuration Deployment Testing Monitoring Logging

Page 6: Check in dance
Page 7: Check in dance

Safe Net Communication Feedback History

Page 8: Check in dance

Website

Email

Desktop notification

Build monitor

Traffic light

Rabbit

Sound

Page 9: Check in dance
Page 10: Check in dance
Page 11: Check in dance
Page 12: Check in dance

Hudson

CruiseControl, CruiseControl.Net, CruiseControl.rb

TeamCity

Team Foundation Server

More on http://en.wikipedia.org/wiki/Continuous_Integration#Software

Page 13: Check in dance

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

Page 14: Check in dance

Check in Dance Go

Page 15: Check in dance

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.

Page 16: Check in dance
Page 17: Check in dance

The Agile Cycles TDD Cycles

Page 18: Check in dance

Sprint demo

Pair

programming

Continuous

integration

Acceptance Test

Unit test

Page 19: Check in dance

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

Page 20: Check in dance

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

Page 21: Check in dance

Email: [email protected] Blog: http://www.cnblogs.com/tengzy/

LinkedIn: http://www.linkedin.com/in/dteng Twitter: http://twitter.com/danielteng