The construction of software is highly creative work, like that of the poet, that also has a product of high utility like that of the civil engineer. For utility we insist that work continually focus on a "customer" whos computer problems are worth solving. But for creativity, we demand that there be a boundary beyond which the customer's whim cannot reach. The committments that motivate action every day then come from two sources: the customer and ourselves.
ExtremeProgramming speaks of developers making technical decisions and customers making business decisions. This is the sort of division we are thinking of. However, we'd like to include more groups than just these two. That requires we step back from the development process and consider what it means to work.
With the advent of corporate law we confer the right of property ownership on organizations. An organization can "manufacture" intellectual property such as software as a means of achieving some goal related (usually) to shareholder value. Corporate strategies are as varied as the distribution of assets and opportunities in the marketplace. In short, development is execution of organizational strategy.
Were software development a menial task then the execution of strategy could be top-down. But it isn't, so we must depend on the good will of intellegent people to understand and interpret strategy in the work they do every day. With this in mind let us consider the various people and/or roles that organizations associate with development.
|Last edited August 28, 2002
Return to WelcomeVisitors