Tuesday, February 22, 2011

Why it is a bad idea to Rename / Move your TFS Branches

If you want to rename and move your TFS Branches... don't !!

Unless this is really necessary to clean up a bit, or to comply to another "Branching and Merging" scenario. For instance, you should carefully chose the perfect moment to rename and move the Branches, so that you don't "lose" your changesets.

For instance, once moved and renamed, tracking a changeset is a real challenge in your Branching hierarchy view, particularly if Microsoft does not provide any legend on the roles of the various arrows.

This is only an example, some other graphics contains hatched boxes... and you have to spend some time asking around who did what, to understand what's going on.
However, the "Time Tracking" functionnality can give you a better vision.

Now you've been warned !

Thursday, February 17, 2011

Is TFS 2010 cube scary ? Use VS2008 for reverse engineering !

What is this ?

an electronic printed circuit board like the on below ?

Well no, that's "just" the reverse ingeneering of the TFS Analysis Services Database :

File > New Project > BI Project > Import Analysis Services Database

Once done, you'll have access to the 44 tables and their relations on one side (left), and the list of all available BI dimensions on the right hand side.

You can go deeper and check the details of the cube's structure :

Or with this one window "Dimension Usage" to display on which Dimension you can display a relevant Mesure. For instance, below a relation exist between the Dimension 'Build' the  mesure 'Code Coverage'. As a result, you can answer the question : "what percentage of CodeCoverage do I have for on various Builds ?". You can add other relations BUT this is really dangerous in terms of performance, unless you are an expert in BI, otherwise this is not recommanded at all.

You'll also be able to write your own calculations, if you want more KPI indicators on the health of your projects.

For exemple, you can use the Reports (Reporting Services) or EXCEL within your Team Process Teamplate you query the information, or create your own EXCEL 2007+ reports based on PivotTable :

Data > From Other Sources > enter 'Localhost' or the name of your TFS Server > Choose the database 'Tfs_Analysis' and the Perspective :
For instance, we are going to report on how long and how many errors per Build :
The Sigma icon represents the values that are to be aggregated (= Compile Errors and Build Duration), and the other icon represents the axis on which to report (=Build Name)

Saturday, February 12, 2011

Don't forget to refuse the automatic azure renewal

If you have an MSDN Premium or Ultimate, you can activate your AZURE trial account for free (warning : but still have to provide your credit card number).

Once done, don't forget to refuse the automatic azure renewal, in the little option below (in French "Refuser renouv. auto " => Then, it'll become "Accepter renouv. auto.").
Else, your credit card will be charged at the end of the 8 months trial.

Wednesday, February 9, 2011

Project management frameworks : PMBOK/PMI vs PRINCE2

PRINCE2® (PRojects IN Controlled Environments) is accredited by the APM Group, whereas PMBOK® (Project Management Body of Knowledge) is internationnaly maintained by the US PMI (Project Management Institute).

Trying to compare PMBOK® and PRINCE2® could well lead to an endless debate just like comparing Java vs. VB.Net. However, I was wondering what was the main differences between those 2 standard and popular project management frameworks.

Which one is better? Are they complementary, competitors or Totally different ??

I already know a fair bit about PRINCE2, since I am certified on the PRINCE2 Foundation (i.e. I am not a practitionner, but know the basis to start implementing it).
Here are my findings in a nutshell.
First of all, lets start with a comparison on its adoption throughout the world over the years :

(I found the number of PM certified in PRINCE2 quite enormous, but this is from the reference below http://www.project-management.ch)

  • PMBOK is more a framework of Best Practices and processes that you could pick from in any order. The technics to address the problems you can come accross within a project management lifecycle is presented. As a restult, it gives you all the aspects of project managements,
  • PRINCE2 is an entire process composed of sub-processes that  you have to follow "from the book" in a certain order. PRINCE2 recommands you tools to solve your problems, without focusing or naming the particular tool (we are free to choose EXCEL, paper, ...). Because it is not particularly focused on the technics you are using to follow those detailed workflows (except 1 ou 2 recommandations), it is not meant to be used on its own.
    In the middle of the graphic below [8 processes, 8 components, 3 techniques], this is only on overview of the top level workflow. The sub-processes are quite numerous at first sight, and I will not detail them.
    Few drawbacks among which we cannot refer to PRINCE2 as an agile process, and it is manly focussed on creating lots of versionned documents. Find more details here (http://www.projectmanagement.net.au/prince2_weaknesses).

My 2 cents conclusion
Those 2 frameworks are complementary.

  • PMBOK is an international framework that gives you a whole set of Best Practices to face the various problems we could encountered within a project.
  • Even if PRINCE2 has more certified PM worldwide, it is mostly well known in UK. It is a strict set of workflows that you have to follow, that covers the project lifecycle. This is something that could well fit within Visual Studio Team Foundation Server, provided we create a custom Process Template,
  • Accroding to my readings it would be best starting with PMBOK to have a large with of the Best Practices to give you strong PM bases. Then, depending on the configuration of a project (fixed price contract, agile, product owner not present, ...) you could pickup a framework such as PRINCE2, Scrum, or any other ones, and even mix / blend them.

References :

  1. http://www.pm-partners.com.au/files/PMPartner_%20Session_%20Handout_PMBOK_PRINCE2V2.pdf or here https://docs.google.com/viewer?a=v&pid=explorer&chrome=true&srcid=0B04DF7GsD2hMY2QzYjI2YWEtMmUzOC00NTRmLWI3NTctOTMyNmI1OTAzYWY2&hl=fr
  2. http://www.project-management.ch/portail/downloads/PRINCE2%20Presentation%20-%20SMP%20Workshop%20Oct08%20FR.pdf or here https://docs.google.com/viewer?a=v&pid=explorer&chrome=true&srcid=0B04DF7GsD2hMOWZiYmZhNWYtMzgwMS00Yjc2LWEwNzUtOTYzMDc0MzYwNzE2&hl=fr
  3. http://www.projectmanagement.net.au/prince2
  4. http://www.differencebetween.net/business/difference-between-pmi-and-prince2/

Thursday, February 3, 2011

Increase your ALM's quality with this Free VS PowerTool (CodeMetrics)

Increase your ALM's quality with this Free VS PowerTool (CodeMetrics) :
"Visual Studio Code Metrics PowerTool 10.0" is just too excellent. With this new PowerTool, you can monitor Code Metric directly from within your automated build.

I know ... THE BEST and exhaustive tool around (and my favorite one) is NDepend. Obviously, since this PowerTool is provided free of charge, it has a millions of times less functionalities than NDepend, but still good if you have nothing else !

Check this out here :

Integrating Code Metrics in TFS 2010 Build


Once the PowerTool installed you'll have to create your own custom activity and insert it into your Workflow build process.

I wish such tools will appear more and more, and be integrated within TFS by default... Brian Harry please ;-)

Here is the original Microsoft post : http://blogs.msdn.com/b/camerons/archive/2011/01/28/code-metrics-from-the-command-line.aspx