MadSci Network: Computer Science |
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.
Enjoy!
Extreme Programming web site: http://www.extremeprogr
amming.org/index.html
Another good XP site: http://www.xprogramming.com/
Try the links in the MadSci Library for more information on Computer Science.