Wednesday, November 18, 2015

VSTS Extensions - Requirements Integrator

In his presentation at Microsoft's Connect(); event, Brian Harry revealed the new VS Marketplace, where a wide variety of VSTS (the ALM tool formerly known as VSO) extensions are available for download.  I was fortunate enough to participate in dogfooding the extensibility model for VSTS, and my extension is now available on the Marketplace.
The Requirements Integrator extension is meant to bridge the gap between external requirements management systems and VSTS for Agile and Scrum projects.  Since CMMI already has the notion of requirements, I didn't see the inherent value in allowing my extension to import requirements into that type of project.  Having worked with external systems that manage business requirements as well as systems that manage the SDLC process, I could see where a tool that enabled traceability between requirements and Epics, Features, PBIs and Tasks might come in handy.
For now, import functionality is limited to MS Excel.  The plan is to expand that to encompass products like HP ALM, Sparx Enterprise Architect, and others.  Please feel free to visit the main page for the extension's repo on GitHub to see roadmap items, log issues, or create pull requests of your own.  Candid feedback is always welcome!

Thursday, September 17, 2015

Visual Studio Online Extension Project Template - Channel9

My video for the Visual Studio Online Extension project template has gone live on Channel9!  Please have a look at the Channel9 page, and feel free to download the extension from the VS Gallery!

Friday, August 14, 2015

Windows 10: Tools, Utilities and Information for Developers

There has been a lot of buzz recently about the release of Windows 10. Aside from the consumer hype, there has also been a great deal of love shown to developers. It’s easier to get involved in developing for Windows 10 than it has been for any other operating system. Following is a compilation of links that will get you the tools, the know-how and the means by which you can design, develop and publish great applications for Windows 10.  Enjoy!

Design: Design Windows 10 apps

Develop: Develop Windows 10 apps

Publish: Getting your apps published to the Windows Store

Windows 10 courses in MVA: Great site to get online courses on Windows 10

Channel 9: Another great online resource for Windows 10 related videos

Developer Tools Download: Download any Visual Studio sku, including VS 2015

Developer for Windows 10 – What’s New: What's new for Windows 10 Developers

Get Started: Getting started with Windows 10 Development 

Monday, June 15, 2015

BeeBot Makes his Debut

Today I had a really great opportunity to see my daughter in action. She had a special show-and-share day in her kindergarten class, and the item she wanted to show off was a robot that she and I designed, programmed and built.
That’s right.  She’s in kindergarten.  And she helped me design and build a robot.  Now for a little backstory.  About three months ago, my daughter came to me and said “Daddy, I want to build a robot.”  How could I possibly deny that dream?  I had picked up an Arduino Uno board a few months prior and had set up some basic projects, but nothing quite like a robot.  This was going to give me a chance to work with the Arduino controller more, and incorporate a Raspberry Pi, which was another device I wanted to get some experience with.  Not to mention the greater opportunity of having a daddy-daughter tech project.
The first thing we did was go through requirements gathering and design.  Heavy stuff for a six year old, I know, but I tried to keep it light.  I asked her to grab a piece of paper and something to draw/write with.  We started by talking about what she would want the robot to do.  Should it talk?  Should it move?  Were there specific “look and feel” items she wanted (i.e. different colored buttons, number of wheels)?  I let her go through her wish list of features and once complete, we ran back through it to see what was going to make the cut.  A few things got knocked out simply due to complexity, as I was planning on coding this in the Arduino IDE initially.  Plus, I wasn’t sure exactly what type of parts I would be able to get and I wanted to keep the requirements in a place where they were realistic.  I also asked her to draw what she thought the robot would look like once it was all done.

Figure 1 – Requirements and Design
Next I set out to find anything I could that would help achieve the goals set forth on the list.  I ended up getting:
  • A Raspberry Pi B+ (I would later swap this out for my Raspberry Pi 2 for reasons I’ll include in my technical follow-up to this post)
  • A SainSmart L293D motor control shield
  • Several micro servos
  • A ton of solderless wires (male/male, male/female and female/female)
  • A 3.5″ LCD screen that ended up being a dud – later replaced by an Adafruit compatible screen intended for an Esplora device
  • Four colored pushbuttons that were special ordered from China
  • A four-wheel motorized car base that came with a clear acrylic frame and four DC motors
  • A yellow bucket for the body
…and other assorted parts.  Again, more to follow in the technical follow-up post.  We worked together on deciding how to make things works, from how the arms moved to what the buttons would do, how the eyes would work, etc.  We recorded distorted voiceovers for the robot to correspond with each of the buttons.  She drew up pictures that would serve as the mouth for the robot depending on what button was pressed.  Then, some dad magic ensued, and today’s presentation seemed to keep everyone interested.

A closeup of Team Garverick.

The finished product (along with my Surface Pro).

Saturday, June 6, 2015

Apache Cordova Demo is LIVE!

Yesterday I was fortunate enough to have my Apache Cordova demo go live on the main Channel9 website.  The demo covers setting up builds on all major operating systems so that when you commit a change, it builds on all OSes simultaneously. In addition, I sat in (virtually) with Anisha Pindoria from the ALM Rangers to discuss sprint 83 highlights, my demo and other get-to-know-you type questions.
To find the S83 review, use this link.
To find the Apache Cordova demo video, use this link.
Candid feedback is welcome!  Please leave comments here or on the respective Channel9 pages.

Tuesday, May 19, 2015

TFS Build vNext: Mind Your P's and Q's

