6What Effective Collaboration Looks Like

Agile reminded us that handing someone a document or a spec is not the most effective way to collaborate or share information.

Imagine if when you were about to first learn to play the piano, someone handed you a music textbook and said, “There you go—just read that. See you later!”

Not very effective.

Yet it became commonplace during the 1990s for large IT projects to define the work that way. A team would gather “requirements” from users and document them in a thick document—sometimes thousands of pages. The team was often contracted for only that phase—the requirements phase—and so they would then leave, and their documents were given to engineering teams, who were supposed to create a design that would satisfy the requirements. We're talking about any aspect of the design: either the functional design or the technical design.

That approach actually can work for a highly technical system, such as a communication protocol stack, but software that is used directly by humans is another matter: no programmer in their right mind chooses to implement a user-facing system purely from specs, but it was how countless projects were planned by IT procurement officers who had never written a line of code.

Even assuming that one could create a valid design based on a thick requirements document, the design phase was often done by another team that would leave, and the design document would be handed to a programming team to “implement.”

To someone ...

Get Agile 2 now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.