Thursday, November 19, 2015

VSTS Extensions - new Era of extensibility

Today Microsoft launched the new Extensibility model and equally importantly, a new Marketplace for extensions and offers surrounding VS Team Services, yes the renamed it .   Extensibility and customization has always been things that I feel very passionate for, so Im proud to have two extensions I’ve been working on in early adopter’s programs - live in the new marketplace.

Back to Extensibility first Extensibility and customizations has traditionally been one of Microsoft stronghold. Then moving to providing a hosted service, Microsoft set out to build it extensible, but things doesn’t always play out as you expect, and during the last 2-3 years the extensibility platform was frozen unpublished. But today Microsoft is back on track again, not only providing an cross platform extensibility platform for 3:rd parties, but making it a key aspect of future development, as they utilize the extensions platform themselves for building and releasing new features, and even repacking parts of the current product as extensions.

Marketplace - A new echo system
Although Microsoft has had a strong community and a large gallery of extensions. But the one thing that’s been hurting the Microsoft Echo system is the absence of a simple one stop shop for acquiring the add-ons needed for your development team/project regardless of if its free or paid. The new marketplace attempts to fill that gap bringing everything together and enabling a commercial backend to enable easy the purchase and help developers monetize on their effort. Hopefully the new Marketplace will bring a new momentum and dynamic both users and developers of extensions and add-ons.

Marketplace  - Live in Preview
During Connect Microsoft launched the new Marketplace, although still in Preview – it already had a lot of extensions and partners present. While anyone can sign up for a free Extension developer account, build, upload and share extensions to other accounts, publishing and making the extension publicly available on the market place is still limited to trusted partners and the early adopters and who have been building extensions and dogfooding the extensibility story in private preview.

Building extensions in private preview
As an MVP and ALM partner, I’ve been constantly nagging about the missing extensibility story during the last couple of years. So then the offer came to join the Private preview and help dogfood and shape the extensibility story, it didn’t take me long to jump onboard.
As the new extensibility model is all based on web technologies, one challenge was to catch up and get up to speed on everything that’s happened on the web for the last 10 years. If that wasn’t challenging enough – building for a platform and SDK that’s constantly growing and moving, with new releases every 3 weeks is also a challenge. To summarize its been a challenging road but also a lot of fun.

Enhanced Export
The Enhanced Export extension is actually my second project I started. Its released as a “personal” project and I got lots of ideas on how to making it even better. The basic is to render data – like test plans or work item queries using templates that the team/project can manage themselves.
https://marketplace.visualstudio.com/items/mskold.mskold-enhanced-export

Test case Explorer The Test case Explorer is released as a Microsoft Labs extension, but developed by Mathias Olausson and me, with much cooperation and engagement from our Microsoft product owner Ravi.
Test Case Explorer lets users view, pivot and filter the “test case” repository without manually creating different quires.
https://marketplace.visualstudio.com/items/ms-devlabs.TestCaseExplorer

Saturday, May 9, 2015

Visual Studio Online getting Enterprise Ready

During the last 18 months I’ve noticed an increasing interest for Microsoft’s Hosted ALM solution Visual Studio Online (VSO) amongst our clients. Although the interest is strong also amongst larger enterprises, almost every time the outcome or conclusions of looking deeper into it has been the same – “Very interesting, but not for us at this time.” 
Well, with the announcements made at Build this week, it’s about to change.

Current blockers for the Enterprise
For the enterprise customers, there is mainly three things or blockers that quickly kills the interest in moving to move to the cloud:
  • Lack of process customization
  • Lack of reporting
  • Cost of moving to VSO 
In this post will look into those points and how it’s about to change with the announcements made at build.

