Tuesday, 14 July 2009

When the design is not user centerred...

I have to admit, I generally love Google's products. I am however often not impressed by their way of handling customer requests or the whole customer experience thing for that matter.

The last deception for me is this feature that now allows to do an undo after sending an email. I can relate to this feature because I have requested the ability for my sent email to sit in my outbox for some time (like you can do in Outlook for example).

From the point of view of listening to their customers they do well, it is easy to submit feature request or bugs.

But when I enabled this Labs feature I was up for a major deception. It was clear that they got it all wrong. In this case, the code mechanic and feature works:
  1. I can effectively undo a send email
  2. I can personalize (minimally: 5 or 30 seconds) the time is stays in my outbox.
Where it fails miserably is how the user interaction is done. It is so poor that the working feature is more or less useless.

When sending, I have to click on the "undo" link at the top of the screen but this is only there until I do another action. Since after hitting send I always do something else (I am not waiting 30 seconds staring at my screen to maybe think that I should not have hit send), the message disappear thus rendering the working feature useless.

What as gone wrong? Or, what could have happened to prevent this? (note that I am assuming that this is the implementation they choose to do to fulfill my feature request)

It is simple: Get someone involved on the development side at Google to validate the approach they were to take with the customer.

Doing so would have allowed them to:

Understand my goal
  • I need the ability to cancel sending an email.
Understand my motivation
  • I sometime use the wrong tone in an email, I get excited, I need time to cool down before I realize I may have said something the wrong way.
Understand my workflow
  • I need the period to be longer than 5 or 30 seconds, I need 10 minutes.
  • This above implies that I cannot rely on the last action "undo" link there is for everything else.
This is so simple that it is pathetic that they do not do it. This is something that is important and a lesson that we made a loooooong time ago at Macadamian: validate your understanding with your customers/users so you reduce the risk of mistake at the soonest possible time.

Now if someone at Google can read this an start interacting with their customers it would make my day.

Thursday, 2 July 2009

Kanban collaboration nirvana?

I've been educating myself more and more lately on this Kanban buzz. For the neophytes, this is more or less the Toyota model applied to software development.

One thing that struck me is how it enforces collaboration. The cool thing is that I can relate to some of the inherent benefits when thinking of a project that I worked on a few years ago.

One thing Kanban ask you is to be lean. To be lean implies to have control over your queues. At Toyota it meant that the door maker guy would only start making new doors when the door installer guy would have only X left in his pile. How does that translate to software you ask?

Well it is simple. The number of stories accepted on the board are limited, the WIP (work in progress) is kept to a low number, similarly all the queues of your SDLC are kept to a small number too. There goes for the queues optimization theory, you can read more here.

However, these limitations on the queues size have an interesting side effect, and it is that it will promote collaboration over everything else. In a Kanban system a team member for example, is encouraged and might have to offer help to the QA team in order for them to free some room in their own queue, which will allow the dev to promote the new completed story to the QA stage. Similarly, a developer could also assist in the UCD (user centered design) activities if the bottleneck was found to be there.

Isn't this beautiful? I think so. This is something I recall doing at a small scale when I was project leader, I would find myself occasionally helping my QA team to reduce their queues.

At the time I did not know that much about Toyota nor Kanban, but it feels good today to see that I had such behaviors without really knowing much about some of their benefits.

Another side effect of this is the growing requirement for highly agile team members, team made of people that can do just about anything for the benefit of project... and the team!

Tuesday, 16 June 2009

Why team collaboration and communication is so painful?

A recent twit from Gerry Kirk that I follow on Twitter, is providing me with an answer to this question.

His recent link to Working Agreements is putting emphasis on it, not directly but indirectly.

When I read this, one thing struck me: there is a lot expected from everyone - not too much - but a lot. Failures at communicating these expectations will undermine your team. Not only at the Agile/Scrum level as explained by Nicolas but at all levels of your organisation.

People have to understand the purpose of the expected communication and collaboration activities. They have to value them as a practice and they have to buy into the technology that enables these activities to happen.

Again, the people, process and tool triangle...

Sunday, 14 June 2009

Will you join the Google wave?

I am quite late with this Google news but I am just done watching the developer preview at Google IO on May 28th.

It's quite long but quite worth it as an overview.


This is very exciting in my opinion as it revolutionize further the way we communicate. Google already created a mini revolution with Gmail, but Wave integrates all communicateion tools we use daily (email, IM, SMS, blog, content collaboration, etc...) in one. That's lovely. The more I think about it, it's not a communication revolution but a collaboration one.

We have all replaced the words "search this" in favor of "google this"... I would like to predict that we will soon replace email and threads by Waves! IMNSHO, this is the end of email the way we use it today.

Will you join the Wave?

Friday, 29 May 2009

More stuff about Google

Following up on my twitter post...  

on the other hand is the fact that Google will keep creating weird features in Gmail - last example is this inbox feature for slow connection... 

How many Google savvy users are still on 3200 bauds modem?  Admitedly the value of this feature is of limited reach...

There are a bunch of productivity related features that are in their funnel I am sure, I for one keep pushing features their way. 

Last one was something inspired from the Syndeo Project Server we created back in the days...  It's the ability to put email threads on a stack or on a symbolic push pin board that you can later pick and add as attachments to other emails. 

I do not know about you but I keep having to do this, digging out threads and then forwarding them arround.    Of course I can send them individually but in many cases it makes sense to keep them together to keep the context in one bundle. 

Been waiting for this and other similar productivity enhancement to gmail... Maybe I am alone with this need who knows?
 
You can contribute feature list to Google at 

Wednesday, 20 May 2009

Google Tasks

This is something that I have been waiting for a long time now... 

Last week Google released an update that shows your tasks in your calendar.  Kind of mandatory if you want to get them done! (granted that you at least look at your calendar once a day...)

Read more about it here. 

Friday, 1 May 2009

OSEF - Software as a Service

Yesterday was the event on SaaS, we had a very information savvy group and our panelists, as usual, have helped demystifying SaaS for the rest of us. 

A couple highlights for me from the discussion:

SaaS is raising the bar with respect to the quality of the development process.  
I was not expecting that one.  But when you think about it, delivering software (read: value) frequently puts pressure on the need for the development team to create quality software at all time not relying as much on an intense and lengthy verification process.  In this context, successful SaaS product teams have better software development processes.  We did not dive into the details of it, but risk mitigation and quality assurance strategies such as: user centered design, code review, agile methodologies, automated unit tests are certainly part of the mix.
Lesson: When building software in the SaaS model, ensuring you have a great software development process should increase your odds of getting the most returns out of your SaaS initiatives.

Your development team are on the operation team. 
We had an extensive discussion on the shift that SaaS causes on the involvement of the development team.  This is a no brainer when you think about it.   When releasing software on a monthly basis (or even faster) to your customers, you must have your development team available at all time, otherwise who's going to take care of the unexpected failure occurring on a Sunday night?  This is a clear distinction over the more traditional delivery model of shrink wrapped software.  
Lesson: Ensure you are engaging your development team for more than "simply" building the software.  They must be available to handle software failures at all time.  
Hope to see you at the next OSEF, the last of this season (for real this time!) 
If you are not member, please request membership through http://www.meetup.com/ottawasef/

Cheers!