Background
All software development teams use some some sort of bug tracking and task management system. At Microsoft (MSFT), these teams use an application called Visual Studio Team System (VSTS) an enterprise-class scalable system that was developed in-house by Microsoft and released to the public this past Fall. One of the project managers for Visual Studio Team System has been a MindManager user and saw an opportunity to use MindManager to fill a hole in the product development lifecycle managed by VSTS. His idea was simple: use MindManager during the requirements gathering phase of a software project and have those requirements published to VSTS as work items (the individual units of work in VSTS).
Can this be done?
Because I developed a similar integration scenario for Salesforce.com, I knew that it would be possible, but at the time that the idea was proposed, we still had MindMangaer X5. MindManager 6 was still in development and I knew that some new features that would be in MindManager 6 would make it much easier to build. In addition, in MindManager 6 the integration would be much more seamless because of the new business topics feature and the ability for add-ins to add task panes. At that point, I just wanted to make sure that when MindManager 6 came out, it had the functionality to support such an integration. Since that initial contact, we have had many other discussions with other vendors of project management software systems and we started to see a pattern emerge:
Use MindManager to capture ideas, organize the ideas to assigning them meaning, and share them with others using an project management system. In this way, the map that was used to plan a project and develop the consensus and buy-in is now used to track its progress. The team members who were in on the planning all left the planning meetings with the same pictures in their minds (the maps) and they were all, literally, on the same page.
Where There’s a Will…
Just like MindManager, in developing VSTS, Microsoft built an application programming interface (API) with the intention of having other companies build extensions and integrations to it. All enterprise-class software has some sort of API, so that’s a good indicator of the intentions of the vendor that you buy software from. The very smart people on the VSTS team at Microsoft put much thought into the design of this API to make it powerful but also easy to use. But the real proof is in how long it would take an independent developer to understand it and develop something useful with it?
The Answer is: 4 Days
Because of our mutual desire to demonstrate an integration, Microsoft invited me up to Redmond to be part of a Visual Studio Industry Partner (VSIP) program for a four-day dev lab at the Microsoft Platform Adoption Center. At this dev lab, they would supply me with the hardware, software, and technical resources to be able to understand and develop the integration. After an initial meeting to outline the scope of the project, the very helpful Mareen Philip was assigned to help me with this and guided me through the API. Before the start of the dev lab, I had never used VSTS or see its API. I started out my project with the Visual Studio Add-in Template that Vivek Vishist, our solutions engineer, had built and was able to build the basic functionality in about 1 1/2 days and finishing the project in 3 days with bi-directional data transfer and automatic link generation. It took another day for QA, building an installer, documenting it, and making a demo video. (And I did have a full night of sleep each night). It is available as a free download (with source code) at blog.mindmanager.com/labs/mjrm.html. Watch the flash animation demonstration on that page to see it in action.
My Conclusions
-
Microsoft Visual Studio Team System is a powerful, extensible software project management system.
-
Microsoft really wants their partners to succeed, as evidenced by their VSIP program and Platform Adoption Center.
-
It’s really easy to build Capture, Organize, Share integrations with MindManger Pro 6. Why don’t you give it a try?