JaVa
   

Adopting XP?

As we’ve stated before, you do not have to adopt XP to get value out of this tutorial. For example, automated testing can help you refactor code regardless of whether you are doing pair programming. Here’s another example: If you use Unified Modeling Language (UML) use cases with a case tool instead of stories written on index cards, continuous integration and small release cycles will still be beneficial for getting rapid feedback. The point is, you may decide to do things in addition to the process. Or, your corporate culture may have an adverse reaction to things like pair programming.

Java Start Sidebar
UML and CASE tools

Some XP advocates swear by never using CASE tools. They say that the only UML should be written with a pencil on an index card. I don’t agree. As long as the CASE tool can continually keep the model in sync with the code, then the tool can be very beneficial. In addition, some CASE tools can speed development by generating the necessary boilerplate code for design patterns.

Beck notes that whether you draw diagrams that generate code or write out code, it is still code.

Java End Sidebar

One of the first areas to focus on when adopting XP is automated testing. Begin by writing tests for code that you are about to add functionality to, refactor, or fix. The key is to add automated tests slowly to code written before you adopted XP, and always employ automated testing with newly developed code. Do not write tests for code you are not working on. Later, when you begin doing integration tests, you will want to automate the build, test, and integration cycle. My company has adopted XP. We adhere to the 12 XP practices. However, I am not a purist. I believe that other software processes can benefit from automated testing, simple designs, continuous integration, incremental releases, and constant refactoring.

Beck states that XP’s 12 practices will not fit every project. XP also will not fit every organization’s culture. Regardless, J2EE development can benefit from automated testing, simple designs, continuous integration, incremental releases, and constant refactoring. This tutorial focuses on tools to perform automated testing and continuous integration for J2EE to enable refactoring and incremental releases.


JaVa
Comments