|
| quote: | Originally posted by spitty
aaron. i haven't heard of the software debate. really only focused on the legal profession. its interesting though. i'll ask my prof about it. do u know any online articles? |
I don't think I could point you to anything authoritative in the sense that a medical or legal publication is authoritative - after all, the problem is that no one can agree on what constitutes an authority. I can show you lots of more informal write-ups, and I know that may not count much as evidence for you (it doesn't for me either), but keep in mind that there's not much good formal writing on any side of the debate.
Take note that you're probably going to find a lot of this cryptic, boring, or just one-sided (though I'm presenting both sides here). But I'm posting it anyway in case something does pique your interest. Basically most of what I've seen is written by someone in one of two camps:
(a) The failure rate is higher than other engineering disciplines because the discipline is just immature, as many other engineering discplines were a long time ago. At present, it just lacks the systemized knowledge and professional infrastructure of other disciplines. I hear this most often from academics but it does come from some in the industry. Two examples of this kind of thinking are here (fairly concise) and here (old, un-OCRed PDF warning, and long-winded, but explains much more thoroughly). What really bugs me about this group is that a lot of people in it are trying to sell some system, some methodology, usually with plenty of high-priced books and tools and seminars. Maybe the fact that there's so much snake oil here is why so many professional developers reject the argument in a knee-jerk fashion.
(b) Software engineering can never be systemized like the others because it's fundamentally different. Other disciplines are bound by the laws of nature and physics whereas software is 100% man-made and totally abstract, and it deals directly with the human element (changing requirements), and software engineering projects aren't repeatable like chemical or civil engineering, or like other professions (law has precedents, medical operations are often pretty routine). Jeff Atwood, one of the popular industry players, has a series of posts on this topic. Joel Spolsky is another big gun who talks about this frequently but it's hard to point out a specific article, they tend to come in little nuggets. There are dozens of Microsoft developers who point this out.
There are other opinions too - some say software is just math. Fred Brooks said the best analogy was a surgical team. Steve Yegge at Google thinks it's a religion and philosophy.
Seems like nobody can even decide what the hell it is, or should be, and yet it's lumped in with the engineering and professional disciplines because, well, it has to be. The consequences of failure are too severe to ignore.
And underlying all of this, or perhaps in spite of it, it's still abundantly clear who is a professional in the industry and who is not. Professionals with a few years experience can work over 10 times faster than other people with 20 years of experience, and produce results that will last in production for several years instead of a few month. Nobody's figured out how to measure how or why yet... I'd love to post a source on that, but it's hard to find a source proving that something isn't known. 
___________________
My party schedule:
2009-02-21 - DJ Attention @ I'm So Popular
2009-06-18 - DJ Annoying @ People Need To Know Where I'll Be
2012-11-32 - DJ Insufferable ɸ Or At Least the Stalkers I Complain About
2048-06-66 - Spastic & Whocares ¶ Although I'm Actually Flattered
9999-45-81 - Tweaker Gimp ☼ I Probably Won't Even Go To This But I Have To Make Sure I Fill Up All The Available Space Here
|