Lack of process customization
The lack of work item customizations is a blocking factor for most of our enterprise customers. Although there is several ways to do lightweight customizations like using Kanban states and tags, most customer either have invested in customizations, and either depends on their customizations or fear the work and tradeoffs needed to move to VSO and loosing there customizations and needing to rethink their workflows..
VSO Process Customizations in Private Preview
With the announcements that VSO going to fully support work item customizations, this blocker will simply be removed. Not only will customers be able to customize the work items and processes, customers will be able to take their existing process templates and customizations and move/import them to VSO, making it possible/easier to move existing projects to VSO. It will probably take a couple of months to a year before we got everything done and sealed, but for those in a hurry, there is a private preview right now.
You can find the announcement at http://blogs.msdn.com/b/visualstudioalm/archive/2015/05/05/visual-studio-online-process-customization.aspx

Lack of reporting
While we don’t see the same existing investment and use of custom reporting (which in itself is a bit strange), the fact that VSO doesn’t have a reporting solution is a major issue (or rather fear) for larger enterprises. The fact that Microsoft has included “light” weight reporting capabilities in VSO doesn’t seems to be enough for many of the enterprise customers, who is faraid of moving to a solution without custom reporting  capabilities.

PowerBI adapter for VSO
At Build, Microsoft announced the PowerBI adapter for VSO. As a first step the adapter only enables source control data, but Microsoft plans to continue to add support for other ALM data aggressively. Starting with Work Item tracking data as soon as next couple of sprints, and build and test data is next inline.
So in a couple of months we will hopefully have the Reporting blocker not only resolved, but also turned to an enabler.  PowerBI is a very promising direction with a lot of capabilities that can enable and promote analytics and increase insights and understanding far better than the current reporting capabilities can.
Read more about the PowerBI adapter at http://blogs.msdn.com/b/visualstudioalm/archive/2015/05/04/gain-understanding-and-insights-into-projects-in-visual-studio-online-with-power-bi.aspx

Cost of moving to VSO
Once the announced features are fully in production, and the corresponding blockers been removed, there is still one obstacle left for enterprises wanting to move to VSO – the COST of moving. Currently there is no good and easy way to move your TFS instance to VSO. While Microsoft done some work to support moving a project to VSO, it’s still a far from good solution to move a single project to the cloud. Moving projects or rather data for 100’ths of project will take both time and cost money.
With the current solutions for moving to VSO its’ hard to get short term return of investment of a move. Even comparing an upgrade to tfs 2015 with moving to VSO, will in most cases favor an upgrade in the short term. 

VSO – Long term feasible?Perhaps the most interesting question is, is VSO long term feasible for the enterprise. The answer to that is as you might suspect dependent on the enterprise, and a lot of question needs to be asked if you’re going to find a reasonable answer. But at least we will soon have a viable alternative to hosting TFS on-prem.

Tuesday, January 20, 2015

Renewed again !!!

Since I got the MVP reward, January the 1:st has got an extra twist, it is the day then I’m hoping on getting a Renewal email in the inbox. This year I'd ensured that it shouldn’t get stuck in the spam filter as last year.
This year I was bizzy packing for a 2 weeks’ vacation to Thailand, replacing the boring +2 C not really winter weather with sun and 30 C. Then the evening came I checked the email, I couldn’t just go without knowing, and sure it was there, the congratulation email.
For those wondering what you get as an MVP,
But for me, the best thing is being a part of the amazing ALM group, counting both the MVPs and MSFT product groups…
its mostly the title and the glory. But you also get an MVP Award kit, So after 2 weeks, actually perfectly timed to the first day back in Sweden, I got my award kit. I should also add that you get an MSDN Ultimate & Office 365 subscription and a couple of other benefits.

Sunday, November 2, 2014

Tfs Branch Tool for Visual Studio 2013

This week I published a beta 1 of the TFS Branch tool for VS 2013. The reason for shipping a Beta 1 is mainly to get a version supporting VS 2013 out there, as more and more request and ask for it comes in. The reason ¬for calling it Beta 1 is that it contains a couple of new features, witch I want feedback on, and they haven’t had time to go through the amount of testing I want before releasing it as a final version

What’s new
Apart from supporting VS 2013, the following news is introduced.
  • Improved distribution / support for customizations
    The tool now automatically load branch plans from source control.
  • Dynamic menus – Go direct to the operation you want
    You can now select the desired operation directly in the menu instead of selecting the form
  • New action for Copy File or FileStructure
    You can now modify the branch plan to add files or a part of a file structure to source control.
