novembre 2010Monthly :

2010 World’s Most Agile Manager (WMAM) Contest

Image by Mays Business SchoolWe are already approaching the end of 2010. With the Agile Manifesto turning 10 years-old next year and the growing interest of Agile in organizations, I am launching the 2010 World’s Most Agile Manager (WMAM) contest.

Do you know a truly Agile Manager?

The adoption rate of Agile is increasing and there is growing acceptance that in order to be long lasting, Agile transitions need managers to modify their leadership style.

Are managers actually adapting their management style to support self-organized teams? Is there a new breed of managers whose profile are fully in line with the Agile values and principles? Do you know such a manager?

Are you one of the lucky few who have had the opportunity to work with such a special individual in 2010? If you are, recognize the efforts and contribution of such an individual and submit their name to the WMAM contest.

How to enter this contest?

You must submit the name of a manager you have had the opportunity to work with during 2010, who clearly demonstrated his/her adherence to the Agile values and principles.

Simply enter the name of the Agile Manager as well as the name of his/her organization. In addition, provide a short explanation why you believe this individual deserves to be selected as the World’s Most Agile Manager.

Who can participate?

To participate, the Agile Manager has to have people or project management responsibilities and has to have clearly demonstrated alignment with the Agile values and principles.

What does the winner receive?

In addition to public recognition and the rights to brag about being the World’s Most Agile Manager, the winner is likely to receive countless job offers, a potential salary increase from his/her existing employer, much publicity in well-known blogs, and maybe even a plaque to be posted on his / her office walls.

Deadlines

This contest ends January 15th, 2011. The public will determine the winner of this contest. The winner will be the candidate who receives the most votes on their submission. Good luck to all participants. Don’t wait, enter the contest now!

Get the logo

If you have been nominated for the World’s Most Agile Manager, you can download the logo and add it to your web site. Tell you friends to vote for you.

Share

You might be interested in these related posts:

  1. The Role of the Manager in Agile / Scrum – Some of the Best Blog Posts of 2010
  2. The “Best Agile Work Space” Contest (The BAWS Contest)
  3. 911 – “I need help! I’m a people manager and my team is going Agile…”

Criteria for selecting a 3rd party product

Yesterday, I presented at the ALM Summit which is an event targeting TFS 2010 and Agile project management using Scrum. My talk was about extending the ALM platform. My recommendation to the attendees was that they should not hesitate to buy 3rd party products (add-on) and extend the Microsoft TFS platform. However, they should make sure that they understand the implication of extending the ALM platform using add-on. In consequence, they should ensure to select according to a list of criteria.

When selecting a 3rd party product, here are some items that should be in your list of criteria:

Features Set

  • Does it provides the minimal required features?

Product Vision and Support

  • Can I envision a long term relationship?
  • Is it a supported product?

Evolution of the ALM platform

  • Does it easily migrate to the next version of Visual Studio ALM platform?

TFS Add-on or a TFS connector

  • Does it read and write directly in Team Foundation Server (TFS)?
  • If not, what are the implications for the warehouse and reporting?

Visual Studio ALM process templates

  • Does it work with your ALM templates (Scrum, MSF agile, CMMI, custom)?

Deployment and maintainability

  • Which server technology is used?
  • Is it compatible with your TFS topology?
  • Does it deploy directly on TFS?
  • If not, what are the implications for maintainability?
  • If so, does it interfere with service updates from Microsoft?
  • Which client technology is used?
  • WPF or Silverlight or HTML5?

TFS integration

  • What are the add-on configuration settings ?
  • Does it bypass security?
  • Is there an “hidden” operational data store?
  • Does it transfer add-on informations to the cube?

Localization

  • Is it compatible with the localized edition of TFS?

Why publish this list? Mainly because these are the same questions that we asked ourselves while developing Urban Turtle. Our goal was to eliminate any negative impact. This is why we are convinced that Urban Turtle is one of the best TFS add-on.

A Preference for Flexibility

I came upon this example in an otherwise very good book. One example tried to test a main method by passing arguments:

String[] args = new String[2];
args[0] = "param1";
args[1] = "param2";
MainApplication.main(args);

Whenever I write in this kind of code, I always prefer to create an array instead:

