Historical Debugger and Test Impact Analysis in Visual Studio Team System 2010

I was browsing some of the awaited-for Visual Studio 2010 and I found a video about two interesting features related to what we do everyday (and I do not mean coding ;))

The first feature is related to debugging “history”. Normally, when you find a bug while running your program, you insert multiple breakpoints on the statements you suspect might caused it, and repeat the scenario or restart the debug session.

With history debugging, you don’t need to do so, since the history debugger “logs” every event in your application, so you can “pause” running and inspect all the previous events and may be check if there were “swallowed” exceptions.

The second feature, is when you want to modify some “unit-tested” code either for bug fixing or refactoring, and you want to re-run the impacted tests. Normally it is hard to determine which tests are affected so you run all of them, but with Test Impact Analysis in VS 2010, you can get the impacted tests once you save your modifications, so you can either commit your changes or undo.

Here is the 19 minutes video showing these two features on Channel 9

Historical Debugger and Test Impact Analysis in Visual Studio Team System 2010

StyleCop for ReSharper has been released

StyleCop for ReSharper has been released last week as a plugin for ReSharper to bring StyleCop code styling issues to ReSharper real-time syntax highlighting, quick-fixes, and Code CleanUp.

Although I personally don’t like many of StyleCop rules, but like ReSharper rules, they can be turned off individually. The plugin performance can also be customized from within the ReSharper options window.

More about StyleCop:

Microsoft StyleCop analyzes C# source code to enforce a set of style and consistency rules. It can be run from inside of Visual Studio or integrated into an MSBuild project. It is another static analysis tool by Microsoft like FxCop, but the later analyzes the compiled object code for design issues, not the source code.

More about ReSharper:

ReSharper is a Visual Studio add-in created by JetBrains (the creator of many software productivity tools like IntelliJ®IDEA the Java IDE, TeamCity™ the build integration server, and dotTrace Profiler)

I have been using ReSharper almost since I started using Visual Studio and it has always been a complement to it. Even when Visual Studio evolved from 2003 to 2005, and finally 2008, ReSharper has still much to add.

One of the features I like most in ReSharper is its ability to detect syntax and styling error while you type, refactor code quickly, suggest variable names based on classnames, highlight redundant code, make code more readible, find references and jump to it directly if only once.

There has been some talks that Visual Studio 2010 is actually 2008 + ReSharper because of a mistake they made when they posted some snapshots of Visual Studio 2010 with ReSharper menus and screens in it.

Microsoft on the other hand had been promoting one of ReSharper competitors and announced a cooperation with DevExpress to license a free version of CodeRush Express exculsively for C# developers working on Visual Studio.

kick it on DotNetKicks.com

Scrum for Team System

It is unlikely to find an agile software project not using JIRA, Subversion, CruiseControl, or some other agile productivity suites. One of the most commonly used suites in Microsoft Environment is Team Foundation Server which combines Source Control, Task Planning, Testing, Bug and Issue Tracking, a Build Server, and a Dashboard interface to share documents and ideas in a wiki-like manner.

TFS has an out-of-the-box process template for agile projects, but this template is not fully compliant with Scrum. Since TFS is open for any custom process template, some vendors have provided free templates for Scrum.

The first effort in this area was Scrum for Team System by Conchango. Then a group of VSTS MVPs created a light-weight process template that is easier to install and configure which makes it more appropriate for small projects with small teams.The latest one is eScrum which is provided by Microsoft but as an additional download.

It was also convenient to view the sprint tasks in the form of task board with drag-n-drop capabilities to move tasks between panes. Conchango also had provided Task Board for Team System but it is commercial with one month free trial.

I personally prefer using the TFS integration with MS Office to add tasks in Excel with a running sum of used capacity and then post the tasks to TFS at once. There are many other uses for showing tasks in Excel like conditional formatting of cells to indicate different states, severity, priority and so on.

Delphi is back!

I have started my first years of Windows Development using Delphi (which I call Visual Object Pascal) and I used it for quite few years and within 3 companies before I move to C#.

“Delfee” as pronounced in Greek or “Delf-eye” as pronounced in English was the place of the Oracle in the Greek mythology. That’s why Danny Thrope (Chief Scientist) chose the name to reference it as a language to communicate with the database (Oracle at that time), hence; “If you want to talk to Oracle, go to Delphi”

It is funny to know that Danny left Borland to Google and later to Microsoft, as well as Chuck Jazdzewski (Chief Scientist and Architect), and Anders Hejlsberg (Chief Architect) who moved to Microsoft to be the Lead Architect of the C# team.

The most stable versions of it were 5 and 7 (2002) while other versions did not get much acceptance, specially after the transition to .NET and removing Win32 support. Last I heard about Delphi was that it was going to be sold.

Last week, I found an announcement and I knew the rest of the story. Borland did not get an appropriate offer, so they split the Developer Tools Group into a self-managed company called CodeGear which continued to release Delphi targeting Win32 Development after the inability to compete with C# in .NET development.

Earlier this year, Borland sold CodeGear to Embarcadero Technologies and the later decided to issue two parallel releases, one for Win32 and one for .NET based on Microsoft Visual Studio Shell.

Delphi Prism for .NET is going to compete on the area of cross-platform development as it is going to target development on .NET as well as other non Microsoft operating systems.

Planning Poker Cards

If you don’t know what are planning poker cards are, it is one of the nice ways used by Agile teams to estimate the effort of a user story, as the whole team of developers are involved in estimating the effort, not only managers.

If that estimation is done manually, you can have funny cases like these, so some would recommend doing it using cards. I personally think that a nice deck of regular poker cards would do the job, but they might not be as interesting as the Agile version.

You can also play the planning game online here which is brought to you by agile consultants and trainers at Mountain Goat Software.

Random Data Generator Tool

Have you ever needed to fill a table with random data and started to get bored after 10th or 20th row.

And have you tried to enter rubbish data for the sake of saving time as you cannot find meaningful names for 50 or 100 persons (you can use your friends names, but this won’t be so quick, and what about if you need their phone numbers 🙂

Here is a quick and easy tool that can get you full tables of any size of rows with any size and type of columns you need. And the output can be in HTML, XML, Excel, CSV, or SQL Inserts.

http://www.generatedata.com/#generator

The best of all is that it is totally free.

Visual Studio 2010 (Rosario)

Microsoft has provided the first look at its new development platform Visual Studio 2010 which is based on the new .NET Framework 4.0.

Microsoft described the next release through the following five focus areas:

  • riding the next-generation platform wave
  • inspiring developer delight
  • powering breakthrough departmental applications
  • enabling emerging trends such as cloud computing
  • democratizing application life-cycle management (ALM)

Their efforts in the area of ALM is the next step after their launch of Team Foundation Server (TFS) in 2005 and their efforts to combine Management, Analysis, Design, Testing, and Deployment all together under one platform.

The new announced features includes enhanced modeling with new diagram types such as use case, activity, and sequence beside the tightly close integration of modeling with existing and new code.

My favorite in the new features is the new testing capabilities which includes a stand-alone Test Runner that allows for running manual test, and at the same time take system snapshots with pertinent information and can be even used to take video captures of what was done during the test and report a bug to TFS directly with the captured data as an attachment.

Another favorite is the Test Impact View, which allows the developer to view the code changes made and the impacted tests that needs to re-run before checking in the latest modification.

For more info you can check the Visual Studio Team System 2010 Overview page.