|
Sigma Pi Sigma Experience Abstract
Adding Rigor to Software Development
When I graduated from Ohio State University in 1973 with a BS in mathematics and physics, I took a job in the computer industry. Computer science degrees were not offered from OSU then. I have been in the computer industry ever since, but because of my physics training, I felt that there was not enough rigor in computer science, especially in an industry where practioners rule and "theory" is a four-letter word. I wanted a better, more provable way of developing good software.
In particular, my physics background acquainted me with two critical ideas that were not currently deployed in software development. The first was having a rigorous development process of working through problems, providing more provability and justification for why design decisions were made. Up to then, software development was "art", and schedule predictability a fable. The second idea was the knowledge to apply lessons learned from one project to the next project (experimental design). This is not done typically even today, although the post-project assessment for future project enhancement is an essential step in the zero-defect development process.
Today, in academic circles, zero-defect software development is almost routine. There are commercial analysis, design, and implementation tools (software and technique) to assist in producing better products. A scientific paper on zero-defect processes is old news. In industrial circles, zero-defect development is still, by-and-large, a fable. As President of Carolla Development, a process improvement company dedicated to improving the state-of-the-art of software engineering, faculty of OSU and adjunct faculty to Ohio Dominican College, I have a chance to close the gap between academia and industry. I teach my students (both corporate and collegiate) to apply the principles of rigor and and experimental design that I learned in physics.
BACK |
|
|