Wednesday, December 29, 2010

Play with TFS 2010 and VS 2010 for free ??

Microsoft has released the new version of a virtual machine with a entire ALM environment (TFS 2010 + VS 2010 Ultimate + tutorials), in trial version until June 1, 2011.
You'll be able to really learn and experiment advanced functionalities

  •  on the Tailspin Toys Application (Build definition, Unit Test, and much more...), 
  •  or create your own ones, with reports, new types of WorkItems, ...

It's here : Microsoft® Visual Studio® 2010 and Team Foundation Server® 2010 RTM virtual machine for Microsoft® Virtual PC 2007 SP1 

How to use it (and links to download other types of VPC, such as Hyper-V):
http://blogs.msdn.com/b/briankel/archive/2010/06/25/now-available-visual-studio-2010-rtm-virtual-machine-with-sample-data-and-hands-on-labs.aspx

By the way, also try the "TFS Integration Platform" from CodePlex to extend the power of TFS outside its traditional usage.

Happy testing... and good luck downloading the 9 Gb !

PS : And for the fun, here is Visual Studio ALM Ranger Projects Scrum Guide.... Personally, I found it interesting but REALLY scary at first sight, despite the fact that I have been using TFS for the last 3 years, with Agile, and recently Scrum for about a year !!


Tuesday, December 28, 2010

What about the TS exam-70-512 : Visual Studio Team Foundation Server 2010, Administration

Wanna get a TS certification with TFS 2010 ??
You can go for the exam-70-512 "Visual Studio Team Foundation Server 2010, Administration".

Here is a official information on Microsoft Web site :
http://www.microsoft.com/learning/en/us/Exam.aspx?ID=70-512&Locale=en-us#tab2

In order to study the materials for this exam, Latek did a great job in helping us finding out what MSDN information to read:
http://mkdot.net/blogs/latek/archive/2010/08/29/exam-70-512-ts-visual-studio-team-foundation-server-2010-administration-preparation-guide-links-pointers.aspx

I just wish this was a Wiki so that we could add some more links !

Here is a training course for the certification : http://www.enhancealm.com.au/Portals/0/Outlines/TFS2010ConfigAdmin.pdf
http://www.dunntraining.com/training/Syllabus/accentient/adv2010.pdf
http://www.pdf-freedownload.com/


Good luck !

Tuesday, December 21, 2010

TFS 2010 is great as an ALM tool, what next ??

TFS 2010 is already a great tool for doing an easy ALM with ONLY one tool, and works great with Agile Scrum.

So what else could Microsoft will add in the next versions ?

It's gonna be much MORE AGILE !!!
With better communication between the Team and the Stakeholder, as a result (and I added some of my guesses and hopes) :

. more visual communication tools (Powerpoint integration, ...),
. dynamic charts and cinematic between pages (such as Sketchflow in Microsoft Expression Blend 4),
. Release Management (> 2011),
. THE cloud !!! for continious delivery,
. Portfollio for helping the Business to prioritized,
. Process management : Moving from Agile to CMMI,
. Value for existing assets (eg. architectural),
. Ops integration

A survey worldwide shows :
  • The top 2 tools used to archive : VSS > Subversion (TFS comes in the 3rd rank)
  • The premier ALM Tools : Microsoft > IBM
Source of those information : Brian Harry (creator of VSS and Microsoft Visual Studio Technical Fellow) in the ALM summit 2010.

Brian Harry reminded us an interresting information : Microsoft is "dog fooding" TFS 2010 within a large development team "The Microsoft Developer Division has 3,500 developpers users". Another source tells us that this represents terabytes of data.

Let's hope the future will start ASAP !!!



PS : with still some missing features, so don't forget to check updates and my other post http://memoprojects.blogspot.com/2010/12/alm-tfs-2010-vs-2010-where-to-start.html.

Sunday, December 19, 2010

ALM submit Redmond november 2010 (TFS, Agile, Scrum, ...)

Last month, Microsoft organized one of the best ALM event ever :

During 3 days great and hot topics were presented, among which we can find Team Foundation Server 2010, Visual Studio 2010, and Agile, Scrum.
with great speakers (Ken Schwaber, Brian Harry, …).

The Web casts and more info are available here :
http://www.alm-summit.com/almsummit/schedule.aspx

Wishing to have this same great program organized in Europe too, 'cause many employers don't see the needs in sending people in conferences ;-)

1 Agile Acceleration
Keynote - Scrum: the 3rd decade - Ken Schwaber
Featured - The state of ALM: An industry view - David West
Heterogeneous ALM environments - Jamie Cool
Keynote - IT for the future - Moving into the cloud - Tony Scott
Using failure to pave the path for success - John Szurek
Managing Change
  • Scenario-focused engineering - Drew Fletcher,
  • Chasing agility - Chris Kinsman
  • Agile transformation of a Microsoft product team - Cameron Skinner
2 Collaborative Development
Keynote - From individual to team to organization - Brian Harry
Making Continuous Delivery a Reality from Product Backlog to Virtual Lab - Amit Chopra
Successful software project management styles - Stephanie Cuthbertson
Increasing Revenue Opportunities with Automated Development Tools - Karel Deman
Platform Integration
  • Extending the ALM platform - Mario Cardinal
  • Synchronizing and migrating ALM environments - Grant Holliday
  • Values: Exploring the Why Behind What We Do - Jim Newkirk
  • The future of collaborative development - Mary Czerwinski

