SlideShare une entreprise Scribd logo
1  sur  21
Télécharger pour lire hors ligne
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

Contenu connexe

En vedette

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
 
Design Patterns (MSDN Webcast)
Design Patterns (MSDN Webcast)Design Patterns (MSDN Webcast)
Design Patterns (MSDN Webcast)Giovanni Bassi
 
Pmr Bm Skema Jawapan Set 2
Pmr Bm Skema Jawapan Set 2Pmr Bm Skema Jawapan Set 2
Pmr Bm Skema Jawapan Set 2Kay Aniza
 
Stpm Pam Kertas1 Set1
Stpm Pam Kertas1 Set1Stpm Pam Kertas1 Set1
Stpm Pam Kertas1 Set1Kay Aniza
 
Yeoman
YeomanYeoman
YeomanSwiip
 

En vedette (20)

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
 
Birds
BirdsBirds
Birds
 
SearchTech Presentation
SearchTech PresentationSearchTech Presentation
SearchTech Presentation
 
Design Patterns (MSDN Webcast)
Design Patterns (MSDN Webcast)Design Patterns (MSDN Webcast)
Design Patterns (MSDN Webcast)
 
Mely's Projects
Mely's ProjectsMely's Projects
Mely's Projects
 
Pmr Bm Skema Jawapan Set 2
Pmr Bm Skema Jawapan Set 2Pmr Bm Skema Jawapan Set 2
Pmr Bm Skema Jawapan Set 2
 
Stpm Pam Kertas1 Set1
Stpm Pam Kertas1 Set1Stpm Pam Kertas1 Set1
Stpm Pam Kertas1 Set1
 
Yeoman
YeomanYeoman
Yeoman
 

Similaire à 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
 

Similaire à 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
 

Plus 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
 
ISNIPER - How To Make The Change When Change Is Hard
ISNIPER - How To Make The Change When Change Is HardISNIPER - How To Make The Change When Change Is Hard
ISNIPER - How To Make The Change When Change Is HardDaniel 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
 

Plus de Daniel Teng (12)

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
 
Adult Manifesto
Adult ManifestoAdult Manifesto
Adult Manifesto
 
Be the Owner
Be the OwnerBe the Owner
Be the Owner
 
ISNIPER - How To Make The Change When Change Is Hard
ISNIPER - How To Make The Change When Change Is HardISNIPER - How To Make The Change When Change Is Hard
ISNIPER - How To Make The Change When Change Is Hard
 
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
 

Dernier

"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
 
"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
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxLoriGlavin3
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfLoriGlavin3
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
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
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersRaghuram Pandurangan
 

Dernier (20)

"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
 
"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
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
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
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
 

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