ACM Home Page
Please provide us with feedback. Feedback
Software development: arts & crafts or math & science?
Full text PdfPdf (106 KB)
Source Conference on Object Oriented Programming Systems Languages and Applications archive
Companion to the 19th annual ACM SIGPLAN conference on Object-oriented programming systems, languages, and applications table of contents
Vancouver, BC, CANADA
PANEL SESSION: Panels table of contents
Pages: 141 - 142  
Year of Publication: 2004
ISBN:1-58113-833-4
Authors
Jim Haungs  IBM
Martin Fowler  ThoughtWorks
Ralph Johnson  University of Illinois at Urbana-Champaign
Steve McConnell  Construx, Inc.
Richard Gabriel  Sun Microsystems
Sponsors
ACM: Association for Computing Machinery
SIGPLAN: ACM Special Interest Group on Programming Languages
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 17,   Downloads (12 Months): 77,   Citation Count: 0
Additional Information:

abstract   index terms   collaborative colleagues  

Tools and Actions: Request Permissions Request Permissions    Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/1028664.1028720
What is a DOI?

ABSTRACT

We've have been proposing formal mathematical methods of software development for nearly as long as we've been developing software. CASE tools were a bust, and Gödel long ago nullified any hope of building a system that is both complete and consistent. Model-driven development gets trotted out in a new outfit once every decade as the next "silver bullet," but we're still far from drawing pictures that generate code.

Test-driven development almost produces executable specifications, but there's nothing mathematical or provably correct about them. Quality assurance happens during coding, but there's nothing to ensure that the entire system gets built, or that it's what the customer wants.

Agile methods propose "emergent design," where BDUF (big design up front) is old-fashioned and limiting. But agile methods work best with small groups of clever people to implement them; they have a hard time scaling.

The open-source movement, in which hobbyist programmers write code simply for the love of programming, has produced some of the best software in the industry. Is it good because people love what they're doing and build it for themselves to use? Or is it good because there are hundreds of eyes on the code?

Is software development a science or an art? Does it depend on mathematicians or on craftspeople? Are these viewpoints reconcilable?


Collaborative Colleagues:
Jim Haungs: colleagues
Martin Fowler: colleagues
Ralph Johnson: colleagues
Steve McConnell: colleagues
Richard Gabriel: colleagues