Communication trouble in software development
I came across a recent articele called: Destroying Communication and Control in Software Development by Dr. Geral M. Weinberg. It the article he compares large systems-development to war and cites the problems with command and control heirachries. What's a developer to do? One possiblility is to explore the concept of boundary objects. According to Susan Star (1999), boundary objects:
...are those objects that both inhabit several communities of practice and satisfy the informational requirements of each of them. Boundary objects are thus both plastic enough to adapt to local needs and constraints of he several parties employing them, yet robust enough to maintain a common identity across sites. They are weakly structured in common use and become strongly structured in individual-site use.
Perhaps the software industry should attempt to create boundary objects regarding multi party decisions such as functionality, GUI, and communication standards. I know... people are going to claim that these objects already exist e.g., UML diagrams, specs, wireframe prototypes, marketing comps, etc. The question remains, however, why don't these things work. Are they too weakly strucutred or too strongly structured?
UPDATE Whoa! Stop the press... slashdot is running a book review on Luke Hohmann's Beyond Software Architecture that addresses exactly these issues using some new vernacular: marketecture and tarchitecture!!!