He cited a loan-processing example, where a loan officer has the power to approve loans from $10,000 to $50,000 when an applicant's credit score is more than 700 points. "If the applicant's credit score is less than 600, then you need a human to make a phone call and a judgment. Otherwise, it's just the case of it being a checklist decision that can be automated via a Business Process Execution Language (BPEL) process. People say that BPEL is a 'programming language to connect computers,' but I say BPEL is better used as a programming language to implement a checklist, to do process improvement."
What's required to implement such a system is a CIO who's focused on business and not just technology, according to Kolawa. "This jumping of one CIO from one company to another, it just doesn't make sense. They really should be staying in the same industries.
"In order to execute this process improvement efficiently, IT departments must be able to improve their performance in writing code, and my claim is that IT departments are capable of improving their productivity by a factor of 10." He cited the example of the latest 6.0 release of Parasoft's automated Web services testing product, SOAtest, which contains 5.5 million lines of code and took 18 months. "In most industries, a project of that size requires 500 to 1,000 people; we did it with a total of 34 people." He said such an order of magnitude improvement was based on his team following best practices detailed in one of Kolawa's earlier books, Automated Defect Prevention (Wiley, 2007).
"There isn't a silver bullet to improving software," said Kolawa. "It takes a lot of incremental steps. It's the same as improving the production line of televisions. If you look at the production line for televisions today versus 10 years ago, it's a hundred times more efficient. It didn't happen overnight and there was no silver bullet." Asked why a factory approach to development hasn't caught on more in the software industry, Kolawa replied it's because "every damn developer thinks he or she is an artist! Writing software is a collaborative effort and everyone needs to adhere to the procedures the rest of the group is following."