I’ll go through the different news in more details below. But first I want to share my thoughts on the why some of this features is introduced and the direction for the tool I have in mind.
 
The future branch tool
My goal with the branch tool is that it should add value to team by helping them automate some of the manual processes we have with branch and merge to day. The first step is enable team to easily customize the branch plans.
Once that is done, we need to provide a way to let the tool understand and adopt to the teams context. If the tool could know witch branch is the current dev and main branches, the tool could present Operations like Forward and Reverse integration and prepopulate the needed parameters accordingly.

Another direction is to be able to automate the whole flow. Then a team decide to release a build, it could simply select a New Release operation, Select witch of the main branch builds to release., provide some parameters and let the tool Find the build, lock it, branch the main code for that build to a release branch, set security on it and generate the release notes from the previous release.

In short there is a lot that could be accomplished, it’s just the small issue of taking it from a vision or idea into a working solution. Meanwhile you can read below on that’s been delivered in this release.

Improved distribution / support for customizations
Although the capability to modify or customize the branching strategies was a key architectural concern, one of the epics that didn’t make it into the ALM ranger project and first version of the Community Tool was the capability to easily distribute the customizations made. This made it hard to actually do a customization in the real world. This problem is hopefully now solved!

The new version of the tool automatically check in source control for any customizations made and loads them with higher priority than the default templates. To add and distribute your own branch plans , just checkin the .branchplan file to a folder BranchToolSettings in the root folder of your teamproject.
Dynamic menus – Go direct to the operation you want
In the new version, the Branch Tool Menu is now automatically populated with the different branchplans or operations, so you can select directly in the menu what you want to do.

New Add File or File structure actions
A common ask has been to be able to include a predefined set of files or a file structure then performing the operations. Now you can both add files and file structures, both from the local filesystem/unc path or from a source control path.

Tuesday, April 29, 2014

Extending Manul Notifications to the web

In the last post I wrote about Manual Notifications and the Visual Studio extension for Manual Notification which I created. In this post I’ll show a solution to bring Manual Notifications to all clients and users of your project.

VS Extension a first step. When I started developing the TFS Notify VS extension I knew from the start that it would only server as a first quick fix, as it only is available inside Visual Studio. For the many users who interacts with TFS through the Web interface, we need to provide something different. Unfortunately Microsoft hasn’t released a supported way to extend the web interface, so we’re need to find another way to bring the notification feature to the web.

Customizing the Web through work item definition customizations
One of the things we can customize which affects the web interface is work item type definitions. Instead of developing a custom work item control with the wanted features, we can simply create and deploy a simple webpage and “plug” it into the work item form using the standard WebPage control, passing the needed data as parameters.

Tfs Notify Web project
As I had a decent layered WPF client, creating a web solution what does the same thing as the wpf client was most about adding a web project and providing a html view on the model, keeping the existing code shared and unchanged between the Web project and the WS extension.  The trickiest thing is probably to deploy the web solution to a server.

Tfs Notify work item customizations
Once we got a webpage, we need to add a Web Page control to the Work Item type(s) you want to enable manual notifications on. To connect it and send the parameters, just select the Control Settings property and click the button. This will bring up a form that lets you specify the URL and parameters to the webpage. You can use $(FieldName) to pass field as parameter.

The result
I choose to add the Manual Notify page in the history tab. This is the result...







Friday, April 4, 2014

TFS Notify – Manual Notifications for TFS

Ever wanted the possibility to pick a work item, email it to someone with a comment, change the state and have the comment added to the discussion of the work item? Many ticketing system have this capability, mostly called Manual notify, but as a TFS user, there hasn’t been a good solution, until now.

Manual notification
Moving a lot of teams and organizations to tfs, I sometimes come across the need for manual notifications, and this week I did again, then I occasional talked to a colleague over coffee and he complained about him being forced to do double entry of work item data, due to the lack of manual notifications in TFS.

