The software development industry invests much discussion on software development processes but rarely reviews the business cost of actually building a product. While some managers have been tempted to simply hire the lowest cost resource on the market, the savvy managers realize productivity can be measured and controlled.  

Productivity Considerations:

Vision and DirectionNothing is worse than software developers coding in all directions. The goal of the product and the vision of the team must be common and shared.
LearningAll software packages are not created equally. The learning curve for many is steep while for many others it is practically intractible for many members of the team. Attrition is one good indicator the wrong tools are being used.
InterestFace it, good programmers are there because they like to code. Give them an interesting problem and their productivity will shine through the roof. Make these programmers happy by keeping their coding fires burning.
Birds of a FeatherWhether your birds are highly educated computer scientists who analyze each step before taking it or a mess of cats, you must know your team's capabilities and knowledge bases. When dealing with single-tool specialists and lowest-cost resources each team must have at least one senior person who understands computer science and engineering and can guide the labor along a well-defined and restricted architecture.
IDEThe IDE's of the J2EE space are all functional but often outright slow especially when run in conjunction with the server software. Presently Eclipse is the Best-in-class IDE for Java development. Running the server software on a dedicated box is the Best Practice. This may mean a second box per developer or a common development server.
J2EE ToolsAs a whole, J2EE tools are highly unproductive. The manager's challenge is to drive a simplified software architecture which may be used productively.
XML-based ArchitectureIn general, software built heavily on all but the simplest XML transformations will be very costly.
HardwareOften a bureaucratic challenge, the good manager goes to bat for the team to ensure excessive RAM, disk space, and performance. Just as the end users do not want to wait for unresponsive software, software developers quickly lose interest when their systems are not up to the challenge of the software they are using.
Proper Test EnvironmentsWith high licensing costs, development test servers are often short-changed. Solid, clean test environments lead to solid, clean software.
Developing great software excites and rewards great software developers.