SCMWise.com

Build Automation


Definition

Build Automation is the key to implementing a successful Agile development methodology.

In its basic form, the "Build" is the conversion of source code into binaries.

However, there is much more to building software than just compiling code.

Builds Include

  • Creating a Clean Build Location
  • Getting Source Code
  • Labeling the Source Code
  • Running Pre-Build Tasks
  • Compiling the Code
  • Linking Libraries
  • Automating the Deployment
  • Running Automated Tests



Build Automation Benefits

  • Improved Software Quality
  • Reduce Compile and Linking Time
  • Eliminate Redundant Tasks
  • Minimize Broken Builds
  • Reduce Key Personnel Dependencies
  • Improved Tracability through Logging


Downstream Benefits

  • Provides Insight into your Code
  • Provides an Audit of your Development Teams
  • Gives "Big Picture" of how everything fits together
  • Better Prepares Teams to Implement Agile


Agile Development

Agile Software attempts to minimize risk by developing software in short iterations.

This development methodology is about adaptability. Because of the chaotic nature of software development, it may be impossible to control or to predict.

  • Requires Smarter Build Management
  • Reduces the Reliance on only a couple of Key persons the Build
  • Provides Blueprint of the Build


Benefits of Agile Development

How Continuous Integration enables organizations to successfully implement Agile Development

  • Speed
  • Consistency
  • Accuracy
  • Reduced redundancies
  • Self-Documentating Process

How to Speed up your Builds through Build Automation

How Continuous Integration enables organizations to successfully implement Agile Development

  • Implement Build Avoidance
  • Manage Build Dependencies
  • Leverage Parallel Builds
  • Building on Check in
  • Automatically Syncing IDE and Build Environments


Document the Build Options

  • Publishing the Build options so everyone understands them
  • Reduces the Reliance on only a couple of Key persons the Build
  • Provides Blueprint of the Build


Self-Documenting Build

  • Produce Detailed Reports about Build
  • Captures all the Labeling, Compiling and Post-Build Logs
  • Reduce the Guess Work from the Build


Software Build Table of Contents

Software Build Build automation is the process of combining all the steps necessary to compile the source code into build artifacts into a one step process. This can include many different types of tasks depending on the technologies involved.

Agile Continuous Integration Agile Continuous Integration naturally supports the Agile Development process of small and frequent releases. Continuous Integration, CI, is the process of building your application on every new source code check-in. Although, considered a relatively new idea, the concept behind CI has been around for as long as development teams have been writing code.

Automated Builds Automated Build Process - Automating your software build process is a fundamental step in maturing your software development process. The only way to accurately predict build results, ensure build reproducibility and guarantee minimal development down time due to build issues is to fully automate the build process.

Build Automation Build Automation is the key to implementing a successful Agile development methodology. In its basic form The Build is the conversion of source code into binaries. However, there is much more to building software than just compiling code.

Continuous Integration Continuous Integration, CI, is the process of building your application on every new source code check in. Although, considered a relatively new idea, the concept behind CI has been around for as long as development teams have been writing code. CI is an integral part of Software Configuration Management, SCM.

CruiseControl CruiseControl is an open source tool setup specifically to perform continuous integration software builds. This page is high level overview of CC and its functionality and benefits. Software build tools like CC are an integral part of your Software Configuration Management System.

CruiseControl.Net CruiseControl.Net is an open source tool that facilitates the integration of software builds. This page is an overview of the CC.Net Tool and Process.

Maven Maven is a tool that can now be used for building and managing any Java-based project.

Software Build Best Practices Software Build Best Practices are the procedures and processes that ensure software build integrity, repeatability and reproducibility. Best Practices are practices and techniques that are the most effective way of ensuring repeatability of a process. Build Best Practices are an integral part of Software Configuration Management, SCM.



Salary Surveys

This is a collection of Salary Surveys from Professions closely surrounding Software Configuration Management


SCM Salaries

Add Your SCM Salary


Configuration Management Salaries

Add Your CM Salary


Project Manager Salaries

Add Your PM Salary


Webmaster Salaries

Add Your Web Salary




SCMWise Preferred Partner

SBI! 2.0


SCMWise Recommends

Site Build It!


XML RSS
What is this?
Add to My Yahoo!
Add to My MSN
Add to Google


© Copyright 2007 - 2010
Powered by Site Build It!
Page copy protected against web site content infringement by Copyscape SCMWise.com's Privacy Policy
ADD TO YOUR SOCIAL BOOKMARKS: add to BlinkBlink add to Del.icio.usDel.icio.us add to DiggDigg
add to FurlFurl add to GoogleGoogle add to SimpySimpy add to SpurlSpurl Bookmark at TechnoratiTechnorati add to YahooY! MyWeb