Listings

Home
Sitemap
Temples
Gurudwaras
Jain Temple
Mosques
Churches
Restaurants
Bazaars
Jewellers
Beauty
Travel
Weddings
Theaters
Students
Education
Associations
Newspapers

Hot Spots

Finance
India Links
Immigration
Insurance
Call Home

Society

Adoption
Charities
Art & Culture
Talent
Movies
Book Shelf

Personal

Ask-A-Desi
Chat
Homepages
Insurance
Referrals

About Us

Contact Us
Submit
Register
Search
About Us
Advertise

Article by Mohan Babu

Software development: Engineering or an art?

Is software development engineering or an art? MOHAN BABU writes that there is a creative side to computer programming—it is a well-known fact that the best (top 5 percent) programmers are about ten times better than average programmers

To those in the field of software, the debate over whether software development is engineering or an art surfaces every so often. Interestingly, this debate is not really new, it was stirred over three-and-half-decades ago by Donald Knuth, who wrote a seven-volume series titled The Art of Computer Programming. In an essay on “The Art, Science, and Engineering of Software Development,” published in IEEE Software in January/February 1998, Steve McConnell, says, “Today, software engineering is still thrown around as a buzzword more often than not. That’s unfortunate. But the fact that the term is abused does not mean it has no legitimate meaning. Software development has come a long way in 30 years. We still do not have an absolutely stable core body of knowledge, and knowledge related to specific technologies will never be very stable. But we do have a body of knowledge that is stable enough to call software engineering. That core includes practices used in requirements development, functional design, code construction, integration, project estimation, cost–benefit trade-off analysis, and quality assurance of all the rest.”

Even McConnell’s argument has an interesting dichotomy. On one hand he concedes that the term “software engineering” is still loosely thrown around, on the other, he sounds reassuring by saying that we do have a body of knowledge that is stable enough to call software engineering. Of course, at this point, I should probably indicate my favourite definition of an engineer, coined by Nevil Shute, which goes, “An engineer is someone who can do for ten shillings what any fool can do for a pound.” For those curious, twenty shillings equalled one pound.

There is definitely a creative side to computer programming, which no amount of rigour or reference to a stable body of knowledge can replace. Statistics abound, but it is a well-known fact that the best (top 5 percent or so) programmers are about ten times better than average programmers. The best programmers tend to be logical and creative and can churn out solid code more efficiently than their peers. They generally tend to bring an out-of-the-box thinking into the programming process, and they also tend to have fun in doing so.

Going back to McConnell’s essay, he says, “Once we stop asking the trick question of, “Is software development engineering?” and start asking the real question of “Should software development be engineering?” we can start answering really important questions: What is software engineering’s core body of knowledge? How should software engineers be trained? How should software engineers be certified? And, perhaps the hardest to answer—how long will it take for all this to happen?” These are perhaps harder questions to answer and even IT companies and executives don’t really have all the answers. Some of the larger software companies prefer to rely on their training and mentoring process to mould fresh recruits into their way of operating and developing software. Their argument is also based on the fact that software development is not all programming, it also entails management of the software development life-cycle and all the activities involved thereof. During the training and mentoring process, these companies hope to identify candidates more inclined towards software development, and shift other candidates towards the other aspects of life-cycle like testing, requirement gathering, client interfacing, etc. While this is not an official stance companies take, this is perhaps one way for them to identify good programmers without having to worry about whether the person is an artist or an engineer.

That perhaps goes to the crux of the issue, again articulated by McConnell who says, “Only a prophet could know how long the public will tolerate computer programmers who make doctors’ salaries without comparable training and education….” This statement sums up the mindset of hiring managers and senior executives who are starting to get more reluctant to shell out big bucks to programmers without a formal engineering background or training. While this in itself does not settle the debate over whether software development is engineering or an art, it is an indication of how organisations try to find a middle ground.

And, this is definitely not the last word on this topic.
Google

 

 

 

About the Author

  • A Bio and profile of the author, Mohan Babu, can be found at his homepage
  • Mohan has authored a book on Offshoring and Outsourcing (Publisher McGraw Hill, India), a link to which can be found here
  • Mohan has also authored an Online book on "Life in the US," available for free download.
  • Sponsored Advert

    Advert: Visitor's Travel Insurance

    Click for free online Quotes

    FAQ

    For FAQ, Trivia and Information on Life in America, visit the Ask-A-Desi section

    ©Mohan Babu: All Rights Reserved 2005

    Mohan Babu is an international consultant trying to find the ‘sweet spot’ where IT meets business. E-mail: mohan @garamchai.com He is also the author of a recent book on "Offshoring IT Services"

    All rights are reserved. Mohan Babu ("Author") hereby grants permission to use, copy and distribute this document for any NON-PROFIT purpose, provided that the article is used in its complete, UNMODIFIED form including both the above Copyright notice and this permission notice. Reproducing this article by any means, including (but not limited to) printing, copying existing prints, or publishing by electronic or other means, implies full agreement to the above non-profit-use clause. Exceptions to the above, such as including the article in a compendium to be sold for profit, are permitted only by EXPLICIT PRIOR WRITTEN CONSENT of Mohan Babu. 

    Disclaimer: This document represents the personal opinions of the Author, and does not necessarily represent the opinion of the Author's employer, nor anyone other than the Author. This Article was originally published in Express Computers

     

    GaramChai® 1999-2005