Can’t be done
In the discussion one thing triggered me, apart from being a known feature gap, and that was the fact that my colleague had been told it couldn’t be fixed with TFS. After looking at the current solution he had in the other ticketing system, and matching it to what I have come across earlier, I had a clear picture of the need, and how to solve it.

A flu and a couple of evenings = Minimal Viable product
having a need and an idea how to solve it, the only thing lacking was time. (Un)fortunately, I had managed to catch a slight flu, which prevented me from normal, sensible,  activities during the evenings of the week. With the time at hand, and a little (but very important) help from Neno, I created the first minimal viable product to at least solve the problem for some people.

TFS Notify – a Visual Studio Extension available at Visual Studio Gallery
I choose to implement the solution as a Visual Studio extension at first hand, mainly because it is a solution that has the lowest distribution and adoption barriers and the best user experience. For me it’s also very easy to get started and productive. The extension is available for download at Visual Studio Galley http://visualstudiogallery.msdn.microsoft.com/aa48c2c8-e420-469f-8d20-3bcea2c97b24

The future of TFS Notify
My immediate plans for TFS Notify is to develop a solution/extension that works with the TFS web access. Apart from that I got some ideas on the backlog for the Visual Studio extension, but as time is time is scarce and I have many ideas, the future of the TFS Notify extension is dependent on the on the traction and feedback it gets.

Alert me & Alert people for specific work items
An easy way to create alerts for me and for other people on a specific work item with one or two click, is also a fairly common ask from teams adopting TFS. The TFS Notify extension provides a platform for adding that capability fairly easy, but as usually, time is a scarce commodity 



Sunday, January 5, 2014

Renewed !!!

I started the year 2014 sick in bed, and for one reason I actually think it might have been a good thing.  On the first day of the New Year, many MVP hopes to receive a renewal email, and so would I have done, if I wasn’t in bed with high fever and completely occupied with getting better.

The good thing is that if I hadn’t been occupied I would probably have become a bit nervous waiting for a renewal emails that never came. The experience of going through the mailbox a couple of days later, looking for the renewal email was enough, as there wasn’t any. Luckily I checked the Quarantined Email Summary email sent two days after, and there it was - Congratulations 2014 Microsoft MVP!  


Im both honored and proud for the recognition, but mostly Im looking forward towards another year with the warm and friendly ALM community.

Monday, September 30, 2013

New Release of TFS Scorecard for TFS 2012.2


The TFS Scorecard is one of my oldest projects, starting back at the tfs2005 days and based on Microsoft TFS dogfooding queries. With each new TFS version there has been a new release of the TFS Scorecard, adopting to changes in TFS and adding features.

Dependency on the TFS database schema

The TFS Scorecard is based on the Microsoft TFS dogfooding queries against the TFS Collection database, and therefore has a dependency on the TFS database schema. As you might know the TFS database schema is not public and subject to change with every release. Historical those schema changes has been limited to the major version upgrades every second year, and Microsoft has provided us with new updated dogfooding queries for each release.

TFS2012 Update 2 schema changes

With the new release cadence of TFS releasing new features with quarterly updates, the speed of the schema changes has picked up also. Although not all schema changes affects the dogfooding queries, but the TFS 2012.2 update did. Not much, but enough to break TFS Scorecard report.
TFS Scorecard 2012.2 released
After an update on the queries was published, I’ve implemented it and pushed a new release compatible with the TFS 2012.2 release. You can find the release at http://tfsscorecard.codeplex.com
Note that the new release only works with TFS 2012.2 or later versions, if your running TFS 2012 RTM download the old TFS 2012 RTM release

New Features in the TFS Scorecard 2012.2
Apart from fixing the dogfooding queries, I’ve also managed to do some work on the Activity logging part. One of the major things is that I redone the translation of the logs to user friendly names in the report. Hopefully it will make the report easier to read for you.  I also introduced some structure to group different tools and releases together. Making it easier to spot both who on VS 2008, 2010 and 2012 and at the same time be able to drill down to the different 2012.x updates.

