24 October 2010

Innovation: The acmet Tools BU Experience

In my last post I mentioned the estimation funnel. The funnel is caused by the non-routine nature of any innovation initiative. Any software work, which is non-routine for the organization, is subject to the estimation funnel (see slide 2 of this document). It is an innovation initiative.

At acmet's tools BU, for the maintenance work that we did on our compilers, we could, with a fair degree of accuracy, estimate and commit to targets. These were routine. We did, on the other hand, construct a dsp compiler, an assembler, a linker, an elf to IEEE695 format converter, an assembly to assembly converter. These were innovation initiatives for us.

Govindarajan & Trimble list 10 principles to formalize experiments. One of them is: Find ways to spend a little, learn a lot. They characterize unknowns along two axes - consequence of being wrong, extent of ignorance. The ones with the most serious consequences and with the highest degree of ignorance are the ones that are most critical. These should be resolved first. That is precisely what protyping and incremental development is about. The authors give the example of how IBM used prototyping to for the development of the Blue Gene supercomputer.

Tools BU Experience
Initially, we made commitments to the customer that we failed to keep. We learned. We learned to develop incrementally. We learned to prototype. We learned to do the learning as an in-house project and not subject ourselves to pressures caused by schedules based on pure guesswork. Of course in-house projects have a perception problem.

At the time acmet decided to close operations, the tools BU was working on porting the GCC to a VLIW DSP. This was, for us, the most innovative. And we did go about setting up experiments to resolve unknowns. The project had as its first target, a prototype that would generate code for an FIR routine. The target was to match the performance of hand coded assembly. Most importantly, though we had a prospective customer, I refused to commit to firm dates. I admitted that all I had were guesses, not estimates. At the time I did not know it, but what we were really engaged in was a rigorous learning process.

No comments: