dcembre 2010Monthly :

How do you sell Software Development Services ?

When it comes to buying Software Development Services, clients are typically stuck with a few classical options, such as :

  • Renting “resources” for a given hourly/daily price. For instance, an “Intermediate Java/Jee Developer for 95$ / hour.
  • Outsourcing (fixed-term, fixed-cost) to  an offshore (or nearshore) team.

The goal of either renting resources or outsourcing your development is to increase the perceived flexibility and supposedly stay in control of your costs. Neat !

However, if you look at what happens in practice :

  • One “resource”  never equates another “equivalent” resource.
  • The “equivalent” resource never fits the team the same way the previous one did
  • Completely outsourcing your development might be well-suited for simple, well-defined domains that never change, but usually ends up costing way more than what was previously envisioned.

So, we had this idea : instead of selling mere “resources”, we want to experiment with selling complete teams such as pyxtreme. The idea is simple: you get a team of people who are used to work together, and whose skills are complementary. No more hidden costs of “team building”, no more randomness in the matching of personalities, you simply get a working team !

Status reporting in an Agile context – Introducing the SunSet Graph

You have implemented Scrum with some of your teams and get the following question – “How do we report project status to management?“.

If your organization is like most organizations, your choices are:

  1. You ask someone (the Scrum Master or the Project Manager) to convert (translate?) the information the team uses into the traditional management reports;
  2. You present the information exactly the same way the team is using it;
  3. You find a way to bridge the new reporting to the old reporting in order to reduce re-work.

If you have selected option #1, this post won’t help you much since there is no way for me to know what the traditional information reporting mechanism is within your organization.

If you selected option #2, you don’t need to read this post since you only need to show the information you already have compiled on its current form.

But if you went with option #3, you’re in luck. Well, kinda. My colleagues Mathieu and Elsa have come up with what they call, the SunSet graph [French] – because of its colorful presentation.

The Sprint Burn Down Chart

At the team level, many Scrum teams rely on the Sprint Burn Down chart. The Burn Down is very useful to present the amount of work remaining within the sprint in light of the time remaining. In addition, the Sprint Burn Down has the benefit of presenting true progress by comparison to a baseline in order to determine the team’s ability to meet the sprint timeline.

The Release Burn Down Chart

At a project level, a Release Burn Down chart can be used and is very useful for managers and people around the project to appreciate project progress as it presents actual progress in light of a project baseline. Just like the sprint burn down, the project burn down is a very visual way to present the amount of work remaining with regards to the amount of time left.

The SunSet Graph

The SunSet graph is a great complement to the other “Scrum” reports and is also geared toward management – although the team also benefits from producing it and having visibility to the information.

Just like the burn down charts, the Sunset graph gives visibility to the progress of the project – what is scheduled to be completed with regards to a baseline taking into consideration the estimated efforts by the team. With the associated product backlog, the sunset graph gives complete visibility to the content of the project. In addition to the Sunset graph, a financial graph can be added to give a one-view perspective of the project to managers interested in following the progress of the project.

 

The SunSet graph divides the user stories into 3 categories: Optional, Important, Mandatory. In a quick look, managers can easily follow the progress of the team in light of their commitment to deliver the stories based on the team’s velocity. Before the first Sprint, the team plots the number of sprints planned for the project (x-axis), the number of points to be delivered (y-axis), and the forecasted velocity.

At the end of each sprint, the team plots its progress by entering the number of stories completed and by adjusting their velocity based on actual numbers. The SunSet Graph Template can be downloaded.

The content of the template is updated at the end of each Sprint. Below, the SunSet graph after 6 sprints.

The content of the template is updated at the end of each Sprint. Below, the SunSet graph after 9 sprints.

The content of the template is updated at the end of each Sprint. Below, the SunSet graph after 12 sprints.

The content of the template is updated at the end of each Sprint. Below, the SunSet graph after 15 sprints.

By using a visual presentation of the project progress. It becomes easier for managers to understand at a high level the issues encountered by the team. Managers can then focus on anticipating potential budget excess or non-delivery of mandatory stories as opposed to focusing on the content of the project. In addition the keeping managers informed, the Sunset graph supports the concept of the self-organized team.

 

En savoir + sur l’analyste d’affaires et la documentation dans un processus Agile

L’International Insitute of Business Analysts de la Région de Québec commencera l’année 2011 sous le thème de l’Agilité avec une conférence de françois beauregard.

françois parlera du rôle de l’analyste d’affaires et de la place de la documentation dans un processus Agile. Dans cette session, les valeurs, ainsi que les principes et pratiques d’une approche de développement Agile seront clairement présentés à travers de multiples exemples concrets. La discussion sera ensuite amenée sur les choix en ce qui concerne la documentation. Ensuite, il sera question des rôles des différents intervenants dans un développement Agile, en particulier celui de l’analyste d’affaires.

