Welcome to The Buildmeister
![]() | In todays ever more competitive and globalized world, software development organizations are being squeezed with ever increasing time-to-market, cost reduction and compliance pressures. To address these pressures many are changing their release cycles - delivering frequently, with smaller sets of functionality. In parallel they are striving to make their overriding development lifecycle more transparent, visible and auditable. The build process sits at the heart of this effort. To improve, organzations will need to systematically revisit the build process, to understand its value and improve their practices. The aim of this site is therefore to educate and inform on any topic related to the build process and the tools that can be used to implement it. In particular, the aim of this site is to raise the technical capability and skill level of the implementer of the build process - The Buildmeister. |
|
If you enjoy this site then you can help keep it going by purchasing a copy of The Buildmeister's Guide - Achieving Agile Software Delivery - the book of this website, which contains a collection of the best articles and information from this site together with some significant and new unpublished content. Alternately, if you are an Apache Ant or Apache Maven user then try Apache Ant - The Buildmeister's Guide (with Apache Ivy, dbdeploy and CruiseControl) or Apache Maven - The Buildmeister's Guide (Coming Soon) |
This article introduces the concepts and practices of Devops. It highlights the potential benefits and pitfalls of Devops and also compares Devops with Release Management and how these two practices can potentially work together.
A brief introduction to Agile Database Change Management practices and a detailed example of how you could use dbdeploy and Apache Ant to implement them on a Java project.
Java applications can create and consume multiple open-source and commercial libraries. Trying to manage these libraries at build and execution time can quickly lead to a condition known as "JAR hell". In this article I describe how Apache Ivy can be used to help you take back control of your dependencies.
This article describes how to implement a controlled and configurable PHP deployment process using Phing, dbdeploy and FTP.
This article discusses Agile Software Configuration Management, or Agile SCM - a well-designed, light form of SCM that can be used by software development projects practicing agile development methods.
This article describes how to implement a controlled and configurable PHP deployment process using Phing, dbdeploy and FTP.
This article describes the fundamental concepts of Software Release Management and discusses 10 best practices that can be adopted to improve your own application Release Management process.
A brief introduction to the features and capabilities of CruiseControl - an open-source Continuous Integration toolkit.
A discussion on how to use and configure Subversion and related tools to implement an integrated build process with Apache Ant.
This article illustrates how you can formalize your build and release process through the definition of a Build Management Plan. It does so by defining the procedures for the myReserve reference project.
I don't like overlapping major releases but realise that sometimes it is required. Without a strong SCM tool and task driven change approach you will struggle. If you develop on a task basis (with all code changes made against a task) then it should be easier to pull in the tasks from one release stream to another. In the early phases of a project/release it might be OK to not enforce task based changes, but as you get into release stabilisation you should enforce them.
As far as recommendations for a "mature Software Configuration Management" tool goes I have used Subversion, PVCS, ClearCase and Dimensions. Subversion and PVCS are really only version control tools with limited support for Release Management. ClearCase requires ClearQuest and BuildForge for a comprehensive solution. Dimensions CM is the only product I have used with all of the capabilities I have required.
Superb Article.. Thanks
Any recommendations for #9?

![[WelcomeMan]](/userfiles/image/home/WelcomeManS.jpg)
![[The Buildmeister's Guide]](/userfiles/image/home/bmg.jpg)

Thanks a lot for this helpful article! This is exactly what I was looking for. Pedro