Software Design and Programmers2


Many other realities fall somewhere in between the two poles a) of pure, traditional, segmented software engineering, where highly detailed "complete designs" are handed off to programmers, and b) Extreme Programming and micro-size development teams, where programmers are the stars of the show. In the "middle realities" between these poles there are designers, lead programmers, or "architects" who create a design (in isolation or in collaboration with some or all of the programmers), but the design itself is (intentionally or unintentionally) not a complete design. The programmer’s job is to fill in the blanks in the design as she writes the code.
There is one thing that all of the points along this spectrum have in common: even in the "programmers just write the code" software engineering view, all programmers are also software designers. That bears repeating: all programmers are also software designers. In an article for IEEE Software magazine called "Software Engineering Is Not Enough," James A. Whitaker and Steve At kin do an excellent job of skewering the idea that code construction is a rote activity. Imagine that you know nothing about software development. Certainly, you might expect that software engineering texts would be about engineering software. The only design decisions made at the coding level address the small implementation details that enable the procedural design to be coded. The nature of designs is that they abstract many details that must eventually be coded. [Whitaker, 2002, p.108]

No comments:

Post a Comment

Related Posts Plugin for WordPress, Blogger...