In this chapter we've considered some of the most important choices to be made in J2EE development projects, other than the architectural decisions we considered in . We've looked at:

As this is a practically focused tutorial, I haven't discussed choosing a development methodology, or deciding when one is required. However, this is another important choice. We've seen the importance of tackling risks early. I recommend using a methodology for J2EE development that emphasized this. Both the Rational Unified Process and Extreme Programming (XP) meet this requirement. Personally, I prefer "lightweight" or "agile" methodologies (see, although the degree of formality appropriate tends to increase the larger the project. I recommend the following resources as starting points for readers unfamiliar with these methodologies: The Unified Software Development Process from Oracle (), and ("Extreme Programming: A Gentle Introduction").

In the next chapter we look at testing J2EE apps. Testing is an important concern throughout the software development lifecycle and is accorded particular importance in both these methodologies.