Using Team Software Processes requires collection and reporting of numerous data points. Additionally a single team member is responsible for collating all of this data into a single report which can be used to measure and control development processes. tVista is a web-based application designed to easily capture metrics data and automatically produce reports in accordance with the Team Software Process.
What a TSP Support Tool should look like.
Software development environments are a widely varying lot. Some are highly
refined using proven tools and methods and others are still young, up-and-coming,
with a scattered and unintegrated technologies. The Team Software Process,
created by the Carnegie Mellon Software Engineering Institute, is a documented
process designed to help development teams move toward a highly mature
development environment with repeatable processes.
I think that a proper TSP support tool should reflect this by being a flexible,
powerful tool which provides a high level of integration between development
tools. As such a TSP support tool should be a compliment to a team's current
environment, not a replacement. The software system should work to pull
disparate systems together and allow them to function with workflow-type
functionality.
The TSP is difficult to implement because in addition to being a new and likely
foriegn collection of processes it also demands that a great deal of
peripheral data be collected. The time-management requirements are a perfect
example of this, requiring every engineer to record when they began a specific
task, when they completed the task, and how much time was spent away from the
said task, how many minutes were interrupted. A proper TSP support tool would
provide not only for the collection of this data, but would also link with or
provide tools which would make gathering this data simpler, perhaps with some
sort of 'stopwatch' funcitonality.
This type of total support is the goal of tVista. Currently in its infancy
it is growing to not only provide data collection and reporting capabilities
which facilitate the TSP, but to also integrate version control, issue
tracking, and other necessary development tools; all under the context of
the TSP. This is a huge goal, but it can be done. With the help of the
community we can build a project support tool which helps a team to more
easily manage their project, create sustainable repeatable processes, and
ultimately to build higher quality software with less effort.