SlideShare una empresa de Scribd logo
1 de 21
Descargar para leer sin conexión
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

Más contenido relacionado

La actualidad más candente

Axure Overview- 30 minutes
Axure Overview- 30 minutes Axure Overview- 30 minutes
Axure Overview- 30 minutes Shraddha Swaroop
 
frog meets tag Milan
frog meets tag Milanfrog meets tag Milan
frog meets tag MilanMatteo Penzo
 
パターン・ランゲージ入門講座(Pattern Language Innovators Summit)
パターン・ランゲージ入門講座(Pattern Language Innovators Summit)パターン・ランゲージ入門講座(Pattern Language Innovators Summit)
パターン・ランゲージ入門講座(Pattern Language Innovators Summit)Takashi Iba
 
How to build a design system
How to build a design systemHow to build a design system
How to build a design systemFaizur Rehman
 
Linux fundamentals
Linux fundamentalsLinux fundamentals
Linux fundamentalschakrikolla
 
【16-E-4】残業ゼロで開発スピードが10倍に!もう元の開発体制には戻れないデンソー流のアジャイル開発
【16-E-4】残業ゼロで開発スピードが10倍に!もう元の開発体制には戻れないデンソー流のアジャイル開発【16-E-4】残業ゼロで開発スピードが10倍に!もう元の開発体制には戻れないデンソー流のアジャイル開発
【16-E-4】残業ゼロで開発スピードが10倍に!もう元の開発体制には戻れないデンソー流のアジャイル開発Developers Summit
 
つたわるスライド
つたわるスライドつたわるスライド
つたわるスライドKazuyoshi Goto
 
Les structures narratives interactives
Les structures narratives interactivesLes structures narratives interactives
Les structures narratives interactivesBenjamin Hoguet
 
認証の課題とID連携の実装 〜ハンズオン〜
認証の課題とID連携の実装 〜ハンズオン〜認証の課題とID連携の実装 〜ハンズオン〜
認証の課題とID連携の実装 〜ハンズオン〜Masaru Kurahayashi
 
Getting Started With Sketchnoting
Getting Started With SketchnotingGetting Started With Sketchnoting
Getting Started With SketchnotingMichele Ide-Smith
 
4つの戦犯から考えるサービスづくりの失敗
4つの戦犯から考えるサービスづくりの失敗4つの戦犯から考えるサービスづくりの失敗
4つの戦犯から考えるサービスづくりの失敗toshihiro ichitani
 
Evolving your Design System: People, Product, and Process
Evolving your Design System: People, Product, and ProcessEvolving your Design System: People, Product, and Process
Evolving your Design System: People, Product, and Processuxpin
 
組織におけるアイデンティティ管理の基本的な考え方
組織におけるアイデンティティ管理の基本的な考え方組織におけるアイデンティティ管理の基本的な考え方
組織におけるアイデンティティ管理の基本的な考え方Naohiro Fujie
 
アジャイルチームの成果指標設計、進め方と注意点 -開発チームの事業貢献を見える化するには
アジャイルチームの成果指標設計、進め方と注意点 -開発チームの事業貢献を見える化するにはアジャイルチームの成果指標設計、進め方と注意点 -開発チームの事業貢献を見える化するには
アジャイルチームの成果指標設計、進め方と注意点 -開発チームの事業貢献を見える化するにはGraat(グラーツ)
 
コーディングを考慮したWebデザインガイドライン
コーディングを考慮したWebデザインガイドラインコーディングを考慮したWebデザインガイドライン
コーディングを考慮したWebデザインガイドラインHiroyuki Makishita
 
Monitoring Java Applications with Prometheus and Grafana
Monitoring Java Applications with Prometheus and GrafanaMonitoring Java Applications with Prometheus and Grafana
Monitoring Java Applications with Prometheus and GrafanaJustin Reock
 
Design system presentation - How to sell it internally
Design system presentation - How to sell it internallyDesign system presentation - How to sell it internally
Design system presentation - How to sell it internallyEugene Kardash
 

La actualidad más candente (20)

Axure Overview- 30 minutes
Axure Overview- 30 minutes Axure Overview- 30 minutes
Axure Overview- 30 minutes
 
