Posts

Showing posts with the label TFS

How TFS 2013 Calculates Story points for Velocity Graphs

Image
TFS 2013 grafts Agile on top of their traditional task model.  The TFS web interface is significantly more functional than previous iterations. Sprint-to-Sprint Velocity TFS Scrum and Agile templates automatically calculate per sprint velocity  based on the  Story Points of User Stories with the current iteration path. Setting the Iteration Path essentially commits  the team to the User Story for that sprint. The following diagram shows the number of story points for User Stories committed to over the last 5 sprints. Green represents story points for C ompleted stories Blue represents  story points for Active  stories.  Previous stories can have some blue if stories were left open at the end of previous tasks. TFS Story Point Calculation Commitment Issues Teams commit  to certain stories in the sprint by putting them in the sprint Iteration Path.  They base the number of committed stories the sum of the story points fo...

Choose the right workspace type when using Team Foundation Server and Eclipse

Image
Microsoft has a nice TFS Eclipse plugin that acts like any other Eclipse team provider.  It provides full TFS Source Control and Team view support inside of Eclipse. You can find information about the plugin on the the Microsoft MSDN site . Team Foundation Server supports TFS version control (TFS) projects and GIT version control (TFS) projects.  TFS uses the concept of a workspace to track changes.  A TFS Project Workspace can be managed as either a "Server Workspace" or "Local Workspace".  There are several good articles that describe how this works phkelly's blog  and MSDN documentation . Server Workspace : These were the default for all workspaces created prior to TFS 2012. Server Workspace follows an older convention where all files on the local machine are marked as "Read Only" until checked out for modification.  This means you cannot edit files outside of TFS or Eclipse unless they have already been checked out for modification. Server w...

Running the Microsoft ALM TFS 2013 (Hyper-V) Virtual Machine in VMWare without Persisting Changes

This blog describes how to run the Microsoft TFS/ALM Hyper-V virtual machine in one of the VMWare hypervisors (Player/Workstation/Fusion). You can use the same concepts for any other virtual machine/appliance. The 2013 RTM  ALM image comes with a set of TFS and Visual studio labs .  The virtual machine and the labs  have a couple expectations: It comes as a a Hyper-V VHD running an evaluation copy of Windows Server 2012. The work items and other information are "point in time" information.  This means sprint, iteration or other information can only be used in the labs if the VMs time is set to a specific date(s).  The machine resets the time to the same specific date and time on every reboot. This lets you re-run the exercises.  Pay attention to the places the way the time is set if you wish to use this process for Virtual Machines anchored at dates and times other than the ones used for the TFS 2013 RTM ALM image used in this post. The labs work bes...

The simple but awesome NeoPixel Shield with an Arduino

Image
The folks at Adafruit have put out a nice "NeoPixel shield" which is essentially an 8x5 addressable RGB LED strip built into an Arduino shield.  They have created a nice library available on github. You can see the project on their product web page .  Here is a picture of the board mounted on an Arduino Uno. The LED in the bottom right corner is LED 0.  The LED in the the bottom left corner is node 7.  The second row up is node 8-15 and so on.  The LED in the upper left corner is node 39. This picture shows the LED panel on my desktop. It totally overwhelmed the camera to the point that the rest of the room looks dark. Firmware I've created simple Arduino firmware that lets you send LED blinky commands over the Serial Port via USB.  You can set each pixel color individually along with one of 10 blink patterns.  Pattern 0 is off and pattern 1 is solid on so there are 8 actual blink patterns.  The firmware is located on github . The ...

Talking to a Bluetooth Arduino RGB Lamp from C# for Continuous Integration

I previously posted some C# code that I use to gather build status information in a Continuous Integration environment. No CI environment is complete without the Big Red Build  light. In case I'm using a custom dual RGB LED lamp controlled by an Arduino.  This build light communicates through a SparkFun BlueSmirf Bluetooth adapter in it that appears as a COM port on a Windows PC after pairing. The BlueSmirf talks to the Arduino over it's RX/TX pins making it simple to communicate with on the Arduino using it's Serial libraries.  There are newer versions of the BlueSmirf that appear as HID devices for driverless communication but I still like the simplicity of the COM interface and haven't upgraded yet. The ArduinoRGB.cs  C# class accepts a serial port as a constructor and provides a simple API for turning on the various RGB combinations along with programmable blink rates. The API supports multiple RGB lamps in a single device.  TheArduino Uno has 6 PWM ports,...

Gathering TFS Build Information for Continuous Integration

Image
I've moved to a new .Net based project where we use TFS as our build system.  The project is pretty large with 150 developers and over 65 deployable applications, programs and NuGet packages.  The CI, systems integration and stable branch builds results in over 200 different builds on the TFS server.  I'm mostly interested in the Continuous Integration builds, 65 build,s that I'd like to monitor. I really don't want to manage 65 lights, even though that's an excuse for a new hardware project. In this case I'll treat the 65 builds as if they are a single composite build tied to a single status light.  I'll do the same with each of the branch / target types so that I have 3 sets of 65 builds to monitor. The first step is to write some C# code that talks to TFS to get the status of the builds I'm interested in. Microsoft provides a .Net compatible library for communicating with TFS in the Microsoft.TeamFoundation set of libraries. This provides a s...