Quand : le 26 janvier 2011 de 17h30 à 19h30

: à l’Université Laval à Québec

En savoir plus et vous inscrire.

Releasing ProjectCards 2.7, Taskboard Now Included !

ProjectCards Taskboard

Hey guys,

we’re pleased to be launching the public release of ProjectCards 2.7 today ! This marks our fourth release in the past ten weeks. We are very proud of the rhythm at which we have been able to make our new features and improvement available to our customers.

ProjectCards 2.7 marks the introduction of a brand new view for your projects. Using our Scrum Template you now have access to these views :

  • Product Backlog
  • Planning
  • StoryBoard (For the current iteration)
  • TaskBoard(For the current iteration)

Of course, you still have access to your generated burnup and burndown charts.

Our new TaskBoard allows the entire team to keep track of the sprint’s progress at the task-level. As always, the display is updated in real time ! Meaning that when a teammate updates the status of a card, all of the other team members see it being changed live !

For a sneek peek of our new TaskBoard, checkout our screenshots. Of course, the best way to enjoy our new TaskBoard is to give ProjectCards 2.7 a try.

Stay tuned for ProjectCards 2.8 that will include the tasks burndown and burnup charts!

The ProjectCards team.

Oh, Character Encoding and Errors Made by Coding Later Than I Should, How I Hate Thee!!!

UTF-8, ISO-8859-1, CP-1252… You’d figure that it would be simple by now to manage different encodings in a way that’s transparent for the programmer… Well it isn’t. I just struggled with RCov on a partial pomodoro app I started a while ago in ruby… I got back to it to try to understand why if Rcov was behaving strangely with Rails3 or just with ruby 1.9.2

FYI the strange behavior was that in the rcov report, a method like so

def Booking::find_pm_bookings date
Booking.where("date = ? AND period = 'PM'", date)
end

would report the “def” line as not ran but the rest as line of code that were executed…

That being said, I figured that if my test driven app once ran rcov cleanly, it would still do in theory… Well it didn’t. I actually couldn’t get Rspec to run at all if Rcov was enabled…

At first I kept getting some encoding errors. For some reason, Rcov doesn’t play well with non US-ASCII characters. After quite a fair bit of chatting with my good buddy Google, I found that Alexander Dreher proposed a fix… but the pull request hasn’t been addressed yet, so I forked and pulled his code which you can get on my github.