Design System 101
Design System 101Design System 101
Design System 101
 
frog meets tag Milan
frog meets tag Milanfrog meets tag Milan
frog meets tag Milan
 
パターン・ランゲージ入門講座(Pattern Language Innovators Summit)
パターン・ランゲージ入門講座(Pattern Language Innovators Summit)パターン・ランゲージ入門講座(Pattern Language Innovators Summit)
パターン・ランゲージ入門講座(Pattern Language Innovators Summit)
 
How to build a design system
How to build a design systemHow to build a design system
How to build a design system
 
Linux fundamentals
Linux fundamentalsLinux fundamentals
Linux fundamentals
 
【16-E-4】残業ゼロで開発スピードが10倍に!もう元の開発体制には戻れないデンソー流のアジャイル開発
【16-E-4】残業ゼロで開発スピードが10倍に!もう元の開発体制には戻れないデンソー流のアジャイル開発【16-E-4】残業ゼロで開発スピードが10倍に!もう元の開発体制には戻れないデンソー流のアジャイル開発
【16-E-4】残業ゼロで開発スピードが10倍に!もう元の開発体制には戻れないデンソー流のアジャイル開発
 
つたわるスライド
つたわるスライドつたわるスライド
つたわるスライド
 
Les structures narratives interactives
Les structures narratives interactivesLes structures narratives interactives
Les structures narratives interactives
 
認証の課題とID連携の実装 〜ハンズオン〜
認証の課題とID連携の実装 〜ハンズオン〜認証の課題とID連携の実装 〜ハンズオン〜
認証の課題とID連携の実装 〜ハンズオン〜
 
Getting Started With Sketchnoting
Getting Started With SketchnotingGetting Started With Sketchnoting
Getting Started With Sketchnoting
 
Design System
Design SystemDesign System
Design System
 
4つの戦犯から考えるサービスづくりの失敗
4つの戦犯から考えるサービスづくりの失敗4つの戦犯から考えるサービスづくりの失敗
4つの戦犯から考えるサービスづくりの失敗
 
Design System.pdf
Design System.pdfDesign System.pdf
Design System.pdf
 
Evolving your Design System: People, Product, and Process
Evolving your Design System: People, Product, and ProcessEvolving your Design System: People, Product, and Process
Evolving your Design System: People, Product, and Process
 
組織におけるアイデンティティ管理の基本的な考え方
組織におけるアイデンティティ管理の基本的な考え方組織におけるアイデンティティ管理の基本的な考え方
組織におけるアイデンティティ管理の基本的な考え方
 
アジャイルチームの成果指標設計、進め方と注意点 -開発チームの事業貢献を見える化するには
アジャイルチームの成果指標設計、進め方と注意点 -開発チームの事業貢献を見える化するにはアジャイルチームの成果指標設計、進め方と注意点 -開発チームの事業貢献を見える化するには
アジャイルチームの成果指標設計、進め方と注意点 -開発チームの事業貢献を見える化するには
 
コーディングを考慮したWebデザインガイドライン
コーディングを考慮したWebデザインガイドラインコーディングを考慮したWebデザインガイドライン
コーディングを考慮したWebデザインガイドライン
 
Monitoring Java Applications with Prometheus and Grafana
Monitoring Java Applications with Prometheus and GrafanaMonitoring Java Applications with Prometheus and Grafana
Monitoring Java Applications with Prometheus and Grafana
 
Design system presentation - How to sell it internally
Design system presentation - How to sell it internallyDesign system presentation - How to sell it internally
Design system presentation - How to sell it internally
 

Destacado

Voorbeelden voor Zeeland: Mediaregeling Limburg & e52
Voorbeelden voor Zeeland: Mediaregeling Limburg & e52Voorbeelden voor Zeeland: Mediaregeling Limburg & e52
Voorbeelden voor Zeeland: Mediaregeling Limburg & e52Bart Brouwers
 
Social Media For Small Business 5 10 11
Social Media For Small Business   5 10 11Social Media For Small Business   5 10 11
Social Media For Small Business 5 10 11mythicgroup
 
Pmr Bm Kertas 1 Set 3
Pmr Bm Kertas 1 Set 3Pmr Bm Kertas 1 Set 3
Pmr Bm Kertas 1 Set 3Kay Aniza
 
