Using Team Foundation Server to Create a Client Contact Database: The Nuts and Bolts of a Work Item Form (part 2 of 6)
Continuing a series of six posts on a project, began in 2008, by the Blackbaud User Education team. See previous post (part 1 of 6).
By: Ellyn Hassell and Lindsey Rix
Once we decided that TFS was the best tool to use for the job, the next step was to determine how we should get started. TFS is an incredibly robust product. Here at Blackbaud, we use it for source control, project tracking, reporting, and other tasks related to software development. For our client contact project, we were interested in the Team Explorer view—or, more specifically, the Work Item node in this view. From Team Explorer, you can access different projects and manage tasks related to each project. These tasks are called work items in TFS.
For example, when testing a new feature, a Quality Assurance analyst finds a misspelled word in a help topic. The analyst creates a work item and assigns it to a writer. The writer now knows there is an issue that needs to be addressed. After the correction is made, the writer adds details in the work item explaining that the help topic is updated and assigns it back to the analyst, who can then test again to make sure the problem is fixed. We now have an audit trail for the spelling error.
We wanted to use the same idea for documenting our interactions with clients. By creating our own work item, we could document that an interaction occurred and provide details about the meeting, phone call, or other method of contact. If the interaction required a response on our part, we could then document the steps we took to meet the client’s needs.
So, we knew what we wanted, but we weren’t sure how to get there. How do we go from a regular work item and workflow to one designed for client interactions?
- Create a game plan and determine what information we really need. To do this, we had several meetings to decide on the fields to include on the work item form. We also tried to anticipate how we could use this form with other software applications. For example, could we integrate our form with Microsoft Outlook (email, calendar, or tasks)? Could we import survey data we collect with a third-party tool into TFS? TFS integrates with Microsoft Excel, so how could we use this to our advantage?
- Talk to the experts. There were several people at Blackbaud who were already proficient with TFS. We set up several meetings, either for our group or one-on-one, so that we could ask questions and find out the best way to go about creating a form. It was through these contacts that we found a number of online resources and tools that helped us get started.
- Find something similar to use. We began by looking at the work item forms other Product Development groups had created, thinking we may not have to reinvent the wheel. Unfortunately, no forms met all of our requirements. So, we took our list of fields, reviewed the layout of existing forms, and came up with a basic design.
- Learn how to create a form in TFS. This was the tricky part. Luckily, early in the process we discovered that Microsoft had an image with a three-month trial period that we could download. This image included all the products and tools we needed to create projects and forms. If you’re wondering why we couldn’t do this with our corporate version of TFS, it’s because we didn’t have the proper security rights to create or edit forms in a “real” environment—which is completely understandable. The image provided a safe and easy way for us to learn how to work with the administrative side of Team Explorer and test our ideas.
- Research, research, research. This was probably the most time-consuming part of the project. None of us had a background in programming, so we had to search high and low for information about how to build work item forms. After reading numerous articles, white papers, user guides, forum posts, and blogs, we were able to export an existing work item form from TFS and tweak the fields and layout to meet our needs. To do this, we used Microsoft Visual Studio’s Process Editor. Although you can actually edit the XML, this tool was far easier to use because we could do all of our editing on a form. We used a graphical user interface (GUI) rather dealing with lines of code.
- Practice, practice, practice. It was so exciting when we finally had a new form to import into TFS! After all that work, it was exhilarating to type text in a field, choose an entry from a drop-down list, or select a checkbox and actually save the form as a record.
Now that we had turned our idea of a client contact work item into a working form, we needed to take it for a test drive. Actually, many, many test drives.
Up Next… We put the new work item through its paces.
- Using Team Foundation Server to Create a Client Contact Database: Best Practices (part 4 of 6)
- Using Team Foundation Server to Create a Client Contact Database: The Testing Phase (part 3 of 6)
- Using Team Foundation Server to Create a Client Contact Database: An Overview (part 1 of 6)
- Using Team Foundation Server to Create a Client Contact Database: Where Are We Today? (part 6 of 6)
- Using Team Foundation Server to Create a Client Contact Database: What’s Next? Queries, Reports, and Future Goals (part 5 of 6)