I went to execute my rake task, anticipating some coverage data and…. BOOM! Still doesn’t work. As I added rcov and it’s options in my rake task, I kept getting the following error message :
/home/xto/projects/ruby/test_rspec/spec/spec_helper.rb:1:in `': uninitialized constant Object::RSpec (NameError)

Turns out a little searching in the rspec-core issue tracker on github was more helpful than my dear googly friend. There’s a ticket explaining what was missing in my Rakefile. I also added require 'rspec/core' in the spec_helper.rb file…

L’équipe nSemble au codapalooza

La fin de semaine dernière (26-27 novembre), l’équipe nSemble a participé au codapalooza pour développer AgileRoom v1.0. Un peu de café, quelques séances de modélisation Agile,  un objectif à atteindre sous forme de tests automatisés de bout en bout et hop … on est parti pour un 32 heures de développement en se relayant au sein de l’équipe.

À l’aide des technologies comme ASP.NET MVC et Entity Framework 4.0, nous avons réussi à démontrer un premier prototype qui a répondu aux attentes de notre PO malgré la durée relativement courte de l’itération. On se dit à l’année prochaine pour le prochain codapalooza.

The Role of the Manager in Agile / Scrum – Some of the Best Blog Posts of 2010

Image by Rob EnslinFor those who have been reading this blog for a while, it will come as no surprise that I’m very interested in helping organizations transition to Agile. My contribution is to focus mainly on the managers and leaders, and how they need to modify their leadership style to take advantage of the benefits agility brings to their organization.

Since writing I don’t feel so good – I’m a people manager in an Agile organization, I’ve been on the look-out for good posts on the role of the manager in an agile organization. Below are my 10 favorite articles for 2010.

Drop me a line if you feel I’ve missed something.

Calling it quits on a high-profile job (part 2)

The four lessons I’ve learned

Last week, in the first part of this post, I covered the context that prompted me to start thinking about the next step in my career. The past year has been an intense one for me, culminating in a major decision to resign from my position as a senior manager with my previous employer.

This week, I’m sharing with you the lessons I have learned along the way. Bear in mind these observations might be obvious to some, but less so to others. In this entry, I aim to reach out to the latter and perhaps refresh the memories of the more experienced among you.

1.  Running scared is not your smartest move

Many of us, myself included, may tend to react quickly and instinctively to stressful circumstances. Some would argue there is nothing wrong with this, since all decisions need to be made from an individual point of view in a given context and period of time.

Over the years, however, I’ve noticed that this statement tends to be less relevant as your responsibilities increase, your network of partners and colleagues grows and the number of people and organizations who rely on you expands into the hundreds.

When you put only minimal thought into your actions, the messages you are conveying to the community about your value proposition and career path may be confusing. At the same time, with today’s technologies, any such messages are much more visible than ever. Don’t get me wrong: LinkedIn, Twitter, Facebook and the blogosphere at large are fantastic, but they can tear you apart if you don’t understand their impact and the power of the content they carry.

1st lesson learned: Do not run in the opposite direction out of sheer panic. Things might have been scary – very scary – for me this year, but I got much better at reflecting on my situation. So before I moved forward with my big career shift, I thought it over many times. After all, with some moves, there is no turning back…

2.  Flattery will get you nowhere

Something odd always happens during an intense career decision-making period. All of a sudden, it seems like your phone calls and emails are all once-in-a-lifetime job opportunities from headhunters and others looking for an immediate reply.

Tempting, isn’t it, to jump on the first train going by? Whatever challenges or surprises they may possess, these opportunities inevitably seem like a dream job and a chance to escape the hassles of your current employment situation – which in my case included an impending second wave of a major restructuring operation.

A great friend of mine told me once:

You can jump on and off these opportunities as they pop out into your face. But, frankly, opportunities are always there when you start to look for them. You’re better off doing your homework first and finding out what you want to do. Then YOU will be the one presenting opportunities to people you would like to work with.

2nd lesson learned: It’s always flattering to get a call from someone who wants you badly. But are they really aware of what you are looking for? Is it the right time for you to discuss these possibilities? Have you already done your homework at your current job, so you know what you should be pursuing? Have you explored all your options at work? Or have you simply grumbled about it to yourself in your office, while your misgivings continue to fester in your mind?

3.  Sounding boards are a precious asset

It is hard to explain the challenges you are facing to someone else. It is even harder to find the right people to explain them to! Discouragingly enough, politics are rampant at every level of every large organization. By this I mean unproductive politics, which derail people from their missions and companies from their goals, as some politics can obviously be positive and necessary for developing rewarding relationships over time and having a constructive influence within an organization.

When I tell someone that I am seeking out advice from others I trust at work, I always get an odd smile and awkward silence in return, followed by a comment like:

Are you nuts ? Have you lost it?You can’t trust anyone, especially in the middle of a restructuring operation!If your boss hears about this, you’ll get fired!Last, week, I heard Bill say to Mary that Joan was about to… And so on.

Well, risk and potential gain have to be balanced in any situation, right? The same applies to your sounding boards. Carefully select the people you consult, the level of detail you bring to the table, the type of subject you want to cover, and the expectations you attach to them. In the final analysis, avoiding this type of brainstorming for the sake of your own protection will probably do you more harm than good.

In last week’s blog, I mentioned that I had approached a couple of sounding boards within my circle of contacts. Together, they comprised a sort of “advisory committee,” although most of them were unaware of the presence of the others.

There were ten people on the “committee”: eight from Desjardins, and two from outside the organization. They were each given specific information based on our relationship and their own profile. And each served a different purpose when it came to the following types of information: 

Cold, hard facts, available options, guidance and unwavering support 

Three executives, including my boss 

Reality check from an operational standpoint (the people doing the job on the field)

Four trusted colleagues (first-line managers and professionals) 

Personal and professional advice from an impartial/ethical perspective

One senior HR advisor 

Keeping my mind and heart focused and balanced during a tough decision-making process

One family member (my wife) 

Big picture and overall insight

One impartial mentor from outside the organization 

At this point, you may be rolling your eyes a little. He couldn’t have talked to all those people, you may think. Well, I did. A decision of this magnitude takes time. You can’t be in a hurry. But the next time I have such a stressful choice to make, you’d better believe I’ll take exactly the same approach.


You may wonder whether my “committee” ended up agreeing on a final, clear-cut choice. The answer is no: the final decision was mine and there was no consensus among the people I trusted. And, believe me, the path I opted for did not meet with widespread approval.

One reason my various sounding boards did not agree is that most did not know who else was advising me. Plus, they all had very different perspectives or interests with regard to the issues my team and I were facing.

3rd lesson learned: Asking for advice is a tricky balancing act between risk and reward. But you’re better off asking for guidance and support and making some mistakes along the way than avoiding it altogether out of fear and uncertainty. I’m no specialist in the art of consulting sounding boards, but I can tell you it made a heck of a difference in the decisions I’ve made this year.

4.  Whether you stay or go, hold your head high

The end of this particular story is that I resigned from my job. But there have been many occasions in my career where the exact opposite happened and I went on for many years being highly motivated in a job I had once considered abandoning.

Most people are very conscientious about starting a new job. They make sure their message and their intentions are understood loud and clear. I agree that this is important: first impressions are crucial. But, on a side note, just make sure that these impressions are the ones you intend to deliver on a steady basis afterward. Once the honeymoon is over, your co-workers will expect you to honour your commitments.

Not as many people are as conscientious about leaving. This is unfortunate, because nothing can be more damaging to a career than setting the boat on fire before taking off with the last available life vest. Memories of this kind of behaviour will last far longer than any mishaps at the first impressions stage. In fact, the way I see things, these memories are likely to follow you and hinder your professional track record throughout your career.

Finally, even fewer people are careful with the way they deal with difficult situations at work while they are pondering their next career move. They tend to lose their temper easily and have no sense of subjectivity. They stray from their sounding boards, talk to the wrong people and end up losing the respect of their colleagues. And that’s only the beginning.

Take a moment to factor in two or three variables like the ones I’ve been describing about my own story this year. Now try to find one good reason that would’ve kept you sane under the same circumstances and prevented you from directing your frustration toward the people around you… or even taking out on your dogs! You can imagine that the first opportunity that comes your way, whatever it is, may seem like your ticket out of the nightmare. It’s tempting. I’ve had enough here… I’m running scared!

4th lesson learned: Times like these are a chance to invest in yourself. Hold your head high and consider the impacts of your actions. People will remember how you dealt with these situations and whether or not you did so with integrity. If you panic, they’ll remember the behaviour itself – not the reasons behind it.

True, life is short and you don’t want to spend half a year thinking about what you will do next, especially if you are already under heavy fire. But the market you work in is smaller than you think. People talk about you a lot more than you imagine. And now there’s social media to worry about, which can accentuate your visibility, for good or for bad!

In two weeks from now, I will share with you the work I did in order to support my decision-making process. That will be the third and last installment of my story of quitting a high-profile job… and why I’m happy with the way I handled 2010!

In the meantime, the following links may be of interest to you:

Announcing our Partnership with Pyxis.

PyxisHey folks,

as you might of noticed,  since the end of this spring, ProjectCards has completely redesigned its website, it has been releasing more and more frequently and has been even more involved in the Agile community.

A lot of this was made possible by a partnership we have made earlier this year with Pyxis Technologies. Pyxis has been a great partner thus far, lending us a great hand in sharing their thorough knowledge and experience with Agile methodologies. They have also helped us kick start our marketing skills which were greatly lacking. Finally, many of Pyxis’ team members, myself included, have contributed to making ProjectCards a better product.

In return, ProjectCards is giving Pyxis another tool in their Agile project management tools arsenal alongside UrbanTurtle which is geared towards Microsoft’s TFS market.

Having proved its place in the Agile market for the past 5 years, ProjectCards also solidifies Pyxis’ pioneer stand in the Agile community since it was started by current Pyxis employees over 6 years ago. This was done at a time when most people in the industry were not even aware that Agile methodologies existed.

Where will this partnership take us ? Who knows ? Maybe Pyxis will recreate GreenHopper’s success story once more. Stay tuned to find out, it should be a heck of a ride.

Nicholas on behalf of the entire ProjectCards team.

françois beauregard au salon du logiciel libre à Québec le 7 décembre

françois beauregard animera le 7 décembre prochain une table ronde sur les impacts pour la gouvernance informationnelle de l’utilisation de logiciels libres dans les organisations publiques.

Thèmes abordés:

  • Le logiciel libre encourage-t-il la libre-concurrence ?
  • Est-ce-que la méthode d’approvisionnement du gouvernement est adaptée au modèle économique du logiciel libre?
  • Quels seraient les outils à mettre en place pour favoriser et faciliter l’utilisation de logiciels libres au sein du gouvernement? Forges, comité d’expertise… ;
  • L’impact de la méthodologie AGILE pour les projets complexes en logiciels libres ;

Intervenants

  • Josianne Marsan, Département des Systèmes d’Information organisationnels, FSA, Université Laval ;
  • Steve Tremblay, Directeur – Centre d’Excellence en Technologie de l’Information, Nurun ;
  • Jean-François Rousseau, Président de Sys-Tech ;
  • Christophe Villemer, VP Executif de Savoir-faire Linux ;
  • Luc Vaillancourt, Président de Spatialytics

Plus d’information.