MadSci Network: Computer Science

Re: Why is software Eng. process based?

Date: Tue Mar 7 10:19:01 2000
Posted By: David Gould, Undergraduate, Computer Engineering, University of Alabama in Huntsville
Area of science: Computer Science
ID: 952406163.Cs

Hi Alvaro,

This will sound cheesy, but the reason Software Engineering is process based, is because it is an engineering field. Mechanical Engineers would never attempt to build a bridge without following an industry accepted process for designing, building, and testing it -- the same holds true for Software Engineers.

What might be adding to your confusion, is the fact that there are no true industry-wide accepted processes for Software Engineering yet. This is because, while Mechanical Engineers have had over a century to perfect their trade, software engineers have had just a few decades. We are really still in the infancy of developing standards for Software Engineering.

I am guessing you have an aversion to all the paperwork and beauracracy that you see in most SE processes that are being pushed these days. You just want to get in there and program. Not only is that the funpart, but it gets the job done. When has writing a document ever gotten a job done? Because Software Engineers are just barely getting started in trying to define the process of their trade, there have been reactionary moves by management to try and get a handle on the risks involved in developing software. Most of these document-heavy processes are a direct result of that reactionary movement.

The truth is, you need only the amount of process that you need. A Mechanical Engineer would never follow the 'bridge building' process while helping his child with a science fair project. Thus, companies like IBM which employ thousands of software developers on a single project have to follow document-heavy processes just to keep things organized. But software teams of 3 to 5 people can stay organized with very little process overhead.

I'm going to point you toward my favorite process, called Extreme Programming. Not only might you like the tautology they offer, but also they hit the key driving goals behind Software Engineering. Once you have a firm grasp on what the goals of the process are, you can make your own judgements about which processes are worthwhile, and which are not.


Extreme Programming web site: http://www.extremeprogr
Another good XP site:

Current Queue | Current Queue for Computer Science | Computer Science archives

Try the links in the MadSci Library for more information on Computer Science.

MadSci Home | Information | Search | Random Knowledge Generator | MadSci Archives | Mad Library | MAD Labs | MAD FAQs | Ask a ? | Join Us! | Help Support MadSci

MadSci Network,
© 1995-2000. All rights reserved.