Writing software is not that complicated, because all that is needed is an editor and a compiler. The editor is used to write Java source code, and the compiler is used to convert the source code into a Java byte code. A problem is when multiple Java source code files are involved because that introduces complexity. Complexity begets bugs and longer development times, which means some mechanism needs to be developed to stop the bugs and manage the development process.
When we move the software development process into a more abstract concept, the word "project" comes to mind. Managing a project involves managing the build process, managing sources, and defining a way to test the project. Getting those three parts of the project under control makes it much simpler to determine the state of the project. Therefore, the task of this chapter is to explain how to manage a project.