The Software Development Process – Science, Engineering, Art, or Craft?

oops-small.jpg

There is general consensus that the software development process is imperfect, sometimes grossly so, for any number of human (management, skill, communication, clarity, etc) and technological (tooling, support, documentation, reliability, etc) reasons.  And yet, when it comes to talking about software development, we apply a variety of scientific/formal terms:

  1. Almost every college / university has a Computer Science curriculum.
  2. We use terms like “software engineer” on our resumes.
  3. We use the term “art” (as in “art of software development”) to acknowledge the creative/creation process (the first volume of Donald Knuth’s The Art of Computer Programming was published in 1968)
  4. There is even a “Manifesto for Software Craftsmanship” created in 2009 (the “Further Reading” link is a lot more interesting than the Manifesto itself.)

The literature on software development is full of phrases that talk about methodologies, giving the ignorant masses, newbie programmers, managers, and even senior developers the warm fuzzy illusion that there is some repeatable process to software development that warrants words like “science” and “engineer.”  Those who recognize the loosey-goosey quality of those methodologies probably feel more comfortable describing the software development process as an “art” or a “craft”, possibly bordering on “witchcraft.”

Read the whole article on the Code Project.

 

Advertisements

One thought on “The Software Development Process – Science, Engineering, Art, or Craft?

  1. The .Net group admin on LinkedIn closed the discussion on your post so I copied the link to the ‘Agile & Lean’ group who I think will be more understanding. I hope that was OK. I didn’t read the licence until after I’d done it, so sorry for not asking first.

    I’ve been considering this issue for a few months too so it was very interesting to see your perspective. Thanks.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s