Future directions of the TFS ScorecardA lot have happened since 2005, new report and visualization tools, clouds and new access methods for consuming data, and the new release cadence of TFS. It got me thinking about the future for the TFS Scorecard. Perhaps it would be time to split the TFS Scorecard report into independent peace’s and even moving some of the pieces to other technical solutions. Nothing is decided yet, so If you have any thoughts or ideas on this, I would appreciate the feedback.

Wednesday, September 18, 2013

Minor update: Tfs Admin Toolkit 1.3.1

I just uploaded a minor update to the TFS Admin Toolkit, addressing some user feedback and fixing some minor bugs. The biggest thing would be support for multiple filename masks!

You can find the new version at Visual Studio Gallery http://visualstudiogallery.msdn.microsoft.com/96a425aa-9ef0-4a92-b874-217d544a74bf

Saturday, August 3, 2013

New release: Tfs Admin Toolkit 1.3

So it’s time again, a rainy day or two in an otherwise warm and sunny summer vacation, and a polite request in the same direction as my previous thoughts and I suddenly I had improved the Find In File feature.  I had also made some improvements to the Test Attachment Sizes feature earlier (the code for them have been available on CodePlex http://TfsAdminToolkit.codeplex.com).

Putting them both together and it's time for a new release of tfs Admin Toolkit 1.3 to Visual Studio Gallery, you can find the new version at http://visualstudiogallery.msdn.microsoft.com/96a425aa-9ef0-4a92-b874-217d544a74bf

Preview and Open File in Find In Files
I made two improvements to the Find In Files feature, the first one is adding a preview pane showing the text and the matching string marked, from the selected file in the search result table , as shown on this picture.

The second improvement is perhaps a bit harder to notice, but if you right click (or double click) on a row on the search result and select open file, Visual Studio will open up the file and navigate to the line with your search match.

Splitting test attachment cleaning jobs
If you’re cleaning out large amounts of test attachments you may run into problems like performance, availability and even timeouts. To avoid those problems you may need to clean out your test attachments at small chunks, by manually editing the test cleaning config file and running the cleaner job multiple times, typically limit the date/age span for the clean, for each chunk.

I added the capability split a cleaning job into smaller chunks by age and automatically generate config files and execute statements. 


You can also select file types to include in the cleaning by selecting them in the UI.

By overriding those values, the tool will create project specific copies of the config file and modify the project specific config files for you. I also added a very basic capability to copy the content of the main grid to the clipboard.


Tuesday, May 21, 2013

My first book project completed - Pro Team Foundation Services

I’ve just completed one of the most fun and challenging hobby project I ever committed to. For the last 10 weeks I’ve been writing on a book on Microsoft’s hosted Team Foundation Services, together with 3 of my friends and colleagues Mattias Olausson, Joakim Rossberg and Jakob Ehn. It’s my first book project and to me it’s amazing to see the hard team work resulted in a real book – Pro Team Foundation Services, that’s now available in the stores now.

Writing a book – let’s make it challenging
Writing a book can be a challenge, but this project’s had two extra challenges. The first was a 10 weeks hard none moveable deadline. We had 10 weeks to get the Book done, turning it from a rough Table of Content to a 400 page book.
The second challenge was to write a book on a moving target like Microsoft hosted Team Foundation Service. Microsoft deploys a new version every third week, with new improvements and features. Thanks to the cooperation and support from Microsoft and hard work, we managed to align our plans and the book to Microsoft planed releases.

A book project is Team Work
As I said this was my first book project, even though I had some thoughts about writing earlier, but I can’t overstate how happy and grateful I am that I jumped aboard, and for the phenomenal team that worked together to make it happened.  Working with three other Authors with experience helped me a lot. But there is much more than just an author behind a book, there is a complete team with Book Editors, Technical Reviewers and many other people contributing -Thanks Mark, Matthew, Mary and Jonathan and the rest of the Apress team. But we also worked closely with other MVP’s and Microsoft Product Groups - Thanks Terje, Jamie, Will, Ravi, Anu, Vijay, Ed and Brian thanks for your invaluable support, input and feedback.

The book Pro Team Foundation ServicesI might as well tell you something about the book also  Pro Team Foundation Services aims to help you to implement agile and ALM practices with Microsoft Team Foundation Services. From deciding whether or not you actually should use the hosted service or not, to having your project setup, planned, developed, tested and released using agile practices.

You can read more about the book at Apress or Amazon .

I definitely learned a lot writing the book and I hope you will find the book useful.

Wednesday, April 3, 2013

TFS Community Branch Tool released at Visual Studio Gallery

I’ve  just released the Community Branch Tool at Visual Studio Gallery. It's is based on the ALM Rangers Quick Response Code Sample Tfs Branch Tool. And Im now converting it to an Community project to continue develop it, and make make the tools easily available and accessible for everyone.

Links and locations
You will find the Community Tfs Team Tools at http://visualstudiogallery.msdn.microsoft.com/ce9651af-671c-4148-987f-a91820646031 and the source code will be published at https://tfsbranchtool.codeplex.com/

Demo Video
Willy Peter Schaub, has made a video demonstrating the feature set of the ALM Rangers Branch Tool on channel9  http://channel9.msdn.com/posts/Quick-tour-of-the-TFS-Branch-Tool-VS-Extension. For an in-depth session about the architecture of the tool please refer to
http://channel9.msdn.com/posts/RangersTalk-An-insight-into-the-inner-world-of-the-Quick-Response-TFS-Branch-Tool


Based on the ALM Rangers Quick Response Code sample
The TFS Community Branch Tools Project is based on the ALM Rangers Quick Response Code Sample Tfs Branch Tool. If you want to know more about the ALM Rangers or the Quick Response Sample that started it all, please read the following posts
http://blogs.msdn.com/b/willy-peter_schaub/archive/2012/06/22/introducing-the-visual-studio-alm-rangers.aspx and http://blogs.msdn.com/b/visualstudioalm/archive/2012/11/22/quick-response-sample-visual-studio-extension-to-support-the-alm-rangers-branching-and-merging-guidance.aspx

Thursday, March 28, 2013

New release: Tfs Admin Toolkit 1.2

It’s been a while since the last update, but yesterday I released an update of the TFS Administrators Toolkit. Most of the new features was implemented months ago, and the source has been available in the CodePlex project, http://TfsAdminToolkit.codeplex.com.  Before I published a new release of the tool on the VS Gallery, I wanted to fix some bugs and try to address some of the feedback I got.
 
Find In Files integrated in source control explorer
One of the improvements I’ve made is to integrate the Find In Files feature into Source Control Explorer by adding a context menu. Now you can right click on any folder and Select Find In Files to do a recursive search in that folder. I’ve also, hopefully, fixed some bugs reported.

Improvements for Test Attachments Sizes
I made some UI improvements, like encapsulating the display of Total test attachments sizes in an expandable section. I’ve also added support for the 2012 version of TestAttachmentCleaner, as well as some other minor improvements.

Update Reports and Portals
The Update Reports features has been updated and is now called Update Reports and Portals. In the new implantation you can now select if you want to either update reports, portals or both for existing team projects. I also improved the logging features by parsing the log file for pushing new reports or portals and offers a way to easy open the logfiles.


Saturday, February 16, 2013

New release of TFS 2012 Community Tfs Team Tools



One of the things I like with publishing tools and sources is that sometimes you get feedback from users who actually uses and benefits from your creations. It’s a rewarding feeling then someone takes their time to share their experiences, good or/and bad.
The one thing that’s even more rewarding in then someone not only uses it, but also get involved to make it better. 

New features added by Jesse Houwing
This is the case in the new release of the TfsTeamTools, Jesse contacted me to inform that he had extended the tool with a couple of new features he needed, and offered to help get they implement in the TfsTeamTools project. So this community project got one contributor added and a new release

This is a short description of the added features, for more details please refer to Jesse’s excellent post. 
New release available on CodePlex
To make is easily available we published a beta release on codeplex. Once we have done a more extended testing on it we will make a stable release and also publish the new version to Visual Studio Gallery