As I have traversed the world of companies attempting to embrace Agile, I have quickly discovered that many do not take the needed time to have the tough conversation about Technical Debt. In a down economy, many organizations have decided to remain feature focused and driven to deliver products that only satisfy certain customer facing needs. What many fail to realize is that now more than ever should be the time we focus on testing.
One additional interesting conundrum is the fact that many groups who proclaim to understand and embrace Agile principles fail to embrace true Agile testing methods. This leads me to the question, so you think you can test? Here are a few quick tips that can assist you in embracing the testing you should be doing and help your organization take testing to the next level:
1) Engage Early and Often – Review Acceptance Criteria early in the process and start writing tests as soon as humanly possible. Establishing a test first mentality is vital to the success of the testing effort and having failed tests to set to pass eliminates the possibility of gold plating for the rest of the team.
2) Establish a Testing Standard - Set a standard for how tests, test cases, and test suites will look and feel. Make it a altruistic style guide for how any test related materials should look, feel, and flow.
3) Embrace Automation - Take advantage of technology and automate your unit and regression tests. Take the time to establish what the right threshold is based on your offering and make certain you have maximum happy path test coverage just to make 100% certain that you have accounted for how the majority of end system users will engage with the product you have built.
4) Create a Test Driven Mentality - In my world, we do not start coding anything until a valid test is in place. This should be common and normal. Do not be fooled to believe that test driven design and or development is not an option. Go with the natural instinct that I am certain each of you possess and push for this to happen.
Later today I will have the privilege to present at the Software Testing Professionals Conference in New Orleans Louisiana. I will have a chance to speak to the topic of Identifying, Managing, and Eliminating Technical Debt. My hope for each of you is that this can serve as a springboard to help you and your organization better embrace a more pure form of Agile Testing. In fact, I challenge each of you to dig a little deeper and do a little soul searching to see if you can identify one area where you may be able to improve in your testing efforts. Get rid of the technical debt and step out of the shadows and into the light. The fact is, I KNOW you can test.