| Vision and Direction | Nothing 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. |
| Learning | All 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. |
| Interest | Face 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 Feather | Whether 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. |
| IDE | The 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 Tools | As 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 Architecture | In general, software built heavily on all but the simplest XML transformations will be very costly. |
| Hardware | Often 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 Environments | With high licensing costs, development test servers are often short-changed. Solid, clean test environments lead to solid, clean software. |