One of my favorite children’s books is Frog and Toad Are Friends. In one story, a button falls off Toad’s jacket, and with the help of his faithful friend, Frog, they set out to find the lost button. But it seems “the whole world is filled with buttons, and none of them are mine!”
I can only imagine what it’s like for developers. The world is filled with technology options, all appealing, with the perfect ones just out of reach. Then again, maybe it’s our processes that are slowing acceptance and adoption.
As technology vendors, our job is to find the unmet need and solve it. For most of our customers, that means removing latency from the software development process and adding automation where possible to drive productivity. Focus on delivering value, and removing roadblocks to accelerating cycle times.
Finding the fit
Agile does a lot of that, yet we still see a good deal of effort in wrangling the process itself. Tools actually play a part in advancing process, by
forcing encouraging us to do the right things. Automated testing is one example, making it ultimately easier to deliver better code, but often the price is borne by the developers themselves with slow builds or improper checkers.
The tools that fit seamlessly into an existing and efficient process are the ones not only most likely to be adopted, but as a result, the most likely to deliver results. In short, picking the right tools means finding the ones that meet the requirements, but also ensuring they will get used.
People over processes
In another throwback moment (it is Thursday), once when driving, my younger son wondered why I didn’t put the car into fifth gear to go faster. I had to explain that the engine needed to catch up to the gear before I could use it to go faster. (I may have to revisit that lesson again as he learns to drive.)
The same principle applies here. We can use tools to accelerate our ability to deliver, but we also have to be cognizant of our ability as an organization to use them. Do we have processes and systems in place to encourage people to do the right things? Do we make it easy for them to create better code?
With continuous integration, the tools are there, and now with continuous static code analysis, delta scans for each developer make it faster and easier to create secure, bulletproof code. Our ability to build a faster, seamless process is aided by technology, not hindered by it.