|
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:
-
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.
-
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.
-
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.
-
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.
-
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:
http://www.pragmaticsw.com/UsersGuide_TC.pdf
-
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.
|