How important
are software design skills to a programmer? Programmers, in the traditional,
and perhaps most widespread, view of the software development process, are not
themselves seen as designers but rather as people who implement the designs of
other people. The real design work is performed by specialized software
designers. Designers create the designs and hand them off to programmers, who
turn them into code according to the designer’s specifications. In this view,
then, the programmer only needs enough design skills to understand the designs
given to him. Let’s consider a spectrum of software development
"realities." Specialization of function is a key component on these
kinds of projects. Analysts specialize in gathering and analyzing requirements,
which are handed off to designers who specialize in producing design
specifications, which are handed off to programmers who specialize in producing
code.
At the opposite end of the spectrum,
best represented by the example of Extreme Programming (XP), there are no
designers, just programmers, the programmers are responsible for the design of
the system. [McBreen, 2003, p. 97]
No comments:
Post a Comment