Problem:
Enforcing the quality standards.
You spend
months negotiating the quality policy and test strategy for your development
department, and now it is time to implement, but nothing is happening. The
quality of your products remain the same and there is little to no measurable change
that points towards better quality.
Solution:
Identify quality rules and enforce them as part of your build process.
Assuming
that you have your quality goals in a quality policy and/or a test strategy you
will be looking for means to inject it in the development organization. Focus
on a few goals at a time, seeking fact-based follow-up on tends, and clear
goals for how to enforce that the means to reach the goals.
A word of advice – Without management commitment you will not get very far with your efforts, so a good place to start is to get management buy-in on enforcing that quality policy. Another thing to think about is that you need help from all members of your development community, meaning that you will have to bring arguments that can be understand across the organization when explaining the changes. Avoid communication like this:
A place to
start is the check in rules / committing code. Here you have a chance to
enforce a quality gate based on rules that support the goals you have. Furthermore
it is important to ensure that the state of current build is visible to all who
works on it, allowing quick response on problems. Collect metrics that allow
your monitoring on trends, and use these metrics to support the quality policy
goals.
Communicate
your goals, and how they are measured. Eg. Test coverage must be equal to or
higher than last build – Measured as line coverage delta in build report vs.
previous build. Define build break rules around these measurements, and stop
builds that violate / jeopardize quality.
Another
thing that can support the check in rules is to outline best practice. Simple
guidelines will get you far and promote a higher standard of the builds.
Formulate these guidelines, with statements like: Don’t check in on a broken
build. Always run commit test locally before committing. Do not comment out
failing tests.
Finally you
can consider to do personalized measurements from the trends gathered on
quality metrics, and have that as a driver for one’s ability to get a bonus or
raise.
Happy testing!
Happy testing!
/Nicolai
PS. Just came across this blog, promoting toolbased build monitoring:
http://www.federicosilva.net/2015/02/about-continuous-integration-and-build.html
PS. Just came across this blog, promoting toolbased build monitoring:
http://www.federicosilva.net/2015/02/about-continuous-integration-and-build.html
Besides the importance of properly enforcing quality standards, a company must also have a consistent and accurate auditing procedure, so that they could monitor and measure the changes in the company’s quality enhancement. Otherwise, it would be hard to quantify if the quality standards are beneficial or counterintuitive for the company. Thanks for sharing this with us, Nicolai. Have a great day!
ReplyDeleteKent Gregory @ ARMATURE Corporation