Historic Springfield Ppt
Historic Springfield PptHistoric Springfield Ppt
Historic Springfield Pptcrissiecudd
 
Payroll And Personal Services
Payroll And Personal ServicesPayroll And Personal Services
Payroll And Personal ServicesAnthony Rainey
 
Mediamachten en e52, voor #smc040
Mediamachten en e52, voor #smc040 Mediamachten en e52, voor #smc040
Mediamachten en e52, voor #smc040 Bart Brouwers
 
Looking At Christmas Back In Time
Looking At Christmas Back In TimeLooking At Christmas Back In Time
Looking At Christmas Back In TimeJeanette Murphy
 
11 Pipers Piping
11 Pipers Piping11 Pipers Piping
11 Pipers Pipinggenequezada
 
Brochure In2intelligence
Brochure In2intelligenceBrochure In2intelligence
Brochure In2intelligenceremconicolai
 
Company profile royal bricks infraheights
Company profile   royal bricks infraheightsCompany profile   royal bricks infraheights
Company profile royal bricks infraheightsAmit Vats
 
Has Anyone Asked a Customer?
Has Anyone Asked a Customer?Has Anyone Asked a Customer?
Has Anyone Asked a Customer?Dan Armstrong
 
FINISTERRE
FINISTERREFINISTERRE
FINISTERRENCS
 
PeaK Ict Wiki Space Histry Jan Oct 2009
PeaK Ict Wiki Space Histry Jan Oct 2009PeaK Ict Wiki Space Histry Jan Oct 2009
PeaK Ict Wiki Space Histry Jan Oct 2009Jeanette Murphy
 
Ceramic teapots -PMI Loyalty Program for Red Rose Te and Dare Biscuit
Ceramic teapots -PMI Loyalty Program for Red Rose Te and Dare BiscuitCeramic teapots -PMI Loyalty Program for Red Rose Te and Dare Biscuit
Ceramic teapots -PMI Loyalty Program for Red Rose Te and Dare BiscuitPMI Inc
 
Capturing Evidential Data –
Capturing Evidential Data –Capturing Evidential Data –
Capturing Evidential Data –Jeanette Murphy
 

Destacado (20)

Hyperactivation
HyperactivationHyperactivation
Hyperactivation
 
Voorbeelden voor Zeeland: Mediaregeling Limburg & e52
Voorbeelden voor Zeeland: Mediaregeling Limburg & e52Voorbeelden voor Zeeland: Mediaregeling Limburg & e52
Voorbeelden voor Zeeland: Mediaregeling Limburg & e52
 
Social Media For Small Business 5 10 11
Social Media For Small Business   5 10 11Social Media For Small Business   5 10 11
Social Media For Small Business 5 10 11
 
Pmr Bm Kertas 1 Set 3
Pmr Bm Kertas 1 Set 3Pmr Bm Kertas 1 Set 3
Pmr Bm Kertas 1 Set 3
 
Historic Springfield Ppt
Historic Springfield PptHistoric Springfield Ppt
Historic Springfield Ppt
 
Payroll And Personal Services
Payroll And Personal ServicesPayroll And Personal Services
Payroll And Personal Services
 
Mediamachten en e52, voor #smc040
Mediamachten en e52, voor #smc040 Mediamachten en e52, voor #smc040
Mediamachten en e52, voor #smc040
 
Looking At Christmas Back In Time
Looking At Christmas Back In TimeLooking At Christmas Back In Time
Looking At Christmas Back In Time
 
11 Pipers Piping
11 Pipers Piping11 Pipers Piping
11 Pipers Piping
 
Circuito
CircuitoCircuito
Circuito
 
Brochure In2intelligence
Brochure In2intelligenceBrochure In2intelligence
Brochure In2intelligence
 
Company profile royal bricks infraheights
Company profile   royal bricks infraheightsCompany profile   royal bricks infraheights
Company profile royal bricks infraheights
 
Has Anyone Asked a Customer?
Has Anyone Asked a Customer?Has Anyone Asked a Customer?
Has Anyone Asked a Customer?
 
FINISTERRE
FINISTERREFINISTERRE
FINISTERRE
 
