About Us
Online Assistance

 

Software Chemistry?

The Problems with Software

Everyone who deals with software knows there is something wrong. Software is riddled with bugs, software is hard to use, and software development projects are frequently over budget, slip schedules, and sacrifice function and quality. In order to find solutions to these problems, software is often likened to Chemistry.

Many intelligent people have examined the problems with software and tried to find ways to fix them. Over the few decades that we have been writing software we have improved in many ways: our hardware is unimaginably capable compared to that of even one decade ago, our programming languages are easier to learn and offer far more features every year, our software development tools care for more complexity with every version. In some ways we have even made software that is easier to use. Nevertheless, the problems remain.

The Chemistry Analogy

Software would be much better for everyone if these problems were solved. Improving the development process is believed to be the key to solving these problems. Professionals working in the software development field often think
"wouldn't it be nice if the process of building software was like the process of constructing a molecule?"
We could be software architects and designers who conceive of the structure of the software. We could be software project managers who control software projects. We could be software engineers and developers (chem techs) who actually figure out the details and build the software. And finally, we could be software inspectors who verify the quality and standards of a software product.This analogy is attractive because the beneficial effects of the chemistry industry are ubiquitous and integral to our lives. We live in a chemical environment and we consume and transform chemicals daily.

We all imagine that the chemistry industry, having grown out of millennia of practice, has much wisdom and advice to offer. If only we could copy the chemical industry with its suppliers, project management, design, engineering, tools, rules, guidelines, and even its pre-fabricated molecules. If we could do all this, so it is asserted, then we could solve all the problems we have with software. Those who look to the Chemistry analogy believe the following things can be learned and applied to software creation:

  1. The chemist is the creative center of the endeavor. The design of a chemical is finished before Chemistry begins. The people doing the actual chemistry work can be treated as interchangeable human resources. The flow of molecules can be made one-way from client to chemist to technician.
  2. The chemistry work can be completed and the result handed off to the process manager.