Foreword
Designing, coding, and deploying working Java applications isn’t easy. Doing it in a predictable manner rapidly with an acceptable level of quality is even harder. In addition to having to understand what stakeholders want or the varying skills of team members or even the myriad web, data access, and utility frameworks one can choose from, you’ve got to actually manage the development process itself!
The coding of requirements is challenging enough, but as anyone who’s ever delivered a working application knows, in the grand scheme of things, that’s one sliver of the development process—in fact, some may say that’s the easiest part. Think about all the techniques and processes that aggregate up to produce a software application.
First, you’ve got to figure out how to deliver the working application in a predictable manner. At a high level, this means three things: tracking changes to source code assets, keeping up with any uncovered issues, defects, or feature requests, and assembling the application in a reliable and repeatable manner.
Next, you’re going to want to actually ensure the application under development actually works—ideally during development. This means writing tests early. Of course, this process is easier said than done. Although arguably there are few standard testing frameworks from which to chose, there is a cornucopia of associated tools that accelerate writing developer tests by addressing specific challenges. ...