PeaK Ict Wiki Space Histry Jan Oct 2009
PeaK Ict Wiki Space Histry Jan Oct 2009PeaK Ict Wiki Space Histry Jan Oct 2009
PeaK Ict Wiki Space Histry Jan Oct 2009
 
T2, Week 6, 2010
T2, Week 6, 2010T2, Week 6, 2010
T2, Week 6, 2010
 
Roger
RogerRoger
Roger
 
Ceramic teapots -PMI Loyalty Program for Red Rose Te and Dare Biscuit
Ceramic teapots -PMI Loyalty Program for Red Rose Te and Dare BiscuitCeramic teapots -PMI Loyalty Program for Red Rose Te and Dare Biscuit
Ceramic teapots -PMI Loyalty Program for Red Rose Te and Dare Biscuit
 
Capturing Evidential Data –
Capturing Evidential Data –Capturing Evidential Data –
Capturing Evidential Data –
 
RUN FOR HOPE
RUN FOR HOPERUN FOR HOPE
RUN FOR HOPE
 

Similar a Check in dance

Agile Software Development in Practice - A Developer Perspective
Agile Software Development in Practice - A Developer PerspectiveAgile Software Development in Practice - A Developer Perspective
Agile Software Development in Practice - A Developer PerspectiveWee Witthawaskul
 
Continuous delivery slideshare upload 101914
Continuous delivery   slideshare upload 101914Continuous delivery   slideshare upload 101914
Continuous delivery slideshare upload 101914Vijay Reddy
 
PyCon 9: Continuous Delivery starts at your Development Dnvironment
PyCon 9: Continuous Delivery starts at your Development DnvironmentPyCon 9: Continuous Delivery starts at your Development Dnvironment
PyCon 9: Continuous Delivery starts at your Development DnvironmentPeter Bittner
 
Continuous Delivery for Python Developers – PyCon Otto
Continuous Delivery for Python Developers – PyCon OttoContinuous Delivery for Python Developers – PyCon Otto
Continuous Delivery for Python Developers – PyCon OttoPeter Bittner
 
Test driven development_continuous_integration
Test driven development_continuous_integrationTest driven development_continuous_integration
Test driven development_continuous_integrationhaochenglee
 
Ci tips and_tricks_linards_liepins
Ci tips and_tricks_linards_liepinsCi tips and_tricks_linards_liepins
Ci tips and_tricks_linards_liepinsLinards Liep
 
Agile Software Development Process Practice in Thai Culture
Agile Software Development Process Practice in Thai CultureAgile Software Development Process Practice in Thai Culture
Agile Software Development Process Practice in Thai CultureWee Witthawaskul
 
Tech talks #1- Unit testing and TDD
Tech talks #1- Unit testing and TDDTech talks #1- Unit testing and TDD
Tech talks #1- Unit testing and TDDDUONG Trong Tan
 
TDD with BizTalk
TDD with BizTalkTDD with BizTalk
TDD with BizTalkBen Carey
 
Adrian marinica continuous integration in the visual studio world
Adrian marinica   continuous integration in the visual studio worldAdrian marinica   continuous integration in the visual studio world
Adrian marinica continuous integration in the visual studio worldCodecamp Romania
 
xUnit and TDD: Why and How in Enterprise Software, August 2012
xUnit and TDD: Why and How in Enterprise Software, August 2012xUnit and TDD: Why and How in Enterprise Software, August 2012
xUnit and TDD: Why and How in Enterprise Software, August 2012Justin Gordon
 
Continuous Everything
Continuous EverythingContinuous Everything
Continuous EverythingAndrea Tino
 
Beyond Scrum: Scaling Agile with Continuous Delivery and Subversion
Beyond Scrum: Scaling Agile with Continuous Delivery and SubversionBeyond Scrum: Scaling Agile with Continuous Delivery and Subversion
Beyond Scrum: Scaling Agile with Continuous Delivery and SubversionProduct Marketing Services
 
TDD in functional testing with WebDriver
TDD in functional testing with WebDriverTDD in functional testing with WebDriver
TDD in functional testing with WebDriverMikalai Alimenkou
 
