Friday, March 26, 2010

Am I taking the best decision ?? How can KPI indicators help ?

In a large company, when decisions are badly difficult to take (large amount of constraints, various ideas,), here is a simple solution: The KPI.

KPI stands for Key Performance Indicator and you can refer to lots of books. However, here are the 5 rules of thumbs:
  • First, you cannot choose any indicators; they are based on specific objectives to accomplish
  • Second, it must be driven by important decision to make (otherwise it means that the choice of the indicator is not proper)
  • Third: Always analyze the results
  • Forth: KISS !! Keep It Simple Silly: A good indicator must be simple to create and people can understand it easily. Often, complicated calculation leads to obscure indicators, that you cannot make any decision from.
  • Finally, after carefully having chosen the indicators, you must trust them to determine the best action to undertake.





Here is an example in EXCEL, using the Radar graph :
 * Let us consider 2 solutions to analyse,
 * Below is represented the graph created with EXEL for one of the two solution (each major criteria below would be composed of sub-criteria - not represented)


Tuesday, March 23, 2010

Where could we find major silverlight projects ??

Here are come references (mainly french) :

* Microsoft web sites, where video and presentations are involved,

* SEQUIOA 2 is a ADP - "Aéroport De Paris", one if the biggest Silverlight project in Europe, implemented by Winwise (based on Silverlight 2.0 beta in 2008)
 

* All the graphical indicators, in fact any graphical business application could be included as Silverlight Webpart in Sharepoint 2010,


* On Windows mobile phones (with Windows Phone 7 Series)

* France Television (since Silverlight 2.0 ; production in July 2008) :

 * France 24 and Canal+ : HD video Streaming in Silverlight (october 2009)

 * NBC Channel used Silverlight to video Stream the J.O. in Vancouver

 * 887 Web applications referenced in 67 countries/regions.
    Among which, we have 250 business applications.

 * WPF / Silverlight : Business application used within vente-privee company

* WPF + Surface (Silverlight ?) : the french train company : the SNCF

* to be continued !!

Friday, March 19, 2010

Visual Studio 2010 : Layer validation

We can find information in many places, but here is one that I quite particularly like, because it is very detailed (including how to configure the Team Foundation Build)


http://blogs.msdn.com/jasonz/archive/2010/02/18/favorite-vs2010-features-layer-validation.aspx

http://blogs.msdn.com/camerons/archive/tags/Layer+Diagram/default.aspx

Meeting up with an AGILE super star !! Scott Ambler

On Monday 15th March 2010 @ 6pm :

IBM treated us very well in Paris, and offered us the opportunity to meet Scott Amber, an AGILE evangelist and IBM consultant. He also wrote lots of books.

As part of the Scrum Alliance (SCRUM USER GROUP France), Scott Amber gave us his viewpoint and feedbacks on AGILE methodology. Lots of examples and figures, with "true" stories.
Very fun and dynamic speaker.


The place was gorgeous, and that was again a great place to meet and chat with lots of people with great interest.


The next SCRUM USER GROUP France will be sponsored by Microsoft, for the first group's anniversary: Here's the program

Microsoft France
39 quai du Président Roosvelt
92 130 Issy-les-Moulineaux
France

Tuesday, March 9, 2010

Hiro marker : Silverlight 4.0 and 3D augmented relality via your webcam !

I could have used Delicious, but this link is so great that I have to post it here :



It is a very impressive Proof Of Concept using your WebCam and Silverlight 4.0 :
http://kodierer.blogspot.com/2009/12/silverlight-4-augmented-reality-proof.html




Based on NyARToolkitCS library (ARToolkit).
[Link not working anymore : see my newer post on the 18th July 2010] With this one, you can choose your "enhanced" element (car, tank, ...) :
http://dl.dropbox.com/u/2681028/BlogData/SLARToolkit/Demos/3D/TestPage.html



It uses the Hiro marker; more information on the Kodierer blog.
A lot of petential : Recognition of a 2D barcode, retrieves a contract (for instance), and enhances the display of that contract or add features on that contract.


