Vision Statement


This book discusses key Java development problem areas and best practices, and focuses on open source tools that can help increase developer productivity in each area.
The modern software industry abounds with development methodologies: iterative architecture-driven methodologies such as RUP, agile methodologies such as XP, Feature-Driven development, SCRUM, and many others.

In the real world, however, development teams often have difficulty applying these processes. This book is aimed at providing development teams with practical techniques and tools that can be used to optimise the benefits obtained from a chosen development process. It is also aimed at providing everyday developers with practical guidelines on how to apply industry best practices in the most efficient way possible. Readers should be able to pick and choose the tools and techniques best suited to their own environments.

The book will be organised into eight sections, with each section concerning a particular problem area or best practice (e.g. Configuration Management, Testing, Issue Tracking…). Each section will be divided into chapters, each of which focuses on a particular tool. Each chapter will be comprised of a series of short articles about that tool, which can be read individually or sequentially. Each tool description will contain detailed examples and be comprehensive enough to serve as a reference in the matter.


The main audience of this book is the following:

  • Java Developers who want to improve their development skills by applying industry best practices in their daily work. After getting a short background in software development processes, they will learn about the main industry best practices, and what tools can help apply them. After reading the book, they should be in a good position to know what best practices are suitable for their particular situation, and what tools are available to support them.
  • Project Managers, Software architects and Development Team Leaders, who want to implement or improve a software development process within a project, and who want to define a project or company-wide set of recommended tools and best practices.
  • Process Experts trying to introduce a new software development process into an organisation, or optimize an existing one, and who need to know what tools can be used to support the process. Their job is to define a process that suits an organisation’s goals, structure and culture. Process improvement is a tough job, and knowing what supporting tools exist can make the process go more smoothly.
Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-Share Alike 2.5 License.