crumbs
BUILD AUTOMATION

Build Automation is the process of scripting and automating the retrieval of software code from a repository, compiling it into a binary artifact, executing automated functional tests, and publishing it into a shared and centralized repository.

build automation-1
  • Define and execute a consistent and repeatable process.
  • Amplify feedback and improve team communication.
  • Improve overall release deployment quality.
  • Accelerate the implementation of desired business features/functionalities.

Models

In this diagram, given the items on the left, implementing Build Automation will result in the items on the right. 

A typical automated build process is shown in the diagram below. This will vary slightly based upon team structure and organization focus.

 

build automation

process-1

Key Metrics

Number-of-Features

Number of Features / User Stories per Build

indicates the number of changes being implemented and maps to business value being created.

Build-time

Average Build Time

indicates the average time to perform a build.

Percentage

Percentage of Failed Builds

impacts the overall team output due to rework.

Lead-Time

Change Implementation Lead Time

affects the number of releases per a given period and overall product roadmap planning.

Frequency

Frequency of Builds

indicates the overall output and activity of the project.

Red Flag Areas

  • Lack of Source Code Tool Expertise

    is a barrier to frequent code commits. This often leads to complicated integration issues and inhibits overall team visibility of the code base.

  • Complicated Source Code Branching

    leads to duplicate changes and complex merges.

  • Infrequent Check-ins of Code

    leads to complex change merges and delayed integrations.

  • Broken Builds

    diverts focus of development teams away from new feature creation.

  • Minimal Feedback

    negatively affects overall quality due to “lack of eyeballs.”

  • Excessive Notifications

    result in team members ignoring important alerts.

  • Bloated Builds

    prevent rapid feedback and creates potential bottlenecks.

  • Infrequent Builds

    delay feedback and identification of potential integration issues.

Key Roles


Developer

Responsible for taking business requirement and implementing in software code


Build Engineer

Responsible for defining the release pipelines and maintaining the build infrastructure


Requirements Analyst 

Responsible for defining
the user story to include the definition of acceptance criteria

Service Engagements

AEM's assessment-derived solutions are tailored to your needs. We work with you to define the right offerings required to build a solid foundation based on DevOps principles. The time and scope will vary based on your needs, but representative offerings based on previous client engagements are shown below.

Expert Consulting

Mentoring and Implementation and Consulting Services

Work collaboratively with AEM experts to mentor and provide expert consulting for automating your software build and packaging processes.

Accelerators

Continuous Integration Implementation Pilot

In this hands-on guided lab, participants will implement an automated software build process that includes static code analysis.

Build Artifact Repository Implementation Pilot

Participants will expand on the automated build process to learn how to leverage central repositories for package and dependency management.

Workshops

Software Assembly Best Practices

Learn best practices for building and packaging software components. Topics include dependency management, build manifests, and source code management.

Code Analysis Strategies & Tools

Learn about static code analysis techniques and common tools to use for improving software quality.

99-precent

Why AEM?

Delivering business applications with confidence

Current work includes powering the collection of millions of data points from hundreds of stakeholders; enabling oversight for $1 billion+ in grants; and managing a global housing system that supports more than a million end users.

Our DevOps approaches enable a 99% success rate during production release and 99%+ availability of all servers.