Better productivity and collaboration via improved feedback and high-quality information.

Continuous Integration

Impact of Continuous Integration on Team Culture:

  • Encourages an Evolutionary Design and Continuous Improvement culture
  • Team takes shared ownership of their development and build process
  • The source control trunk is in an always-working-state (avoid multiple branch issues)

    • No developer is blocked because they can’t get stable code
  • Developers break down work into small end-to-end, testable slices and check-in multiple times a day

    • Developers are up-to date with other developer changes

    • Team catches issues at the source and avoids last-minute integration nightmares

    • Developers get rapid feedback once they check-in their code

      • Builds are optimized and parallelized for speed

      • Builds are incremental in nature (not big bang over-night builds)

      • Builds run all the automated tests (may be staged) to give realistic feedback

      • Build results and logs are captured and visualized very effectively

      • Various source code quality metrics trends are displayed, such as code coverage, cyclomatic complexity, coding convention violations, version control activity, bug counts, etc.

  • Influence the right behavior in the team by acting as Information Radiator in the team area

    • Provide clear visual feedback about the build status
  • Developers ask for an easy way to run and debug builds locally (or remotely)
  • Broken builds are rare. However broken builds are rapidly fixed by developers

    • Build results are intelligently archived

    • Easy navigation between various build versions

    • Easy visualization and comparison of the change sets

  • Large monolithic builds are broken into smaller, self contained builds with a clear build promotion process
  • Complete traceability exists: Version Control, Project & Requirements Managements tool, Bug Tracking and Build system are completely integrated
  • CI page becomes the project dashboard for everyone (devs, testers, managers, etc.)

Any other impact you think is worth highlighting?