3 Engaging the Whole Team
Keynote - The agile consensus - Sam Guckenheimer
Requirements Management: a smooth transition - Ido Eshed
Testing in an agile world - Vinod Malhotra
How are they different, really? - Eric Willeke
Professional Practices
  • The Marriage of Exploratory Testing & Agile Development - Jon Bach
  • Professional scrum developer practices - David Starr
  • Connecting Developer Workflow: Mylyn and the Task-Focused Interface - David Green
  • ALM Summit Panel Discussion - Schwaber, Starr, Guckenheimer, Provost, Willeke

Thursday, December 16, 2010

CMMI Case Study : What about quality with V-Cycle vs. Agile-Scrum ?? and link with the theory of evolution...

"Soirée de rentrée du SUG le 30 Septembre 2010" is a meeting I attended a while ago.

Since it is particularly interesting to show figures on how Scrum helped improving the overall quality of a product, within a CMMI context, I wanted to comment some of the major elements of the presentation concerning General Electric :
  • More Business Value delivered per release : twice as much between 2 major releases. This is because Scrum focuses on working with priority set on high ROI features,
  • Less days required to delivering a Business Value unit : divided by 2 between 2 major releases. This is because a good Scrum team is not scared to criticize the existing procedures and make them change for the next iteration. On the other hand, a good Scrum team will gather key data into BI tools to analyse them and find ways to optimize things, just like a scientific approach within the Mechanical Engineering industry (such as car production lines).
  • Less defects per release : divided by 12 in about 2 years time, and the trends shows that it tends to  zero ! because for a good Scrum Team, a user story can only be done and completed, with a series of strict validations. Moreover the Continuous Integration process based on a large amount of Unit Testing and GUI testing guaranties that we don't have any regressions.
  • The Turn-over of the people within the team is less a problem : This is because of the emphasis on the oral communication and due to the pair-programming to force the exchange of the information within all members of a team.
  • No more delays for the releases : This is due to the short cycle of the iteration period, where at the end of each iteration, we MUST have a working product that could potentially be shipped to production. To do so, you must have a state of the art Software Factory, with a large amount of automated tests and builds,
Important UPDATE: I forgot to mention about a major side effect presented when implementing Scrum after a V-Cycle on this project :
The team hated those daily meetings and talking about what they did... thinking that this method was implemented to spy them. As a result, the turnover was quite important. After a while, not only people got used to it, but they realized that this entire Scrum process helped them delivering better quality product.  

The slides was made public by the French Scrum User Goup

Another link is : "start tiny to end up huge : the art of the incremental build"
Commencer petit pour finir grand : l'art de la construction incrémentale par Etienne Charignon

Happy reading.

Tuesday, December 7, 2010

What's inside the WIX package and what do you need ?

To better use WIX without notepad ! you souhd install at least the following :



          where you'll find in the Bin folder the exe such as : Candle, Light, Lit, Lux, ...

  • WIX edit (9 Mb for the version wixedit-0.7.3.msi)

Thursday, December 2, 2010

Variables available for the Workflow Foundation inside your Build Process Template

I might not be looking properly, but as per today, I did not find a large amount of information on the various parameters available for the Workflow Foundation inside your Build Process Template

For instance, just search for       "BuildDetail.DropLocation" BuildDirectory
 in Google, I only get 42 results. BUT thoses 2 parameters are essentials to my Workflow !

Update : The complete documentation on "Team Foundation Build Activities" is now available (Dec 9th  2010) http://msdn.microsoft.com/en-us/library/gg265783.aspx

Here are a list of other handy parameters that I use :
  • this:Process.BuildNumberFormat=["$(BuildDefinitionName)_$(Date:yyyyMMdd)$(Rev:.r)"]



In C#, we have :
BuildDetail.DropLocation = "\\MyBuildServer\TFSDropBuild\Dev_Night\Dev_Night_20101202.6"

In order to have the name of the last sub-folder, you could use a quick and dirty trick (I hope there's a better solution somewhere hidden in the MSDN) :
Arguments = BuildDetail.DropLocation + " " + BuildDetail.DropLocation.Substring(BuildDetail.DropLocation.LastIndexOf("\") + 1)


Note : Even if it is not obvious, you can write some code in the "FileName" field. Warning, it'll look like you can write C# code (since the SubString(), '+' operator, etc... works) BUT you have to write that as a VB.Net expression, for instance :

  • "Hello World.This works".Split(Convert.ToChar("."))(0)



Alternatively, you could use native TFS property such as BuildDetail.BuildDefinition.Name if needed.
Another "Friend" string available is :

  • SourcesDirectory 

that replaces the need for doing :

  • BuildDetail.DropLocation.Split(Convert.ToChar("\"))(4).ToString()


Here is the detail of the POC Batch file to make sure that the expression in the "FileName" field works, with input parameters sent by WF4 :

REM Create a unique identifier
SET T=%time:~0,5% 
SET fileName=.%T::=-% 


REM %1 is for instance \\MyBuildServer\TFSDropBuild\Dev_Night\Dev_Night_20101202.6
DIR *.* > %1\myNewCreatedFile_%fileName%.txt
DIR *.* > %1\myNewCreatedFile_%2_%fileName%.txt