With the recent movement of the new TFS Team Build (also known as Build.vNext) into public preview, a lot of excitement is building in the ALM community about the features, ease of use and improved experience that the new build system is bringing.  There are blog posts and articles starting to surface about how to set up agents and builds, deploy applications to Azure and set up continuous integration and continuous delivery pipelines.
This is not one of those posts.
Instead, I want to focus on one of the behind-the-scenes features that make vNext tick.  Specifically, I’m talking about minding your P’s (agent pools) and Q’s (agent queues).  Queues are what process incoming messages (triggers) for build requests, and pools are collections of build agents that are available to process the requests coming in from the queue.
There isn’t any official guidance from Microsoft on how queues and pools should be established.  That’s not to say there should be, per se: the queue/pool setup is pretty straightforward and maintains a 1:1 relationship.  That being said, it may behoove you to set up separate queues in certain situations.  For example, you may want to create queues per application to funnel triggers toward a specific pool of agents for development teams or products.  You might also want to split up queues by operating system, in the event you are building apps with cross platform capabilities, and require the native OS components to build them.  In my walkthrough “Building Cross Platform Apps with Apache Cordova and Build.vNext“, I decided to use the OS approach to illustrate how multiple queues would work, as well as helping to isolate the OS-specific functions needed to complete the tutorial.  FrankenQueues
Does that mean you have to do that?  Nope.  In fact, for a lot of situations you could just stick with the default queue/agent pool setup and allow the build agents to be selected based on the requirements laid out in the Demands section:
FrankenMacBuild
The demands listed (such as visualstudio, vstest, and java) will route the build to any agents that are online and able to satisfy those demands.  There are other settings that also factor into what agent is selected, but the easiest way to control what build goes where is to set up the demands section to have specific needs that match up with agents you have in your build ecosystem.

Sunday, May 10, 2015

TFS Storyboarding: Give your Vision a Visual!

While the concept of storyboarding has been around for quite some time, it’s not entirely clear that the practice outweighs the theory when it comes to usage in the field. In addition, some tools can be costly and may not be able to integrate well with your SDLC. One tool that is free of charge, and integrates nicely into an existing SDLC with a minimal learning curve, is the TFS storyboarding add-in for PowerPoint.
The add-in allows you to leverage PowerPoint to put together a step-by-step flow of your concept that is easy to understand and gives developers and other technical colleagues a reference point when reviewing PBIs. Having that visual helps quite a bit when you are trying to establish work items to go along with those PBIs, and gives all parties involved a better sense of security that requirements are being properly conveyed to the team whose responsibility it is to bring them to life.  While not true of every organization, many companies do have Office 2007 or greater, which is half the battle.  In order to install and use the TFS storyboarding add-in you must also have a copy of Visual Studio Premium, Ultimate or Test Professional (2012 and 2013 are supported currently).
You do not need to have TFS in order to use this add-in.  It relies more on Visual Studio than it does TFS or Visual Studio Online.  You can launch storyboarding from both of these platforms, though, which is convenient.  You can also link a storyboard directly to a TFS work item.  A great overview of how to use the add-in can be found on the Microsoft Developer Network’s site.  One of the key features of this add-in is the ability to create, import and export custom storyboarding shapes.  These can be anything from your company logo to screen mock-ups that are specific to internal applications you work with to icons and device types.  There are some great community-backed shapes posted in the Visual Studio Gallery, including iPad/iPhone shapes, Windows 8 shapes and even a nifty branching and merging shape which could be used to storyboard existing or new branching/merging strategies for your code base.  You can also find some re-sizable storyboard shapes in the Microsoft Visual Studio Team Foundation Server 2013 Power Tools extension.
Despite there being a slight learning curve on using the add-in and getting storyboarding started for your team, I guarantee that once you do, figuring out what the customer wants will no longer be a gamble and will more likely be a sure bet.

Friday, February 13, 2015

A Call to Action: Feedback Needed!

One of the best parts of being involved in the Visual Studio ALM Rangers is giving (and receiving) feedback from the field in relation to solutions that have been released, are in flight, or are mere glimmers waiting to be started.  Yet another is being able to reach out to other colleagues to request the same level of feedback!
Please see the links below, which are chock full of great content.  Your feedback, ratings and general enthusiasm around these and other Rangers projects help to keep the community going and gives those of us working on these solutions some great ways to make things better for everyone.
Here are the latest Channel 9 videos:
Extracting Effective Permissions from TFS
Monthly Catch-up: S77
Here are the latest announcements:
Extracting effective permissions and Security Auditing for TFS
Understanding migrations from on-premises TFS to Visual Studio Online
Git support included with the extracting effective permissions sample and research completed
Understanding TFS migrations from on-premises to Visual Studio Online – Part 2: Walkthrough
Feedback for any of the aforementioned items can be left directly on the video or blog pages.  Questions?  Feel free to reach out to me directly.  Suggestions for gap-fillers?  Please submit them via the Visual Studio page on UserVoice!

Tuesday, February 3, 2015

Migrating TFS to VSO: A Whitepaper Walkthrough

Recently I was fortunate enough to work with some fellow Visual Studio ALM Rangers on a whitepaper detailing the migration of an on-premises Team Foundation Server (TFS) instance to Visual Studio Online (VSO). It’s a good read and the team did a great job putting the narrative together so that it’s easy to follow along. Check it out here: TFS to VSO Migration Walkthrough
Candid feedback is welcome!