When you're managing a software project, you need to keep the following three parts of the project under control:
Test management : The process of managing the test programs that execute routines to validate or invalidate the correctness of the software being constructed .
Build management : The process of managing how a piece of software is compiled, distributed, and tested . This is the overall process that brings everything together.
Source code management : The process of managing the software sources using a program that allows multiple developers to concurrently update and manipulate individual source code files without major conflict issues.
The tools used to manage these three tasks are:
JUnit : A test management library.
Ant : A build management tool.
CVS : A source code management tool.
You could also use other tools such as Maven (build tool) or Subversion (source code tool), but because they are less widely used, we will not discuss them here.
The objective of project management is to make the entire build and test processes painless. The QA team and auditor should be able to control every aspect of the project and see when things are going out of control. Developers can define their own processes for individual parts of the software, but these processes need to fit into the overall project.
A good project management system is one that can run on autopilot. The build file should be able to control all aspects without any intervention by the developer. This will allow a code auditor to create a build server and track the stability of the project. A build server is a computer or sets of computers that do nothing more than manage the entire build and source processes.