However, it‘s actually quite the contrary. Well-defined processes actually enable the core modern needs. Even small companies can realize significant return on investment by defining, documenting, and implementing consistent processes. In fact, such processes are required for agility because they force you to really think about how things get done…they bring to light the hidden bottlenecks and the endless loops of everyone waiting for everyone else.
How do you know that you suffer from lack of process? Easy. You get
inconsistent results on inconsistent timelines. You never know what you’re
getting until it’s in your lap and you have to figure out what it is. You
somehow have a product that is vastly different from your agreed plans. In the
worst cases, you are an executive and you are constantly solving individual
problems rather than moving the company in a new direction.
Software
testing is no different. Despite the myriad tools available on the market, not
one of them will work unless you have a clearly-defined, documented process for
incorporating them into everyday routines. I can no longer count how many
developers have lamented that they have all the tools they need but no training.
Even when tests are automated, the tests themselves are of little value to the
business for purposes of making the most important decision: Can I safely
release?
So, yes, you absolutely need to test and to automate. You need
to run static analysis, you need to create and run unit tests and monitor
coverage, you need to perform functional and acceptance testing. All of that.
But, you also need to have a plan for what to do with all of this information.
Know what it means to you, and teach your employees how to align their daily
tasks and priorities with those of the business. If you don’t make your
expectations clear in the form of a process, then you become a bottleneck in the
(undocumented) decision-making process, and you will ultimately suffer the
consequences.