This document discusses different perspectives on software development:
- Software development is best viewed as a cooperative game of invention and communication, where the goal is to deliver working software while preparing for future projects.
- Considering it as engineering or model building does not capture the creative, communicative nature of the work.
- Programming involves building a theory of the problem and solution domain through discussion and design, not just producing documentation and code.