I was recently interviewed for an SD Times article about the role of art and science in software development.
Chris Gunther, cofounder and developer at Room 118 Solutions, agreed with Jacobson.
“I believe software development is not an art, but rather a craft as it is ultimately defined by its ability to solve a need for an end user,” he said. “Beautifully written code doesn’t count for much when it fails to solve the needs of the end user, and vice versa; poorly written code will have little negative effect on the end user when it successfully solves their needs.
“I think the craft side of software development becomes more of a necessity when working alongside other developers. Code that clearly reflects the domain model and is well organized becomes self-documenting and allows fellow developers to collaborate and understand the domain much easier.”
Gunther believed that science plays a role in development, but mainly due to the experiments used to find the perfect combination of code and the fact that developers are always building on top of older theories and ideas.