WHAT'S IN THIS CHAPTER?
Managing project tasks
Visualizing source code repository changes
Creating build configurations
Customizing process templates
Software projects are notoriously difficult; very few are delivered successfully on time, within budget, and up to the desired quality levels. As software projects get larger and require larger teams, the processes involved in managing them gets even more complicated, and not just for the manager, but for the developers, the testers, the architects, and the customer. Over time there have been many approaches to solving software project management problems, including quality models like CMMI, methodologies such as RUP, or Agile Practices, Scrum, and Continuous Integration. Clearly a tool to help support all the pieces necessary to ensure more successful software projects should be desired.
The most basic requirement for a software project, even for the smallest one-person project, is to have a source control repository. For bigger ones more sophisticated features are needed, such as labeling, shelving, branching, and merging. Project activities need to be created, prioritized, assigned, and tracked, and at the end of the day (or better yet even before every change is checked in to your repository) you need to ensure that everything builds and all tests are passing. To make this process smoother and improve team communication, a way to report to project managers or peer developers is also ...