Great stuff !

How many rules in FxCop and StyleCop ?

I always knew that they were hundreds rules for FxCop and StyleCop, but how many exactly ??
As I could not find that number on the net, I started to count them.
Just so we don't forget, the total number of rules is 351 rules. See details below.

A) For FxCop, as per today 2010.03.09 2011.06.06, we have 11 Categories.
The number of rules is given at the end of the line, and totals to 197 rules. 230 rules.

1   Design Rules                      (59)
       Correct library design as specified 
         by the .NET Framework Design Guidelines.
2   Globalization Rules                (07)
       World-ready libraries and applications. 
3   Interoperability Rules             (16)
       Interacting with COM clients. 
4   Maintainability Rules                 (03)
       Library and application maintenance.
5   Mobility Rules                     (02)
       Mobility warnings support 
       efficient power usage. 
6   Naming Rules                             (20)
       Adherence to the naming conventions 
       of the .NET Framework Design Guidelines.
7   Performance Rules                  (18)
       High performance libraries 
       and applications. 
8   Portability Rules                  (02)
       Portability warnings support 
       portability across different platforms. 
9   Reliability Rules                  (05)
       Library and application reliability,
       such as correct memory and thread usage. 
10  Security Rules                          (28)
       Safer libraries and applications.
11  Usage Rules                        (37)
       Appropriate usage of the .NET Framework. 


B) For StyleCop 4.3 we have 7 Categories.
The number of rules is given at the end of the line, and totals to 154 rules.

1    Documentation Rules   (48)
2    Layout Rules          (17)
3    Maintenability Rules  (11)
4    Naming Rules          (11)
5    Ordering Rules        (14)
6    Readability Rules     (25)
7    Spacing Rules         (28)


Calculation of the Maintainability Index :
Maintainability Index = 171 - 5.2 * ln(Halstead Volume) - 0.23 * (Cyclomatic Complexity) - 16.2 * ln(Lines of Code)

Source: http://blogs.msdn.com/b/codeanalysis/archive/2007/11/20/maintainability-index-range-and-meaning.aspx

Friday, March 5, 2010

Rename project and folder within TFS 2010


There are many possible ways to rename project and folder within TFS 2010.

In order not to loose many hours changing around names within the solution, TFS, the csproj, ...
here is 2 possible ways that works for me :

SOLUTION ONE :
0. Rename DIRECTLY the folder within TFS Source Control Explorer; it's going to be marked as : ,
1. Open the Solution, that contains a broken project, since it has been renamed,
2. Add an existing project, and find the renamed folder,
3. Check in everything,

SOLUTION TWO :
0. Rename the project A into A' within the solution,
1. Remove (using "Delete" option) the project A' from the solution (that is checked in within TFS 2010)
2. Go to the location of this project A' (that is still called A), and rename the folder into A'
3. Go back to physical location of the solution, and add "existing " project A' (that is located in the folder A')
     ::: Nearly all things are synchronised !
4. From the Source Control Explorer, rename the folder A into A'
    ::: TFS marks A' in the Source Control Explorer view as a renamed folder with the icon :  

    ::: TFS marks A' in the Solution as checked in (again) :


That's as simple .... when done in this order !!

Joy of Visual Studio 2010 Beta2

I know I should be using VS2010 RC BUT... it does not support Silverlight 4.
As a result, I have to face the joy of Beta version, and remove very often and manually the WCF option:

decompressionEnabled="true"

within the Web.Config.

If it was the only problem, that would not be frustrating to build, package and deliver the application !


======================
Erreur source:


Ligne 274 :
Ligne 275 : maxReceivedMessageSize="65536" allowCookies="false" authenticationScheme="Anonymous"
Ligne 276 : bypassProxyOnLocal="false" decompressionEnabled="true" hostNameComparisonMode="StrongWildcard"
Ligne 277 : keepAliveEnabled="true" maxBufferSize="65536" proxyAuthenticationScheme="Anonymous"
Ligne 278 : realm="" transferMode="Buffered" unsafeConnectionNtlmAuthentication="false"