A new model of design
First there was designers design. Then there was user-centered design. But even that, is now behind the times. Given open development paradigms and “extreme programming” practices, there is another approach to design, which is no “design.” Instead one has frequent, incremental, releases that the user environment can immediately send feedback upon. This takes place in a context, not of the firm, but of a larger ecology where each design is subject to evolutionary pressures.
For example, at the W3C we would sometimes despair that a project might take years, because of all the folks involved, and not satisfy requirements in the end anyway. In fact, sometimes the requirements would be better satisfied by lightweight/hacker constituencies external to the W3C. Consequently, upon my noting this, Tim Berners-Lee suggested that we develop projects by a “red team/blue team” model. Instead of having one group of 40 engineers working for a couple of years on a design that may not be well-liked at the end, one creates two smaller teams to specify and prototype proposals within a matter of months. And then someone, either a meritocratic figure or the community at large, can identify which one is superior. The problem is, within the firm, it is very difficult to do this because of political reasons: no one wants to be on a losing team. (In the case of a large project, everyone is on the same mediocre team at least.) But in the context of open development, there are often many competing projects. Some continue on in seeming redundancy, and others die quickly – and I expect the developers are even happy about that so they came move on to something more fruitful.