May 2010 - Monthly Newsletters

5 Benefits of Daily Builds

This month's newsletter describes the major benefits of doing daily builds and how it can improve your software quality. A daily build is the process of compiling your software daily so that tests can be run against it to identify any major coding issues introduced since the last build.  Daily builds have become common place with Agile development, but it is not limited to just Agile teams.  Teams practicing Waterfall development can also get enormous benefit from this approach.

5 Benefits of Daily Builds
Below are some major benefits of daily builds:

  1. Identifies Code Issues - By doing daily builds and running smoke tests against the build, you can quickly pinpoint what caused a major code issue.  For example, if your code is working fine on day 10 and on day 11 it fails, it easier to go back to your source control system to determine what source code was committed in day 11 that caused the issue.
  2. Perfects your Build Process - Teams that wait to do builds until a complete coding cycle is done (sometimes 6 months apart) have a very fragile build process that takes much tweaking to get right.  By doing builds daily, it requires that the process is solid and it becomes second nature.  This can dramatically reduce the time spent moving from development to quality assurance.
  3. Reduces Integration Issues - Larger development teams run a higher risk of things failing when modules are integrated.  This issue is compounded if builds are spaced a long time apart.  By doing daily builds, it identified integration issues earlier when fixing them is less costly.
  4. Reduces rework - By seeing progress of feature development more quickly, quality assurance teams get an opportunity to inspect the product and identify any derivations from specification quicker in the process when rework is less costly.
  5. Progress Reports - Teams get more satisfaction by seeing the product features come together progressively, which tends to lead to better team morale.  This also works for clients, as they can inspect progress along the way and gain satisfaction from seeing their requirements come to fruition.

Best Practices
If you are considering daily builds, keep these best practices in mind:

  • Create Smoke Tests - Create a set of test cases that test the basic features of the software and run those once your daily build is done to identify if anything is broken by the build.  You can start off by doing this with manual test cases but you will want to quickly move to automated tests so that you don't have to run those manually each day.   Software Planner and TestComplete work nicely together to help with this.  You can develop automated tests using TestComplete and schedule then to run daily using Software Planner and see the run results on daily trending dashboards (this identifies which tests passed and failed).  To learn more:
  • Developers should Smoke Test - Developers should create a private build on their personal machine and run a smoke test before committing the public build. This will reduce the likelihood of them causing a major build failure.
  • Implement a Wall of Shame - Developers should take the daily builds seriously and should make every effort to minimize the risk of having a build broken because of carelessness.  One fun and effective way to police this is to have an area where a developer that breaks a build gets his/her name on the "Wall of Shame" for the day and has to contribute $5.00 to the "Wall of Shame" fund.  Once the fund fills up, the team can order pizza (or go out for drinks) using the fund proceeds.

Sign Up Today
Start improving your project efficiency and success by signing up for our monthly newsletters today.

Helpful Software Testing Tools and Templates

Below are some helpful software testing resources and templates to aid you in developing software solutions:

About the Author

Steve Miller is the Vice President of ALM Solutions for AutomatedQA. With over 25 years of experience, Steve has extensive knowledge in project management, software architecture and test design. Steve publishes a monthly newsletter for companies that design and develop software. Be sure to check out our other newsletters.
Using Collaboration to Make Agile Real

Sponsored Link

FREE webinar from Smart Bear Software and IBM

Agile gurus frequently talk about software craftsmanship to emphasize the importance of skills over hacking in software development. That's a great concept -- but what specific practices can you employ to make it real? Learn how to implement three collaboration techniques and see the benefits each provides.

Date/Time: Thursday, June 24, 2010 at 1:00 p.m. EDT
Register now:


AutomatedQA Corporation
7935 E. Prentice Ave, Suite 105
Greenwood Village, CO 80111 USA
Tel:+1 303.768.7480