4-page Case Study - Posted 4/27/2007
Views: 501
Rate This Evidence:
New Solution Improves Software Project Management, Productivity, and Quality
Facing multiple simultaneous projects, the nine-member software development group within the Washington State Department of Community, Trade, and Economic Development (CTED) found it difficult to accurately assess project status, estimate new efforts, and ensure sufficient software quality. The group adopted Microsoft® Visual Studio® Team System to help it overcome all those issues. In gaining a comprehensive solution for all aspects of the development life cycle, the group has been able to increase its productivity, better manage and understand the application life cycle, and increase software quality. In addition, the group’s development process is more consistent and predictable, and the collection, sharing, and reporting of project-related information is built into everyday workflows.
Situation
The Washington State Department of Community, Trade, and Economic Development (CTED) is a medium-sized government agency. Located in Olympia, Washington, the department’s role is to “invest in Washington’s communities, businesses, and families to build a healthy and prosperous future.” CTED carries out its role through six key divisions: Community Services, Trade and Economic Development, Energy Policy, Housing, Local Government, and Public Works.
 |
It’s now easier to answer questions such as, Are requirements being met?, Are my teams adhering to quality standards?, and, Is the product ready? |
 |
|
Jim Cristofono Enterprise Architect and Information Systems Applications Manager, Washington State Department of Community, Trade, and Economic Development |
|
|
Within CTED, software application development services are provided by a nine-person team that supports all six aforementioned divisions. “CTED supports a lot of disparate programs,” says Jim Cristofono, Enterprise Architect and Information Systems Applications Manager for CTED, who took the role in mid-2006. “Each group does something completely different, which makes it hard to deliver solutions the groups can share.”
Because of that diversity, Cristofono and his team of eight developers must support some 20 to 25 major new projects per biennium (a two-year period used by the state for financial and budget purposes), along with many more smaller requests. The group also maintains 45 to 50 existing solutions—primarily Web-based applications that are written in Microsoft® ASP.NET—and monitors additional development efforts that are outsourced. Because the group supports such a large number of projects, each project is usually assigned to only one or two developers.
With no way to track and manage the half-dozen or so efforts it had under way at any given time, the CTED development group struggled under its diverse workload. “Information flow and management were ad hoc at best,” says Cristofono. “We didn’t have a standardized development process or environment, so everyone just did things their own way. As a manager, I found it difficult to get an overview of the status of projects—and even harder to manage our overall workload.”
Specific problem areas included:
- Status reporting. Understanding the status of active projects was difficult. The team tracked projects using a spreadsheet, which was updated monthly to report to the CTED IT steering committee. The spreadsheet contained only the project name, estimated delivery date, percentage of the project completed for the current report, and percentage completed since the previous month. “The ‘percent complete’ figure was based on a quick estimate instead of a formal work breakdown,” says Cristofono. “It wasn’t uncommon to have a project listed as 99 percent complete for months in a row.”
- Estimation of new projects. The inability to accurately estimate the effort required to complete new projects was another issue. “We don’t have someone dedicated full-time to gathering requirements,” says Cristofono. “Everyone helps out, and we were all doing it differently. With poor visibility into our workload and no good way to estimate new efforts, when the IT steering committee asked us to take on a new project, we had nothing to show them why we couldn’t.”
- Ongoing rework. Ongoing rework made it difficult for the group to meet deadlines and keep up with its workload. “Rework on completed projects was a constant productivity drain,” says Cristofono. “The effort was even greater for outsourced projects because we had no standard way of defining requirements, so it was hard to verify that what was delivered was right. At least 60 percent of those outsourced projects required major rework—often up to half of the original effort.”
Because of those issues, the team frequently had problems meeting deadlines—and consequently experienced poor customer satisfaction. “Internal customers were unhappy and we were losing credibility, with some divisions thinking about hiring their own contractors,” says Cristofono. “We knew we had to do something—and fast, because we’re facing our largest workload ever this year.”
Solution
The CTED development group implemented a solution based on Microsoft Visual Studio® Team System, which extends the Visual Studio integrated development experience from the individual developer to the entire development team by delivering powerful new role-based tools for all development-related users, along with a centralized repository for project data.
Key components of Visual Studio Team System that CTED is using include:
- Microsoft Visual Studio 2005 Team Suite, which supports the group’s practice of having developers test their own code. It does so by giving each person the flexibility to work as an architect, a developer, or a tester, all within a single, familiar Visual Studio development environment.
- Microsoft Visual Studio 2005 Team Foundation Server, which provides a central repository for project data to foster better team communication and provide project stakeholders with deep visibility into all aspects of the software development process and life cycle.
“Team Foundation Server gave us the key piece we were missing,” says Cristofono. “It integrates all aspects of software development—item tracking, version control, builds, reporting, and team communication—into a single collaboration environment. It’s now easier to answer questions such as, Are requirements being met?, Are my teams adhering to quality standards?, and, Is the product ready?”
A Better Way
The adoption of Visual Studio Team System by CTED dates back to May 2006, when it was time for the group to renew its subscription to MSDN®, the Microsoft Developer Network. The group decided to upgrade to Visual Studio 2005 Team Suite. CTED developers quickly began to familiarize themselves with the new features of the development environment but initially remained unaware of the capabilities provided by Team Foundation Server.
 |
