It’s everyone’s favorite square on buzzword bingo.
The one with the word “synergies” written on it.
But just because managers and consultants overuse a word, doesn’t mean it doesn’t have real value.
I’m talking about standardizing testing tools.
I was just talking with someone about a consulting opportunity at a large company. Their challenge is that they have a bunch of cobbled together testing systems for different teams. They need to build it all under one system. The list of skills needed is miles long:
Java, Javascript, Python, Selenium, Protractor, QUnit, JUnit, TestNG, iOS, Android, Maven, Gradle, Puppet, Chef, Docker, Vagrant, VMWare, Angular, Backbone, …
My response:
It looks like the first big challenge will be standardizing tools.
There could be a lot of easy wins by picking, for example:
* Maven or Gradle for builds
* Puppet or Chef for deployments
* JUnit or TestNG for test runner
That could be quite a challenge for teams who “like what they know” and don’t see the value of change.
But if there are projects with neglected or troublesome build/deploy/test cycles, then standardization could be the price of admission into a concierge service that builds their code, runs unit tests and static analysis, deploys it to a test environment, and runs system & integration tests. The biggest challenge I’ve seen is getting permission and resources for the test environments, and it can be like pulling teeth to find out all the dependencies & data that need to be assembled (or mocked). At the end of it, though, there’s a virtual cycle that can’t be stopped.
And when you have standard tools in place and a smooth build/deploy/test in place, then teams really can start leveraging shared tools.
Synergies achieved. Without layoffs. BTW, they’re looking for additional SDETs in Seattle. Let me know if you’re interested in tackling a big project.