Hur implementerar och använder man sig av Continuous Integration (CI), alltså möjligheten att bygga och testa sin produkt kontinuerligt, med hjälp av Team Foundation Server? Detta är en fråga som dyker upp ibland och det finns många bra svar på denna.

Denna artikel en bra början på hur man gör detta.

Jag kan inte låta bli att klippa in följande utdrag ur artikeln. Ett utdrag som talar om både fördelar och nackdelar med CI.

Advantages and Disadvantages of Continuous Integration

These are some of the advantages of continuous integration:

  • You catch build breaks early on.
  • In a distributed development environment where developers do not always communicate with one another, continuous integration is a great way to assure the developer that the build he or she is building is the latest one.
  • Continuous integration also causes less regression
  • The feedback loop is smaller.
  • A developer does not have to wait for the end of the day or week to find out how the check-in affected the build.
  • Integration testing moves up in the chain.
  • Every check-in goes through the integration testing where problems are caught early.
  • Continuous integration enforces better development processes.
  • Each developer is held accountable.
  • You always have a latest-and-greatest build to use in demos, showcases, etc.

On the other hand, there are some disadvantages:

  • Maintenance overhead often increases.
  • Some teams find that the level of discipline required for continuous integration causes bottlenecks.

    This often requires a shift in the developer mindset.

  • The immediate impact of a check-in often causes a backup because programmers cannot check in partially completed code.