List<String> list = new ArrayList<String>();
list.add("param1");
list.add("param2");
MainApplication.main(list.toArray(new String[list.size()]);

It’s a bit more verbose, but I find it offers a lot more flexibility as adding new parameters is simply a matter of adding a new element to the list. In the first example, adding a new parameter requires two steps : 1) modify the size of the array and 2) initialize an element of the array to the desired value.

I do whatever I can to remove a step, as small as it seems.

Modifying all the indexes is also a lot less fun when you need to add an element at index 0. And of course you’ll eventually copy/paste one line of the array and forget to modify either the size of the array or the index.

Using a list is a small improvement but in the long run, small things make the code a lot more maintainable.

PS : a friend noted that if you already use Google Collections (now Guava), you can get even more elegant code with

list = Lists.newArrayList("param1", "param2")

Agile Grenoble 2010 : J – 5 !!!


Agile Grenoble édition 2010c’est la semaine prochaine et la ruche des organisateurs s’active!

Hier c’était la préparation des 450 sacs des participants… tenue de sport oblige ;-)

Le 23 j’aurai l’honneur de présenter deux sessions :

Venez rencontrer la “team” ut7 (Anne-Laure, Eloïse, Olivier, Manu, Eric) et même notre président Martin au stand ut7 ! Et participez à un tirage au sort pour gagner un iPad !
Enfin, consultez le programme pendant la conférence sur votre smartphone tactile en ouvrant votre navigateur à l’adresse http://agile-grenoble.org/mobile/(application faite par nos soins ;-)

Definir “Terminé”

Résumé
Les axes de réflexion que je considère pour construire une définition de Terminé :

  • qualité externe
  • qualité interne
  • autorisations
  • déploiement
  • exploitation

Lorsque je travaille avec une équipe à établir ou modifier notre définition de “Terminé” (le Done de Scrum), je ne leur propose pas d’exemple comme point de départ de la discussion. Par contre je leur propose les différents axes de réflexion dans lesquels nous allons identifier les points pertinents pour eux.

Pour démarrer la discussion, je propose de commencer par explorer les axes qualitatifs :

  • qualité externe
  • qualité interne

Qualité externe
Cette notion de qualité externe nous parle de notre capacité à construire le bon logiciel, celui qui rend les services souhaités, à un niveau de performance satisfaisant, à un niveau d’ergonomie qui fluidifie sa prise en main et son utilisation. C’est la qualité perçue lorsqu’on utilise le système.

Pendant cette réflexion, nous partageons alors comment nous comprenons cette idée de qualité externe et nous décidons quels types de tests nous souhaitons construire notre confiance dans notre code : des tests automatiques qui exercent le système dans son ensemble avec des données réalistes, des tests qui spécifient les conditions aux limites des services rendus, des tests de performance, des tests de sécurité, des tests de traduction, …

La question des anomalies est parfois abordée à ce moment dans la discussion. Cette discussion peut être difficile parce que chargée d’un historique peu flatteur pour les programmeurs. On distingue ici deux types d’anomalies: les anomalies que l’on découvre après la mise en production et celles que l’on connaît avant la mise en production.
Pour les premières, il s’agit de définir comment nous allons les prendre en compte, c’est à dire comment leur découverte va impacter le travail en cours. La démarche stop the line du Lean est la démarche la plus cohérente avec une approche empirique, même si elle représente des défis importants.
Pour les secondes une attitude cohérente avec ce que l’on vient de dire consiste à ne jamais déployer un système avec des anomalies connues. Cela demande souvent beaucoup de courage dans des environnements qui ont malheureusement appris à supporter des systèmes avec beaucoup d’anomalies.

Qualité interne
Cette notion de qualité interne nous parle de notre capacité à construire correctement un logiciel. Par correctement, on entend ici un logiciel que l’on peut faire évoluer durablement. Plusieurs outils aujourd’hui sont capables de construire des indicateurs qui, lorsqu’on les améliore, nous aide à construire un logiciel que l’on peut faire évoluer durablement. Par exemple le pourcentage de couverture de code par des tests unitaires et d’intégration, la compléxité cyclomatique, le taux de duplication… Certains outils, comme Sonar, vous permettent même assez simplement d’implémenter votre propre règle.

