<Previous                    Next>

Q8: If the technology is that powerful, it ought to spread virally. Is that what you expect?

A: It's more of a hope, Stephen, than an expectation. As with all new paradigms there are significant barriers.

First of all, frames fly in the face of our mental conditioning: we know that modifying code is dangerous - one wrong symbol can cause chaos; no wonder OO biases us to "reuse as is", and compilers prohibit self-modifying programs. If we can't edit code reliably, how can we ever trust machines to do it? On the other hand, programs manipulate symbols much faster, more cheaply, and more reliably than we can ever dream of. Also, requirements changes cascade into edits whose interdependencies can be formalized. Whereas human editors are notoriously error-prone, frames never tire, never get sloppy, and they never forget all the places to edit. Yet the very idea of a machine beating us at our own game is a blow to our egos. We automate everyone else's jobs, never our own!

Second of all, middle managers find themselves outside their comfort zones. They know the organization and its infrastructure will change, and a new division of labour will emerge, with new gatekeepers of information and expertise. They fear a loss of power and prestige. They were promoted based on their competence with the current paradigm, so why would they prefer any other? And they were certainly never trained in paradigm shifting.

Third, senior management is skeptical. Is the gain really worth the risk? Can we really change our wheels while our train rolls down the track? Aren't our people already fully occupied with current priorities? Are we prepared to weed out change resistors? To ensure sharing across departments that haven't trusted each other for years? Are we willing to stake our careers on the outcome? If not, why should anyone else?

I could go on, but I think you get the picture of what stands in the way.

Q9: So how do you propose to overcome these barriers?

A: Well, here is my fantasy. The idea is to acquire a successful software vendor, "supercharge" it for market domination, then resell it and repeat the process in another market. After a few replications of the buy-supercharge-sell strategy, we reach a tipping point: the revolution takes off spontaneously; a supply-chain of framework vendors ultimately develops. Given the size and strategic nature of the software industry, we are talking $billions in capital-gains and dividends, not to mention the notoriety that comes with transforming a craft to an effective and respected software-engineering profession.

Q10: My, you certainly think big! How would the supercharging process work?

A: I certainly wouldn't run acquired companies myself. They'd already have decent management or my putative financier wouldn't touch them. I'd install a small team of superchargers, change-agents that have a track record of turning companies around while minimizing disruptions. Their objective involves creating a frame-based culture at all levels - technology, process, infrastructure, sales, and support.
Supercharging requires the following:

  1. Build trust through: education, opportunities to influence one's own destiny, expectation management, feedback, incentives for those who buy into the vision, and exit packages for those who can't or won't.
  2. Prioritize the company's strengths and weaknesses with a view to how and when to supercharge its various departments.
  3. Use systematic measures to improve software cost-effectiveness, from back-room development to marketing and sales.
  4. Frame the "hot spots" - places where software changes frequently. Improving hot-spot maintainability should produce immediate labour savings.
  5. Evolve a frame library to house the organization's intellectual assets in standardized, reusable capital-assets - frameworks. This is the "supercharge" that benefits all aspects of the business.
  6. Find opportunities for rapid growth, for market niches that are inaccessible to conventional vendors. One obvious opportunity is mass customization - frame technology makes it easy to tailor generic software packages to each customer's ever changing needs. In addition, customization patterns inevitably emerge that can be turned into new products.

<Previous                    Next>