Wednesday, May 4, 2011

Comparing MS Word documents from within VS2010

Update: This also works with EXCEL file (see PS at the end). 

Many project managers complains that TFS2010/VS2010 CANNOT compare MS Word documents
(which is a bad practice anyway because it not a source code, and should be stored in a document repository where workflow of validation and search engine are present).

I understand that Microsoft spend their efforts in using Sharepoint as a document repository, hence not implementing this functionality in VS2010 / TFS 2010.

This is even more bizarre when knowing that TurtoiseSVN performs that natively !

Here is a trick to have the best of the two worlds : Use TurtoiseSVN from within VS2010, and still keeping TFS2010 as a Source Control.

1. Download and install TurtoiseSVN (it's free),



2. Customize the comparison Tool within VS2010, and instead of the default one, do the following :
Visual Studio > Tools > Options > Source Control >Visual Studio Team Foundation Server > "Configure User Tools..." button

Use the following parameters (adjust your TortoiseSVN's installation folder if required) :
  • Extension: docx
  • Operation: Compare
  • Command: C:\Windows\System32\wscript.exe
  • Arguments: "C:\Program Files\TortoiseSVN\Diff-Scripts\diff-docx.js" %1 %2 //E:javascript


That's it !

Now, do your normal comparison within VS2010, based on the History for example :

After a few scripts running behind the scene to open Word and configure it in a comparison mode, here is the result:

Now you can receive another version of a 200 pages of specifications, and not being  scare you any longer !!
Hope this helps speeding up your work.


PS: This also works with EXCEL (*.xlsx) file, BUT NOT REALLY GOOD, because it compares cell-by-cell and detects too many false positive changes.  
Do do so,
- Open your Program Files\TortoiseSVN\Diff-Scripts folder.
- Duplicate the file diff-xls.vbs into diff-xlsx.vbs
- Create a new comparison as presented at step 2, but this time for the xlsx extension
- Remove the option "//E:javascript" in the arguments,
- Start enjoying Excel comparison within Visual Studio :
   . It presents the 2 files side by side,
   . and highlights in RED the changes.



Wednesday, March 16, 2011

The new "Visual Studio 2010 and .NET Framework 4 Training Kit" is available


March 14th 2011 => VS2010TrainingKitMarch2011.Setup.exe is out with 412 Mb of great pleasure !
(as a comparison June 2010's version was 182 Mb)

The new version (free) of the training kit for VS 2010 and .Net 4 is available.
It's here or, search for "Visual Studio 2010 and .NET Framework 4 Training Kit" on the web.

Overview :


"The Visual Studio 2010 and .NET Framework 4 Training Kit includes presentations, hands-on labs, and demos. This content is designed to help you learn how to utilize the Visual Studio 2010 features and a variety of framework technologies including:
  • C# 4
  • Visual Basic 10
  • F#
  • Parallel Extensions
  • Windows Communication Foundation
  • Windows Workflow
  • Windows Presentation Foundation
  • Silverlight 4
  • ASP.NET 4
  • Windows 7
  • Entity Framework
  • ADO.NET Data Services
  • Managed Extensibility Framework
  • Visual Studio Team System
  • Windows Azure"

Account details for the TFS VS2010 training

A quick post, "just so we don't forget", here are the Microsoft account details for the Virtual Machines are :
createUser 'michaf' '#############' 'Michael Affronti (PM)'
createUser 'aprist' '#############' 'April Stewart (Dev Lead)'
createUser 'dorikr' '#############' 'Doris Krieger (Dev)'
createUser 'abuobe' '#############' 'Abu Obeida Bakhach (Dev)'
createUser 'chriko' '#############' 'Christine Koch (Tester)'
createUser 'chriba' '#############' 'Chris Barry (Business Stakeholder)'
createUser 'robiwo' '#############' 'Robin Wood (End User)'

The password for the TailspinToys Labs is : P2ssw0rd

Sunday, March 13, 2011

Comparing PRINCE2’s Agility with Scrum within the TFS2010 ALM (Blending Methods to Succeed)

Usually people do not notice the large amount of similarities between PRINCE2 and SCRUM. Rather than presenting them all in detail, here are some few examples (see the slides below, or link here).



Synopsis :
ÉBY DEFINITION
ÐPRINCE2 and SCRUM are mature and based on practical feed backs of thousands of successful project worldwide,
ÐNeither PRINCE2 nor SCRUM could be used alone, they have to be blended to other technics,
ÐNeither PRINCE2 nor SCRUM should be fully used “from the book”, they have to be adapted to the company,
ÉCONTROL
Ð[PRINCE2] Stage and decision boundaries ó [SCRUM] Sprint iteration of fixed length and Spring Review
Ð[PRINCE2] Driven by the Business' needs ó [SCRUM] Driven by User Story and prioritized by Business values
ÐShall we carry on ?
×[PRINCE2] End Stage Assessment ó [SCRUM] Sprint iteration review
ÐRegular reports :
×[PRINCE2] highlight reports {by Project manager}ó [SCRUM] Daily stand up meeting {by the team + Scrum Master}


ÉTECHNIQUES
ÐAssumes that changes will occur (detailed and big design up-front cannot predict all)
×[PRINCE2] Change Control ó [SCRUM] Reprioritizing User Story before the start of a sprint, and reprioritizing technical tasks during a sprint
ÐDecompose user’s needs to visualize the problem and feeds that back to the users :
×[PRINCE2] Product Break down structureó [SCRUM] Epic (=Big User story) > sub-User stories > related tasks > related sub-tasks
ÉPLANS
ÐQuality boundaries : Agreed and strict tolerance at many levels
×[PRINCE2] Project {program management}, stage  {project board} and product {project manager}ó [SCRUM] “Definition Of Done” : Program {program management}, End of sprint iteration {project board}, User Story {Product Owner}, Tasks {Team / Scrum Master}
É
É

Monday, March 7, 2011

Secret of Fully 
Distirbuted
 Scrum

Jeff Sutherland (one of the creator of Scrum) along with Xebia wrote some papers about Fully 
Distirbuted
 Scrum, to optimize Scrum in a Distributed environment :

"Case
 Report 
on 
Linearly 
Scalability
 of 
Distributed
 Teams
 in 
San 
Francisco 
and
 India"

Here are some very interesting readings :

http://www.slideshare.net/xebiaindia/fully-distributed-scrum-schoonheim-sutherland-agile2009
http://agile2009.agilealliance.org/files/FullyDistributeScrumAgile2009.pdf
http://confluence.agilefinland.com/download/attachments/884822/Pretty+Good+Scrum+v6+CSM.pdf?version=1&modificationDate=1235904884000

Friday, March 4, 2011

TFS 2010 Large projects in real life

Why this presentation ?

Because I often hear from my customers, or during some TFS/Scrum training courses :

« Yes, Team Foundation Server 2010 and this Scrum methodology are really great, but it(*) can only work on small projects ! 
Our project is different, and our team / project is too big and critical to apply this. »


This presentation is about showing that one of the biggest companies such as Microsoft can rely on TFS 2010 and Agile. It also presents how very Product Management uses the concept of ZBB (Zero Bug Bounce, see MS TechNet Stabilizing phase) {Yes, Scum does not mean you don't have high quality indicators, nor strict QMS processes}.





(*) The sticky notes on the big board, the detailing of the User story as we go, the Agile planning  and estimating, the self-organizing team, …

Because the conversion to SlideShare has shifted some images vs. text, here is a sample as full images: 


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 !