Les tests automatiques sont des indicateurs de qualité assez simples à construire car ils se basent sur une analyse statique du code, c’est à dire sur une photo du code à un instant donné. Or il se trouve que l’on a constaté que le fait d’écrire un test avant d’écrire le code de production qui le fait passer a un impact majeur très positif sur la qualité du logiciel construit. On parle ici d’un indicateur de qualité dynamique qui nous renseigne sur la manière dont le logiciel a grandit. La plupart des équipes mettent en place cette idée simplement en ayant la discipline de toujours écrire un test avant d’écrire du nouveau code.

Vient ensuite, dans l’ordre chronologique des étapes à passer pour être prêt à déployer un système en production, la question des autorisations nécessaires.

Autorisations
Certaines industries contrôlées imposent aux créateurs de logiciels de faire la preuve de certaines caractéristiques dans un format imposée par une convention. C’est le cas par exemple dans l’avionique ou la pharmacie, pour en citer deux à priori assez éloignées. D’autres normes, internes celles-ci s’imposent parfois aux équipes.

La plupart du temps, ce besoin d’autorisation déclenche la rédaction de document dans un format souvent imposée à l’équipe. Le travail récurrent d’une itération à l’autre consiste alors selon les cas à les créer ou bien à les tenir à jour.

Déploiement
Le déploiement par incréments successifs suppose que plusieurs déploiements vont être effectués pour mettre à jour un système. Dans ce contexte, il est pertinent de ne pas considérer le premier déploiement comme un cas particulier mais bien comme le déploiement d’un incrément qui part d’un état précédent vide.
Des éléments de différentes natures sont à considérer. Sans ordre d’importance, on peut citer : un moyen d’interdire l’accès au système pendant le déploiement du nouvel incrément, la modification de l’environnement, la modification des configurations réseaux, la modification de la structure de données, la migration des données, … Disposer de tests automatiques de déploiement s’avère encore une fois très utile pour être capable de déployer chaque incrément sans détruire le système déjà en place.

Exploitation
Ce qui précède concerne la préoccupation de mise à jour d’un système existant. Il faut aussi considérer les activités qui tournent autour de l’utilisation du système en place. Selon les cas il s’agit de choses aussi variées que des scripts de redémarrage, la formation des utilisateurs, la formation des équipes travaillant à la hot-line du système, …

Si le développement incrémental est nouveau pour vous et que vous avez des difficultés à établir votre définition de Terminé avant de commencer, rassurez-vous c’est normal. Explorez pendant une première discussion les différents axes de réflexion qui vous semblent sensés et établissez vos premiers indicateurs en fonction de la vision du produit. Faites une itération et pendant la revue d’itération posez vous la question: est-on prêt à déployer cet incrément en production ? Si oui, faites le. Si non, améliorez votre définition de Terminé pour la suite.

Urban Turtle is now available in the cloud

The Turtle in the Cloud has reached its destination which is the ALM Summit. Urban Turtle is a gold sponsor at this event which will be targeting TFS and Agile project management using Scrum.

Now that Urban Turtle is available in the cloud, we are proud to confirm that it is even easier to adopt. Our partner, PRAKTIK Hosting, has just updated their hosting offering to provide an option for licensing Urban Turtle on top of TFS 2010. PRAKTIK Hosting is an established company that specializes in Microsoft Visual Studio technologies and is a premier provider of hosted Microsoft Team Foundation Server services.

Why is the cloud of interest. Because it is quick, easy, fast, and increasingly simple. These as well as other obvious trends confirm that offering Urban Turtle as a hosted service makes a lot of sense. Here are some of the major benefits:

  • Be up and running now! (in less than a day if you take your time)
  • No need to invest in expensive hardware and software
  • No need to purchase costly bulk licences
  • No need to worry about maintenance, backups, and security
  • Developers in different locations are able to collaborate efficiently

PRAKTIK Hosting is offering two plans for agile project management with TFS:

  1. TFS Basic with Urban Turtle:  $35 per user/month
  2. TFS Standard with Urban Turtle: $70 per user/month (if more than 10 users)

The investment to start using Urban Turtle is really small. PRAKTIK Hosting takes care of everything. They even offer a 30-day free trial licence if you have any doubts.

