More often than not, the success of a project will be defined by how well a manager organizes and executes the required tasks. In the real world, these skills can vary greatly, which accounts for one of the reasons why certain projects succeed or fail. To minimize this variance and increase the predictability of project outcomes, you can supply a manager with two fundamental things:
Process Guidance: Within the context of project management, process guidance is the documentation of a consistent set of operational tasks to guide a project. In most development shops, the process guidance document is located in a thick binder on someone's desk. In Team System, Microsoft provides you with a predefined process guidance document called the Microsoft Solutions Framework (MSF), which is based on 30 years of solid software development experience, now integrated and enabled within the Team System development tools.
Tools: There are many software tools and packages to help you manage a project, including Microsoft Project, Microsoft Project Server, Exchange, and Outlook. The problem with these tools is that they are lightly integrated. Team System provides a tightly coupled integration between tools. Team System also gets around the issue of managing projects using e-mail. The problem with e-mail is that messages can get lost, miscommunication can occur, and messages are hard to track and manage. Team System provides a centralized store of tasks, requirements, and bugs that are updated in real time by your team members. It makes it very easy to take a snapshot of the project to determine whether things are going well.
No matter what software development project you are working on, the following common tasks keep coming up over and over again. The project manager must do all of the following:
Help define scenarios (along with the business analysts) to map out the features of the software application and ensure that these features provide business value within a limited budget
Create a set of iteration plans based on milestones
Work with team members to define and schedule development and test tasks to successfully implement each scenario
Orchestrate work flow and facilitate communication within your development team, and manage relationships
Continuously monitor the status of the project to avoid bottlenecks and identify possible risks
As a project manager within Team System, you are empowered to do all of these things. Not only can you create and monitor project plans, Team Foundation Server provides a set of tools and the infrastructure to help you communicate and collaborate with other team members, automatically aggregate and collect project health metrics, and centralize all project management operations. For the first time, project managers can now choose to interact with a project on Team Foundation Server using a variety of tools, including Microsoft Excel, Microsoft Project, or an ultra-light version of Visual Studio 2005 called Team Explorer. You can pick the tool you feel most comfortable with and run with it.
This chapter focuses on common project management tasks, including the following:
Creating a software project
Administering the project details using work items
Project monitoring using SQL Server Reporting Services