Agile software testing can mean a wide variety of very different things. We have been using various forms of agile software testing since 2003 and have seen numerous ways to succeed and fail. The key for agile software testing at TESTCo is to understand and work from Why, How and What.
We find that clearly understanding Why, How and What (in that order) allows us to quickly and effectively deliver the agile software testing services that our agile software development clients expect. But, as with all good things, there are some caveats worth considering because a mismatch between agile software development and agile software testing can cause big problems.
Where Does Agile Software Testing Fail?
When there is a mismatch in you agile software testing process, you will see several early warning signs.
- The very first sign you will see is confusion in your team regarding priorities. All software development and testing teams have much more to accomplish than can ever be completed. Lack of crystal clear priorities will cause confusion and uncertainty.
- When confusion is present on your software development and testing team, you will quickly see workflow jams – there will be activity but production and deployment of features and fixes will slow down. When workflows jam and software production slows, the packages of features and fixes your company needs to gain market share and protect customer satisfaction will drag to a halt.
- Continuous improvement slows and then disappears. The measurements and statistics you us to help your agile software testing and development team improve slowly become less meaningful.
There are more early warning signs but we have found that these three issues almost always appear first when agile software testing and not properly matched with agile software development.
How Agile Software Testing Failure Can Be Avoided
At TESTCo, we have found that there are three key elements to being successful with agile software testing.
- Be adaptable! Agile means being adaptable – willing and able to change quickly and effectively. We’ve developed a simple process to insure that we are always adaptable to our clients changing needs and circumstances.
- Prioritize and plan rigorously. We have found, time and again, that a well engineered approach to software testing always trumps “just test it”. We only hire Test Engineers and then train them carefully in our prioritization and planning tools. Not only do we plan for sprints and milestones, we actually plan and adjust on a daily basis to make sure TESTCo Test Engineers are always directly aligned with your changing priorities and circumstance.
- Get close to the developer. We have found that the closer a Test Engineer works with a Developer, the higher the quality of the code and the faster it is completed. Agile software testing promotes close coordination but most teams fail to coordinate closely enough. Our experience shows that a Test Engineer closely coupled and aligned with 1-3 software developers provides a much higher level of initial quality than any other approach.
While these appear to be simple, common sense solutions, we have found that they are also easy to skip over in the normal hustle and bustle of the real world. How can you make sure these ideas are present every day in your agile software testing and development team?