We think it is a great solution for teams of all sizes and first-time TFS users. One of the cool things is that, for the end user, Urban Turtle as a hosted solution is the same as on-premises, no differences. All you have to do is work on your projects and use Urban Turtle to plan and track them.

Long ride for the Turtle to the ALM Summit

 

 

Team Urban Turtle has finally arrived in Redmond to present our agile project management tool after a long trip yesterday. It all started with a six-hour flight from Montreal to Vancouver, a two-hour car trip, including a stop at the US customs waiting for Mathieu to fill in the VISA stuff. Apparently, when you are French and try to enter the US from here, you need to be patient and have 6 bucks in your pocket, in USD of course.

We finally arrived at the hotel at 1 AM, ready to go sleep!

This morning we took our boat, a Lincoln Town Car, to come to the Summit in building 33, with our friend ET.

 

People come to see us to congratulate us about our 7th release in 7 months. Being able to do this in the product business is pretty tough, and we are happy that the community recognized that !

Ken Schwaber opened the summit with a talk about ALM and Scrum not being sufficient for Agility.

Agility Requires:

1. An organizational culture change. François gave a great presentation about this at the Agile Tour.

2. Good engineering practices.

3. Continuous Improvement.

4. Reactivity, persistence, hard work and headaches, vision and insights.

 

Next talk: The state of ALM: An industry view, by David West.

It’s finally here! Scrum Easy Install® 2.5

Buy it now!Having problems with software delivery?

Quality is less than ideal?

Business doesn’t talk with IT?

I’m sure IT doesn’t even talk with IT!

Am I right?!

Don’t diddle daddle with annoying coaches and expensive training.  ALL you need to do is stick our Scrum – Easy Install® CD in your computer and press GO.  In just a few easy steps, you’ll be on your way to Agile heaven!

With our Scrum Easy Install®, you get…

  • The secret recipe to instantly create high performing teams
  • All the Agile engineering practices you can muster
  • The step by step process and tools to build working software every 4 weeks
  • The patented yoga induced therapy to rid your managers of that nasty muscle memory
  • The automatic and always available Product Owner Selector®
  • The Project Manager to ScrumMaster Evolutionator®
  • The newly improved Conflict Resolutionner Package®
  • The Let’s Talk® conversation creator
  • and the always popular…Silver Bullet On-time-On-budget Product Delivery System®

But wait! With Scrum Easy Install®, you also get :

  • The Team Smell Detector® – Get to the root cause quicker with only 3 “whys”!
  • The Sprint Extender®  – You’ll never run out of time again!
  • A one year membership to Inspire Posters – Culture change is just a poster away!
  • and….wait for it…Coach in a Box®! – Got a problem? Simply click on Waldo®, the on-screen coach canine!

Waldo® will ask you those tough questions, like…

…and many more!

So what are you waiting for?!!

Order now and get the free Daily Stand-up Talking Stick®.  It buzzes!

Disclaimer: Because actual Agile transitions are difficult, results may vary.  If failure is observed, you agree that it’s all your fault, not ours.

Share/Bookmark

3 behavior changes to increase team performance

Image by Marc WathieuIn addition to working on a new Vision (more on this in an upcoming post) and establishing new strategies, I’m operating a small cultural transition.

“Culture eats strategy for breakfast” – Peter Drucker

Our organization’s culture is “collaboration / cultivation” (from The Reengineering Alternative: A Plan for Making Your Current Culture Work) and like other organizations with a similar culture (and despite our success), there are a few areas for performance improvement.

As such, I believe there are 3 behaviors that are preventing our organization and the various teams from reaching the “High Performance Team” level (The Wisdom of Teams: Creating the High-Performance Organization). My attempt to increase the teams’ (and the entire organization) performance level is by focusing on the following 3 behaviours:

  1. Setting clear agreements
  2. Eliminating gossips
  3. Operating with integrity

Why focus on these 3 behaviors?

