Elegance always pays off. This is a hard one to sell to management, but elegant is synonymous with maintainable and reusable. More than that, an elegant program just feels right. But since we ve convinced ourselves that this is about business and making money, not about feeling, it can be difficult to see that an elegant program tends to animistically hold together under rough treatment rather than flying apart as with many programs. But because software is an art form that also makes money, there will always be a battle between aesthetics and expedience.
Human communication is the bottleneck.
This is why small groups are more productive. When a project is burning uncontrollably, throwing more programmers into the flames just makes it worse. This is why short, small meetings work but long, large ones don t, and why deep management structures lead to alienation. You can set it up in minutes, and the automatic installation includes the Apache web server. Then put all your documents, from analysis through testing and user documentation, on the server for everyone to have instant access to the latest versions.