Testing apps with MTM and Tea Foundation Service
Testing apps with MTM and Tea Foundation ServiceTesting apps with MTM and Tea Foundation Service
Testing apps with MTM and Tea Foundation ServiceKevin DeRudder
 
#SPSToronto How to do #DevOps with #SPFx and why it matters
#SPSToronto How to do #DevOps with #SPFx and why it matters#SPSToronto How to do #DevOps with #SPFx and why it matters
#SPSToronto How to do #DevOps with #SPFx and why it mattersVincent Biret
 
STAREAST 2011 - 7 Steps To Improving Software Quality using Microsoft Test Ma...
STAREAST 2011 - 7 Steps To Improving Software Quality using Microsoft Test Ma...STAREAST 2011 - 7 Steps To Improving Software Quality using Microsoft Test Ma...
STAREAST 2011 - 7 Steps To Improving Software Quality using Microsoft Test Ma...Anna Russo
 
Essential practices and thinking tools for Agile Adoption
Essential practices and thinking tools for Agile AdoptionEssential practices and thinking tools for Agile Adoption
Essential practices and thinking tools for Agile AdoptionSteven Mak
 

Similar a Check in dance (20)

Agile Software Development in Practice - A Developer Perspective
Agile Software Development in Practice - A Developer PerspectiveAgile Software Development in Practice - A Developer Perspective
Agile Software Development in Practice - A Developer Perspective
 
TDD - Agile
TDD - Agile TDD - Agile
TDD - Agile
 
Continuous delivery slideshare upload 101914
Continuous delivery   slideshare upload 101914Continuous delivery   slideshare upload 101914
Continuous delivery slideshare upload 101914
 
PyCon 9: Continuous Delivery starts at your Development Dnvironment
PyCon 9: Continuous Delivery starts at your Development DnvironmentPyCon 9: Continuous Delivery starts at your Development Dnvironment
PyCon 9: Continuous Delivery starts at your Development Dnvironment
 
Continuous Delivery for Python Developers – PyCon Otto
Continuous Delivery for Python Developers – PyCon OttoContinuous Delivery for Python Developers – PyCon Otto
Continuous Delivery for Python Developers – PyCon Otto
 
Test driven development_continuous_integration
Test driven development_continuous_integrationTest driven development_continuous_integration
Test driven development_continuous_integration
 
Ci tips and_tricks_linards_liepins
Ci tips and_tricks_linards_liepinsCi tips and_tricks_linards_liepins
Ci tips and_tricks_linards_liepins
 
Agile Software Development Process Practice in Thai Culture
Agile Software Development Process Practice in Thai CultureAgile Software Development Process Practice in Thai Culture
Agile Software Development Process Practice in Thai Culture
 
Tech talks #1- Unit testing and TDD
Tech talks #1- Unit testing and TDDTech talks #1- Unit testing and TDD
Tech talks #1- Unit testing and TDD
 
TDD with BizTalk
TDD with BizTalkTDD with BizTalk
TDD with BizTalk
 
Adrian marinica continuous integration in the visual studio world
Adrian marinica   continuous integration in the visual studio worldAdrian marinica   continuous integration in the visual studio world
Adrian marinica continuous integration in the visual studio world
 
xUnit and TDD: Why and How in Enterprise Software, August 2012
xUnit and TDD: Why and How in Enterprise Software, August 2012xUnit and TDD: Why and How in Enterprise Software, August 2012
xUnit and TDD: Why and How in Enterprise Software, August 2012
 
Continuous Everything
Continuous EverythingContinuous Everything
Continuous Everything
 
Beyond Scrum: Scaling Agile with Continuous Delivery and Subversion
Beyond Scrum: Scaling Agile with Continuous Delivery and SubversionBeyond Scrum: Scaling Agile with Continuous Delivery and Subversion
Beyond Scrum: Scaling Agile with Continuous Delivery and Subversion
 
TDD in functional testing with WebDriver
TDD in functional testing with WebDriverTDD in functional testing with WebDriver
TDD in functional testing with WebDriver
 
Testing apps with MTM and Tea Foundation Service
Testing apps with MTM and Tea Foundation ServiceTesting apps with MTM and Tea Foundation Service
Testing apps with MTM and Tea Foundation Service
 