Let me start with a simple example to highlight what typically happens in many (including ours) organizations. You will certainly quickly understand why this is dysfunctional and can easily lead to sub-optimal performance. I invite you to follow a typical conversation…

  • Sarah: “Mi Mark, I’ve been having issues with payments from a customer. Can you help me?”
  • Mark, in the middle of typing an email: ” Sorry, I wasn’t listening. You need help with something Sarah?”
  • Sarah: “Yes Mark, we have sent reminders to your customer but still haven’t received any payment. Since you are the account manager for this customer, I was wondering if you can help me?”
  • Mark: “Yeah. Well, of course. What do you need me to do?”
  • Sarah: “I don’t know. Maybe you can give them a call to see why they aren’t paying their latest invoice.”
  • Mark: “OK. I have a few things to take care of today. I should be able to help you”.
  • Sarah, walking away: “Alright. Thanks.”
  • [3 days later]
  • Sarah, talking to herself: “I can’t believe it. I asked Mark to help me with something important and he still didn’t get back to me. Doesn’t he understand that receiving payments is important for our company. It’s always like this with him, he says “yes” but never does anything.”
  • [Sarah enters the coffee room]
  • Mary, smiling: “Hi Sarah. How are you today?”
  • Sarah, clearly upset: “Not good. Mark is so unreliable. I asked him to help me contact a customer and he still hasn’t done anything. It’s been 3 days already.”
  • Mary, nodding: “I understand what you are saying. I’ve asked him to contact a customer to invite them to an upcoming conference and he still hasn’t done anything. It’s over 2 weeks already.”
  • Sarah, pouring milk in her coffee: “Why is it that we have to do everything around here?”
  • Mary, approving: “You know, Mark is not the only one. Do you know that I’m waiting for Don to submit new content for the web site? It’s been 10 days already and Don hasn’t done anything. I don’t know what to do!”
  • Don, entering the room to get a coffee: “Good morning ladies!”
  • Sarah, walking away with a cup of warm coffee: “Good morning Don. Have a good day!”
  • Mary, smiling to Don: “Hi Don, how was the hockey game last night?”
  • [For 15 minutes, Don and Mary continue their conversation about the hockey game]
  • Mary, walking away with a donut and a coffee: “Nice talking to you Don. Have a good day!”

I doubt that these conversations only take place within our organization but what I’ve noticed is that they are detrimental to high performance. Here’s what’s wrong with this story:

  • Lack of clearly defined agreements – who does what? by when?;
  • Absence of difficult conversations – when commitments are broken, people don’t have open discussions around the situation at hand;
  • Talking to others about someone else’s issues – people resort to involving third parties in a situation that would better be resolved between those who had an agreement;
  • Not living up to the promise – commitments are taken lightly and there are no consequences for not delivering on them.

So here’s what I’m proposing to the teams in an attempt to take the organization to the next level.

Setting clear agreements

It is critical to establish clear agreements in order to avoid disappointment and mis-trust. To obtain a commitment and make sure that people have a true agreement, it is critical to make a clear proposal that can:

  • Be accepted in full;
  • Be rejected completely;
  • Be renegotiated.

Once the agreement has taken place, each party must then honor its commitments.

Eliminating gossips

Gossip is idle talk or rumour, especially about the personal or private affairs of others. It forms one of the oldest and most common means of sharing (unproven) facts and views, but also has a reputation for the introduction of errors and other variations into the information transmitted. The term also carries implications that the news so transmitted (usually) has a personal or trivial nature, as opposed to normal conversation [...] The term is sometimes used to specifically refer to the spreading of dirt and misinformation – Wikipedia.

Instead of pretending to address a situation by involving a third party, eliminate gossip and go directly to the person with whom there is an issue and work at resolving it with them.

Operating with integrity

integrity is the inner sense of “wholeness” deriving from qualities such as honesty and consistency of character. As such, one may judge that others “have integrity” to the extent that one judges whether they behave according to the values, beliefs and principles they claim to hold - Wikipedia.

For me, integrity is very simple as it means to “Do what I say and say what I do”.

Finally, in the possible event that someone can no longer deliver on their commitment, they must inform the other party as soon as they realize they won’t meet their commitment and re-open the agreement.

This may seem trivial and very simple to implement but I doubt any organization has actually been able to implement these behaviors on a large scale. I trust that we will become a highly performing organization once we are successful at doing this.

Share

You might be interested in these related posts:

  1. Sir, please step away from the team
  2. People managers may be the biggest impediment for increased performance
  3. Scrum Role: The Scrum Team