The best architectures, requirements, and designs emerge from self-organizing teams