#SPSToronto How to do #DevOps with #SPFx and why it matters
#SPSToronto How to do #DevOps with #SPFx and why it matters#SPSToronto How to do #DevOps with #SPFx and why it matters
#SPSToronto How to do #DevOps with #SPFx and why it matters
 
Continuous Integration & the Release Maturity Model
Continuous Integration & the Release Maturity Model Continuous Integration & the Release Maturity Model
Continuous Integration & the Release Maturity Model
 
STAREAST 2011 - 7 Steps To Improving Software Quality using Microsoft Test Ma...
STAREAST 2011 - 7 Steps To Improving Software Quality using Microsoft Test Ma...STAREAST 2011 - 7 Steps To Improving Software Quality using Microsoft Test Ma...
STAREAST 2011 - 7 Steps To Improving Software Quality using Microsoft Test Ma...
 
Essential practices and thinking tools for Agile Adoption
Essential practices and thinking tools for Agile AdoptionEssential practices and thinking tools for Agile Adoption
Essential practices and thinking tools for Agile Adoption
 

Más de Daniel Teng

Pretotyping Before Prototyping @ QCon Beijing
Pretotyping Before Prototyping @ QCon BeijingPretotyping Before Prototyping @ QCon Beijing
Pretotyping Before Prototyping @ QCon BeijingDaniel Teng
 
Fearless Change RSG Japan English.pdf
Fearless Change RSG Japan English.pdfFearless Change RSG Japan English.pdf
Fearless Change RSG Japan English.pdfDaniel Teng
 
Be(yond/neath) Scrum Values
Be(yond/neath) Scrum Values Be(yond/neath) Scrum Values
Be(yond/neath) Scrum Values Daniel Teng
 
Dance in the Darkness
Dance in the DarknessDance in the Darkness
Dance in the DarknessDaniel Teng
 
How to Get There - An Ideathon Toolkit
How to Get There - An Ideathon ToolkitHow to Get There - An Ideathon Toolkit
How to Get There - An Ideathon ToolkitDaniel Teng
 
Meteor is Coming
Meteor is ComingMeteor is Coming
Meteor is ComingDaniel Teng
 
Agile Beyond Software
Agile Beyond SoftwareAgile Beyond Software
Agile Beyond SoftwareDaniel Teng
 

Más de Daniel Teng (10)

Pretotyping Before Prototyping @ QCon Beijing
Pretotyping Before Prototyping @ QCon BeijingPretotyping Before Prototyping @ QCon Beijing
Pretotyping Before Prototyping @ QCon Beijing
 
Fearless Change RSG Japan English.pdf
Fearless Change RSG Japan English.pdfFearless Change RSG Japan English.pdf
Fearless Change RSG Japan English.pdf
 
Be(yond/neath) Scrum Values
Be(yond/neath) Scrum Values Be(yond/neath) Scrum Values
Be(yond/neath) Scrum Values
 
Dance in the Darkness
Dance in the DarknessDance in the Darkness
Dance in the Darkness
 
Be the Owner
Be the OwnerBe the Owner
Be the Owner
 
How to Get There - An Ideathon Toolkit
How to Get There - An Ideathon ToolkitHow to Get There - An Ideathon Toolkit
How to Get There - An Ideathon Toolkit
 
Meteor is Coming
Meteor is ComingMeteor is Coming
Meteor is Coming
 
Tool
ToolTool
Tool
 
Agile Beyond Software
Agile Beyond SoftwareAgile Beyond Software
Agile Beyond Software
 
Road To Agility
Road To AgilityRoad To Agility
Road To Agility
 

Último

DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfPrecisely
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DayH2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DaySri Ambati
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 

Último (20)

DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DayH2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 

Check in dance

  • 1. Daniel Teng, Certified Scrum Coach Tech talk at Think in Lamp Gathering June 6, 2010
  • 2.
  • 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
  • 6.
  • 7. Safe Net  Communication  Feedback  History
  • 8. Website  Email  Desktop notification  Build monitor  Traffic light  Rabbit  Sound
  • 9.
  • 10.
  • 11.
  • 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.
  • 16.
  • 17. The Agile Cycles  TDD Cycles
  • 18. Sprint demo Acceptance Test Continuous integration Unit test Pair programming
  • 19. 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.
  • 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