We had heard a lot about Visual Studio 2005 as a desktop environment but didn’t realize that it offered a complete solution for managing the entire development process. |
 |
|
Jim Cristofono Enterprise Architect and Information Systems Applications Manager, Washington State Department of Community, Trade, and Economic Development |
|
|
The missing piece fell into place in November 2006, when Cristofono read Software Engineering with Microsoft Visual Studio Team System, by Sam Guckenheimer and Juan J. Perez (Addison-Wesley Professional, 2006). “We had heard a lot about Visual Studio 2005 as a desktop environment but didn’t realize that it offered a complete solution for managing the entire development process,” says Cristofono. “When I read about Team Foundation Server, I realized that it was exactly what we needed.”
Immediate Results
CTED set up Visual Studio Team Foundation Server in December 2006 and has since used it to complete one project from start to finish. During the effort, which involved approximately 200 hours of work from two developers, some of the ways in which CTED took advantage of Visual Studio Team System include:
- Defining a development methodology. At the start of the project, CTED used one of the development methodology templates built into Visual Studio Team System to define a formal development methodology. Taking the agile methodology as a starting point, CTED then customized the template to meet its needs.
- Building a project plan. As a work breakdown structure was created, a developer used Microsoft Office Project Professional 2003 to build a project plan and define the project’s dozen or so work items. The project plan was imported into Team Foundation Server so that all the people involved in the project could work to the same plan.
- Design. Developers used the Distributed System Designers in Visual Studio Team Suite to streamline application design. They created an application diagram within Visual Studio Team Suite, upon which the structure of the application and necessary configuration files were generated automatically.
- Document and source code control. All project-related artifacts—from the project profile used to begin the effort to the source code and test files—were stored in Team Foundation Server to maintain version control while making the information available to the entire team. Microsoft Visual Studio 2005 Team Explorer provided a single, integrated tool for accessing all services and artifacts stored in Team Foundation Server.
- Work-item tracking and change management. During the project, developers used Team Explorer to view the list of tasks assigned to them and to update the status of those work items, with the information stored in Team Foundation Server for access by the entire team. Team Foundation Server also provided a centralized mechanism for collecting, managing, and prioritizing change requests.
- Code analysis and unit testing. Developers used the integrated code analysis and profiling tools in Visual Studio Team Suite to help them detect potential security and performance problems early and often in the development life cycle. Testing also was improved through the ability to automatically generate a unit test just by right-clicking the applicable code.
- Reporting. Cristofono, acting as project manager, used the more than 20 prebuilt reports in Team Foundation Server to monitor the group’s progress. Because Team Foundation Server uses Microsoft SQL Server™ 2005 database software as a data store, it provides comprehensive and extensible reporting capabilities.
Implementation and Lessons Learned
Cristofono gave George Olson, a CTED Application Developer, the task of implementing Team Foundation Server in a development environment. Olson quickly was able to familiarize himself with the solution’s features, and, after a few weeks of experimenting with its capabilities, he moved Team Foundation Server to a production server computer running the Windows Server® 2003 operating system and SQL Server 2005.
Prior to the group importing current projects into Team Foundation Server, Cristofono and Olson met with developers to discuss each person’s active projects and devise a consistent way of breaking down the work involved—as well as how to help both developers and managers get the most out of Visual Studio Team System.
At first, CTED intended to expose the solution’s Web-based interface to its internal customers, as a way of providing those people with self-service access to project status information. However, the group soon realized that the information provided through the interface was not tailored to that audience, so it is now planning to take advantage of the application programming interfaces provided by Team Foundation Server to integrate the solution with Microsoft Office SharePoint® Server 2007. The resulting SharePoint portal will give business users a way to submit bugs, change requests, and requests for new projects, as well as provide those stakeholders with self-service access to information on project status. In addition, the group is considering using Microsoft Office Business Scorecard Manager to extract data from Team Foundation Server and display a graphical indicator of project status on the SharePoint portal.
With its first project using Visual Studio Team System now complete and its expected benefits proven, CTED is adopting the solution for all its development projects. One current effort is the importing of source code for the group’s 50 or so supported solutions into the source code control features provided by Team Foundation Server. That work is a first step toward upgrading those solutions to the Microsoft .NET Framework version 2.0 in the upcoming months, during which process developers will take advantage of the Web-testing and load-testing tools provided in Visual Studio Team Suite to aid in quality assurance.
Benefits
With Visual Studio Team System, the CTED development group is increasing its productivity, improving its ability to manage the application life cycle, and increasing software quality. Reporting is improved because the group has a centralized repository for project data, with the collection, sharing, and reporting of all project-related information now built into CTED’s everyday workflows. And because the group now can define and enforce a consistent development methodology, CTED has been able to increase predictability, consistency, and control in its development process.
“Our first project with Visual Studio Team System was completed on time and on schedule, and we now have documented proof of how long it takes to do a project of that type,” says Cristofono. “We originally thought that Visual Studio Team System was something for larger development shops, but in many ways it’s just the opposite; smaller development groups like ours are less likely to have defined development processes and can benefit more from the capabilities that Visual Studio Team System provides. We started seeing benefits from the first day we began using it.”
Improved Application Life-Cycle Management
CTED is using Visual Studio Team System to better manage its multiple, ongoing projects by standardizing and optimizing all aspects of the development life cycle. “Visual Studio Team System helps us manage application delivery and maintenance by providing real-time visibility into key performance and quality metrics, along with a consistent development process in which everyone is doing things the same way,” says Cristofono.
Because all project information is stored in and made accessible through Team Foundation Server, Cristofono now can easily monitor project status and manage the efforts of his team. “It’s as easy to get information out of Team Foundation Server as it is to collect that data,” he says. “I now can easily and accurately assess the status of development projects, and I’m able to more effectively plan and assign work.”
Increased Team Impact
All members of the CTED development group are benefiting from increased productivity, thereby enabling the team to handle more work and have a greater impact on the success of CTED as a whole. Advanced capabilities and an intuitive user experience facilitate the collection and sharing of project data without added steps. Features that contribute to software quality will help reduce the amount of rework that must be done and enable developers to focus more on new projects.
“With Visual Studio Team System, I always have the right tools for the job and all the information I need at my fingertips, regardless of whether I’m working on application architecture, writing code, or testing what I’ve already coded,” says Olson, who worked on the first project completed with Visual Studio Team System. “I’d estimate that I’m 20 percent more productive today than I was three months ago, and the time I spend meeting with my manager to talk about project status has decreased by 50 percent.”
Cristofono is also more productive in his role as the group’s manager. “Tracking project status today is virtually automatic, whereas in the past it was extra work,” he says. “For example, I was able to assemble the last monthly report for our IT steering committee in just one hour instead of the three hours that it used to take. Not only do I spend less time gathering information, but I’m also more confident that the data I do have is correct.”
Improved Software Quality
Software quality is improved because the group’s new development environment helps team members to detect potential errors earlier in the project life cycle. “Unit testing today takes less time and is more consistent, and the static code analysis features in Visual Studio Team Suite have enabled me to find bugs that I may not have caught otherwise,” says Olson. “As we move to a model that has dedicated QA personnel instead of developers testing their own code, the bug-tracking features in Team Foundation Server will help ensure that the problems detected don’t get overlooked due to communication issues.”
Microsoft Visual Studio 2005
Microsoft Visual Studio 2005 is the world’s most popular development environment for designing, developing, and testing next-generation Windows®-based solutions and Web applications and services. By improving the development experience for Windows, the Web, mobile devices, and Microsoft Office, Visual Studio 2005 helps organizations deliver a variety of solutions more productively than ever before. Visual Studio Team System expands the product line with new software tools that enable greater communication and collaboration throughout the development life cycle. With Visual Studio 2005, businesses can deliver modern service-oriented solutions more efficiently.
For more information about Visual Studio 2005, go to:
msdn.microsoft.com/vstudio
For More Information
For more information about Microsoft products and services, call the Microsoft Sales Information Center at (800) 426-9400. In Canada, call the Microsoft Canada Information Centre at (877) 568-2495. Customers who are deaf or hard-of-hearing can reach Microsoft text telephone (TTY/TDD) services at (800) 892-5234 in the United States or (905) 568-9641 in Canada. Outside the 50 United States and Canada, please contact your local Microsoft subsidiary. To access information using the World Wide Web, go to:
www.microsoft.com
For more information about the Washington State Department of Community, Trade, and Economic Development products and services, visit the Web site at:
www.cted.wa.gov