| By Dirk Morris | Article Rating: |
|
| April 27, 2008 08:45 AM EDT | Reads: |
16,973 |
Is software development a science or an art?
The software industry treats it as a science. It uses processes like MRDs, PRDs, and functional specs to convert customer needs into software that solves their problems. Various roles like product managers, engineering managers, project managers, architects, and programmers work together to drive the process like an efficient machine. Programmers are usually referred to as software engineers, but unlike mechanical, civil, and other kinds of engineers, software engineers don’t have any certification process or formal requirements. In fact, technically, software engineers aren’t engineers at all.
Many famous people in the field recognize programming as an art.
Good code isn’t a commodity that’s just pumped out – it’s composed like a novel
or music. Good software is created from good code using a good development
process.
I’d argue that quality software is a melding of the two views – that software development is both a science and an art.
In his novel Zen and the Art of Motorcycle Maintenance Robert Pirsig explores the dualistic nature of beauty in technology.
“Classical beauty,” he says, “is the beauty of the way a technology works, the way all its parts work harmoniously together just as designed to achieve the desired effect. For a motorcycle, this could be how the valves, pistons, crank, and ignition system work together to efficiently convert fossil fuel into the rotational energy of the flywheel, which by way of the clutch, transmission, chain, and wheel is converted into forward kinetic energy of the motorcycle and its rider.”
Romantic beauty, on the other hand, is the beauty that strikes the senses. For a motorcycle, this would be how it looks, sounds, and makes one feel as he rides it. While he wrote Zen and the Art of Motorcycle Maintenance in the 1970s, this classic/romantic paradigm provides an excellent ground for analyzing modern software development practices.
Published April 27, 2008 Reads 16,973
Copyright © 2008 SYS-CON Media, Inc. — All Rights Reserved.
Syndicated stories and blog feeds, all rights reserved by the author.
More Stories By Dirk Morris
Dirk Morris is the founder and CTO of Untangle, which incorporates more than 30 open source projects into a single open source network gateway platform to stop spam, spyware, viruses, and more.
- Qt DevDays 2009 - Munich
- The Power of Google and the Promise of Cloud Computing
- Unlocking the Cloud with Enterprise Private PaaS
- Big Data Kills 30-Year-Old Market
- Securing the Cloud and Establishing a Level of Trust
- ExaGrid Sets New Standard in Backup Price, Performance and Capacity with Launch of EX10000E Disk Backup System with Data Deduplication and Expanded 100TB GRID Capacity
- Cloud Computing: Transformative Technology With Financial Benefits
- The Enterprise Private Cloud - From Infrastructure to Applications
- Moving HPC Apps to the Cloud: The Practitioner's Perspective
- Business Service Management: Aligning Business & IT
- IGEL and Quest Software Advance Virtual Desktop Management by Integrating Quest vWorkspace into IGEL Universal Desktops
- World's First 16GB, 2 Virtual Rank Memory Module
- Is Microsoft as Free as Open Source?
- IBM’s Linux-Based ‘Cloud-in-a-Box’ Makes its First Sale
- United Planet offers practical portal building tips for SMBs
- Qt DevDays 2009 - Munich
- The Power of Google and the Promise of Cloud Computing
- Developing APIs for the Cloud
- Unlocking the Cloud with Enterprise Private PaaS
- Testing the Limits with Jack Margo SVP of Developer Shed, (part 1)
- The Bunker achieves PCI DSS Compliance
- Big Data Kills 30-Year-Old Market
- Securing the Cloud and Establishing a Level of Trust
- Excuse Me But Is That a Gazebo On Your Site?!
- The Top 250 Players in the Cloud Computing Ecosystem
- Red Hat Named "Platinum Sponsor" of Virtualization Conference & Expo
- An Introduction to Ant
- Google Web Toolkit: Finally Java Has Been Put into JavaScript!
- AJAX World RIA Conference News - AJAX & RIA with Server-Side JavaScript
- Python Creator Guido van Rossum to Present the Next-Generation Python 3000
- White Paper: "Extended Validation SSL Certificates"
- CEO of Hyperic, Javier Soltero on SYS-CON.TV
- Rating JRuby, Jython, and Groovy on the Java Platform
- Perforce Software Delivers State-of-the-Art Application Lifecycle Management
- TurboGears - Python-Based Framework for AJAX Web Development
- iPhone 3G Only Looks Cheaper





























