30 days of world cup in South Africa are over now. We have watched many of the games, and followed the stories around the games, and the teams. One of the more interesting facts, now also talked about in the media, is that it was a “teams” world cup rather than a “stars” one. Seems that teams won games, and not individuals. We thought we could learn a few lessons from this, and from a few other observations we’ve made during the games.

Think of your company, project and team and you’ll see it applies nicely.

Built right

Teams that are built right, have more success. Germany, Spain, Netherlands are teams that come from countries with a tradition of working right with players, starting at a very young age. Nothing is left to luck or dependent on talent. hard work, teaching the basics and long term plans brought them to the top.

  • Hard work – working with kids, taking them all the way, step by step, until they are ready and old enough to join the “real thing”. There are no compromises about training, more than once a day for many years.
  • No room for luck – starting with little kids, all the training, diet instructions, psychological aspects and physical conditions are all designed and monitored by the best experts. Plans are made carefully and trainers, coaches, doctors and others are following each step making sure everything is done as it should be.
  • Talent is not enough – a team can’t rely on one or even a few talents. A team has to be a team, each one contributing his part in the total effort to achieve the team goals. Building the right mixture of roles, and making sure all are in social harmony is important as much as each individual talent (and take Argentina as an example for talents vs. team work and achievement).

Work Gradually

Many teams try to skip the work and time of gradual and right process. They spend money (lots of it) on bringing the best players in an effort to win NOW. In most cases it doesn’t work. The examples are many – take Real Madrid football club and its failures to win the championship in the Spanish league, although bought all available expensive players. On the other hand, Barcelona has one of the best youth football academic clubs and they enjoy the products of it every year in the shape of 1-2 great new players (so many examples here, best known is Lionel Messi who grew in the Barcelona football club academy).

  • Don’t just bring the best there are out there. Make sure your environment and culture encourage learning, professional growth and get yourself better “home players”.
  • Make sure your “players” can work together. Sometimes 1+1 is more than 2 and sometimes it might be less. A good team is built slowly, making sure each of its members is the right fit, not only for his role, but in the greater picture of the team as well.

Team, Team

We’ve mentioned above already the need to work as a team. France was kicked our early because they were not a team, had many internal issues between players and between players and management. Same happened to the Netherlands in a few previous tournaments, were although had many talents and great opportunity failed to win.

Your team is a group of individuals who work together. They have to be synchronized, pull the wagon to the same direction. Each one has to know what is his part of the overall work, where can he contribute mostly and how. They must be able to help each other, overcome mistakes together and take advantage of good ideas and opportunities.

They also must trust their team leader and have confidence he leads them on the right direction. You know what happens if the coach says one thing and players do something else, each one what he thinks best.

Were would we be without Passion

It was obvious during the games that teams with less talents can try to close this gap with a passionate game. Have you see the South Korean running? Did you watch Uruguay “burning” the field or the USA squad giving it all?

Now imagine you have an A team with a few great talents, with this kind of passion….

Make sure your team is passionate about their work. Involve them, give them good example, make them believe – and they’ll bring their best act.

Brazil World Cup

See you in Rio in 4 years :-)


del.icio.us:World Cup thoughts about winnings teams and software development digg:World Cup thoughts about winnings teams and software development reddit:World Cup thoughts about winnings teams and software development

As a company, which develops tools and services for the software testing industry, it is important for us to follow up on its trends and future predictions.

We like to think that since we are part of this industry, and have a dialog with others in it (such as customers, experts, competitors and others), we know what’s currently going on and where is it going to (as much as this can be known). However, it’s always good to get some feedback on this “knowledge” from researchers, who study the industry in a more methodological and thorough way.

The most common prediction is getting more and more votes. A recent study by TechNavio Insights shows that testing – like many other software development units (and IT to this matter) – it is moving to the cloud.

Is it a bird? Is it a Plane? It’s Testing

The general term of Cloud hides behind it a few different terms related to testing. There’s the SaaS (Software as a Service), the TaaS (Testing as a Service) and the PaaS (Platform as a Service, on-demand application development platform). The new research shows that many companies, including big-size ones, understand the importance and the opportunities of the Cloud and are building their services to be available in this new form.

This goes even further when we look at new offerings (from new or existing companies) that are designed to be used as over-the-net, SaaS, Cloud applications (and you can pick your favorite term). Obviously customers are not happy to pay anymore the amounts previously paid for software, in advance, and then to add servers, people to maintain them, yearly application maintenance, upgrades, etc. Why should they, if they can subscribe rather than buy, pay for the usage only rather than commit and at the same time save all the hassle of installations.

What started with the hardware is very quickly spreading to software, and specifically to software testing. Look at all the tools available now online – test management, bug trackers, automation, mobile units virtualization, project management. You name it. So far it was the new small and mid-size vendors, but we expect the big players to join. They have no other choice. 

Need for Proof

Of course. Vendors of software testing application will have to stand to the same quality those “regular” apps have. Security has to be even tighter, and performance and availability must be superb. The challenge is huge, even before mentioning the different approach to service (including support, upgrades and on-going maintenance) that these vendors have to adopt.

Unlike installed solutions, the ease of switching to another solution provider in the Cloud will enforce vendors to take their standards to a higher level – at least those who will want to stay in the game.

It’s the golden era for customers – they will soon get better solutions, easier to manage, better services and in a lower price. The opportunities for customers are huge – solutions of TaaS will enable them to re-size their testing teams at will and reduce costs significantly. They will be able to use many testers in a short notice and for a limited time and perform much of the testing efforts faster. We believe there will be vendors offering solutions, which will be combination of community access (testers) and products (testing platforms and solutions).

Software testing has a bright future. After recognized in the past few years as an important part of the development effort, testers being part of the project teams and participating in all phases starting with the design, we will see more companies doing testing (easier and cheaper), doing more testing (testers available online and on-demand), using Cloud based solutions for the testing process. 

We’ll be there.


del.icio.us:Global software testing trends for coming years digg:Global software testing trends for coming years reddit:Global software testing trends for coming years

Winner takes it all – Free account for a year!

Just a short post to tell all of our blog readers about our special promotion. The world is celebrating the football World Cup event, and Testuff joins the party.

We always said that testing should be fun and what’s more fun than games :-)

Now, and during the world-cup you have a great opportunity to enjoy the games, and then go back to work enjoying Testuff.

We offer special prices while celebrating the world cup games. Starting June 11th and until July 10th, any new customer, coming from one of the 32 world cup participating countries, will receive a 10% discount on any Testuff license purchase.

And it only gets better for the winners: New customers from the winning country will get a full refund for any yearly license purchase made before July 10th.

Good Luck!


del.icio.us:World Cup Winners get A bonus - Testuff Licenses digg:World Cup Winners get A bonus - Testuff Licenses reddit:World Cup Winners get A bonus - Testuff Licenses

We often receive requests from our customers, most of which are professional testers, to work with them and show them how to use Testuff when using a specific testing methodology.

Usually after a short dialog, they find the best way for them to use Testuff. We’re quite proud that Testuff does indeed fit with many different methodologies. However, the question I always wonder about is: Why do most people (i.e. testers) think that somewhere, over the rainbow, there’s a magic methodology which flies…. In my mind, it is almost obvious that no methodology can replace common sense.

         “Common Sense Is Not So Common”, Voltaire

Keeping the testing process efficient, simple and manageable is sometimes more important than finding and adopting a methodology, which doesn’t necessarily fit in with the company, its processes, people and attitude.

This post is not intended to be philosophical and does not attempt to create yet another testing methodology. The intention is to simply try and describe my “common sense” testing approach for those who want a simple 5 step guideline.

5 Steps to follow                                      

The first two steps involve some preparation:

1. Get your requirements! no mater if you are a one-man-band or a global multinational organization, if you don’t have any requirements, you can’t test. You can even have “The site should not crash, and it should be accessible using FF and IE” as your only requirement. But if you have nothing, you may be able to do a great development work but not when it comes to testing.

2. Write a simple test script for each requirement. The test script is an instruction how to ensure the requirement is fulfilled. You can write it in a simple language: “Check that all links work”, “Check that all links have a proper title when the mouse hovers over them”. You could also use any format of step/expected result. Just write something easy to understand. I don’t have any particular advice on how to organize your test scripts. Some prefer to group them by requirement (each test under its requirement), some by the product areas, some by type (GUI, DB, etc). I prefer to put them in a place where I can find them :)

The third step is a mental step, just to bring you to a “testing” mode and make sure it is done correctly. Think zen.

3. Freeze the test environment. No matter if you have separate environments for development, testing, release and production or if you use only one environment for all (which is probably a bad idea). The golden rule is to freeze everything before and during testing. If someone changes your test environment whilst testing, all your effort goes down the drain and you might as well not do any testing at all. Now for the actual testing process.

There’s a little twist that will make your testing better on every cycle:

4. Start testing (and improve your scripts). Just run the Application you test and follow the test scrips you wrote in step 2. If the Application fails on a particular step of the test script, simply open a defect to be fixed later by the development team. If you test something that was not specified on the script and find a defect then (This is the continuous improvement part) add it to the script and fail the test. If you find the script irrelevant or not up-to-date then update it.

* Sub-step #2 enables you start with a very basic test script, even an empty one! and fill it in as you progress with testing.

   That’s it. All done.

Another step, to be carried out outside of the testing cycle, which will help you to get better coverage of your application is:

5. Prepare for the next testing cycle. Whilst running the application in production, you will no doubt find some defects. Don’t worry! everybody does… The key is however to avoid these defects on the next release of your application. You can make sure you improve by updating the relevant scripts for the processes in which the defect was found in the first place. This way, next time you test the application you make sure to check that the defect was fixed. It also serves well for sanity / regression testing purposes.

That’s all.

The testing world has some great methodologies, and I’m sure you can improve this “common sense” five step process. The main reason for writing this post was to encourage you to start testing your application! Instead of hiding behind “it’s too complex”, “I don’t know how to”, “We need an expert to drive our strategy” excuses, simply jump in and get started. This is what Testuff is all about.


del.icio.us:Common Sense Testing Methodology digg:Common Sense Testing Methodology reddit:Common Sense Testing Methodology

Testuff for Mac

April 22nd, 2010

Usually we leave this blog for thoughts, ideas and discussions written by different people here. However, this time we figured, why not, let’s say something about how we worked hard and finally made it…

 

Testuff for Mac is out!

It took longer than we first thought, and along the way we realized it won’t be as easy as it looked at the drawing table, but here we are with a version for all you Mac fans. Now you can use Testuff on your OS X and share the work with the Windows users in your office. It’s the same data, using the very same user-friendly interface, now available on both Windows and Mac.

The Mac version of Testuff test management tool comes after running the service on Windows platforms for over 3 years. It is a response to many requests by software development companies who see constant growth in Mac software and users. We all feel proud to be able to launch a monthly new version on-schedule for over two years now, with many new improvements and features. Our new Mac version, released earlier this week, is an answer to great demand from our customers and members of our community.

 

The Challenge

One of the main challenges developers face when working to get their app to work on different operating systems, is that in most cases it requires parallel development and in essence the creation of several separate versions, each with its own development, testing, builds, etc.  Many of you are probably familiar with these Multi-platform environment problems.

This is exactly what we were trying to avoid.

Our goal from start was to have just one code-base, which serves all different OS versions. To accomplish this we did the following:

* We used Python (a multi-platform language) and only utilize packages which work on multiple OS.

* Refactoring and packaging any part which is unique to one or more of the OS.

* We automated the build and release processes.

 

What’s next

We will continue to release monthly versions for both the Windows and Mac clients, working with customers to improve and enhance the system.

There’s still work (Isn’t it always the case?), and the video recorder is yet to be included, but we will continue working on it, improving it and making sure it stands to the level we are committed to.

Many thanks to all the developers and testers who worked to make it happen, and to all the users who were engaged in the RC version and helped much with good feedback and great ideas.

And now we move forward to Linux, iPhone, iPad…   :-)


del.icio.us:Testuff for Mac digg:Testuff for Mac reddit:Testuff for Mac

In the testing community, lots of companies use many different automation tools. It saves a lot of trouble going through repetitive tasks that the computer is quite capable of doing by itself. At Testuff, we don’t try to compete with those tools. They’ve been around for a while, they do a pretty good job, and trying to beat them at their own game is not what we’re after. Nevertheless, we do our best to integrate with as many automation tools as we can (as we do with bug trackers). The only problem so far is that they can’t do your dishes (yet).

Dirty Dishes


I ended up playing with Selenium recently, when we created a Selenium Extension which integrates with Testuff. It got me thinking: Wouldn’t it be useful (and cool) to use those test automation tools to help me keep up with stuff on my personal life as well? How about checking my bank balance, and sending an email with the latest transactions every day? What about the mobile or home phone bill? Track electricity usage? The possibilities are endless.

Many companies nowadays offer web-based access to your own information, from banks to utility companies, mobile phone operators and so on. However, logging in every time, just to check your balance can be tedious.

I’m sure many of our customers are more experienced Selenium users than we are, but I still wanted to give a few hints about making selenium a little more tedious-task-friendly. One of the main differences in running Selenium for testing and for automating those tasks, is that when you’re testing – if a step fails – the test fails and that’s good enough. All you need is to abort the script and report it back to Testuff via our Automation API. However, for checking your online bank balance, you might want your selenium script to be a little, erm, more intelligent! It should keep trying a few times if a step fails. It should perhaps restart the whole process and try again. It could in fact ignore a few small issues and carry on. Maybe the web page didn’t load completely, but the link to the next page is available. Maybe if a link or text is not available, clicking on another link and then re-loading the page helps.

We’re using python primarily. It’s a simple and powerful language, very easy to read and write, and Selenium easily exports scripts to it. I’ll just list a couple of simple helper functions that I ended up using. They are fairly self-explanatory, but feel free to comment if you have a question.

def wait_for_text(self, text, wait=60):
"""    Waits for text to appear on screen for a
given number of seconds. It does not
raise any exception if the text is
not present, but rather returns False
"""

sel = self.selenium
for i in range(wait):
try:
self.failUnless(sel.is_text_present(text))
break
except: pass
time.sleep(1)
else: return False

def wait_until_text_disappears(self, text, wait=60):
"""    Waits for text to disappear off screen for a given number
of seconds. It does not raise any exception if the text
is still present, but rather returns False.
This is useful for some websites which put
pages like "processing your request"
"""

sel = self.selenium
for i in range(wait):
try:
self.failIf(sel.is_text_present(text))
break
except: pass
time.sleep(1)
else: return False

def wait_for_page(self, wait):
""" Replaces the wait_for_page_to_load built-in
function, but catches any exception, so the
script can carry on despite the page
not being fully loaded.
"""

sel = self.selenium
try:
sel.wait_for_page_to_load("%d" % wait * 1000)
except Exception, e:
print "Exception caught: %s" %e

A ‘typical’ automation script will look something like (simplified slightly):

def get_mobile_balance(self):
""" retrieves the mobile phone and remaining Mb balance
and emails it
It retries several times, in case there’s a temporary issue with
the website.
"""

sel = self.selenium
retry_count = 0
MAX_TRIES = 5
while retry_count <= MAX_TRIES:         try:                         balance = self._get_balance(sel)             self._email("me@address.com", "Mobile Phone Balance", "Here’s your balance for today: %s" % balance)         except:                             retry_count = retry_count + 1             if retry_count >= MAX_TRIES:
raise
time.sleep(15)

def _get_balance(self, sel):
sel.open(sel.browserURL)
sel.click("//div[@id='check_balance']/div[1]/div/a/h2")
sel.click("link=mobile phone")
self.wait_for_page(30)
sel.type("txtMobileNo", "12345678")
sel.type("txtPassword", "my_password")
sel.click("continue")
self.wait_for_page(30)
self.wait_for_text("Account is ready.")
sel.click("//input[@type='image']")
self.wait_for_text("Your Package", 60)
sel.click("link=view your current usage")
self.wait_for_page(30)
self.wait_until_text_disappears("processing… please wait", 60)
self.wait_for_text("view package balance", 60)
sel.click("link=view package balance")
self.wait_for_page(30)
self.wait_until_text_disappears("processing… please wait", 60)
self.wait_for_text("minutes available", 60)
remaining_minutes = sel.get_text("//div[1]/span[2]")
remaining_mb = sel.get_text("//div[4]/div[1]/span[2]")
sel.click("link=log out")
return "%s\n%s" % (remaining_minutes, remaining_mb)

def _email(self, email_address, subject, bodyText):

Feel free to share any other cool ideas for using Selenium, or any other automation tool.


del.icio.us:Selenium - Please do the dishes! digg:Selenium - Please do the dishes! reddit:Selenium - Please do the dishes!
Three main steps
 
Any seller of software, and especially SaaS vendors, have to figure what’s the best way to attract their potential customers and then turn them to actual customers. This is not an easy task.
First, you have to get your audience, come visit your site.
Second, your site has to be good enough to have them download your trial/demo version.
Then, you hope they will be happy enough with it to want to continue using it, and of course – pay for it.
Each such step conversion ratio (site visits to downloads, downloads – actual trial, trial – paid) is a few percentage at best. Our experience shows that the last two are the tricky ones, and as anyone would have guessed, turning a trial user into a paying customer is the most difficult.
There are different ways to achieve your goals for each of the above steps. Let’s skip the discussion about how to get more site visits, as this is an issue covered by experts from day one of the first Internet sites, and multiple options are available for any site owner, at low costs, to do so. We’ll just mention that we use AdWords as a our main advertising tool, but we try to use other options as well. We do a lot of work of ‘guerrilla online marketing’, meaning we spend time in forums, blogs, relevant sites, have our own blog, twitter etc.
Usually you hit the wall on the second and third steps.
When a visitor enters your web site, the first 10-15 seconds are crucial. If he/she doesn’t have a “good feeling”, chances you lost them. If they stay a few seconds more, and are relevant in the first place to your offering, the chance of them downloading your software increases by numbers. Few approaches we tried, showed us that a one-main-message is very important on the landing page, mainly due to the short visit time, as mentioned. When we tried to say many things, in an effort to tell the ‘whole story’, we just confused and drove away our confused visitors.
You want to make sure you have a goal on the landing page. What is it that you want from your site’s visitors. In our case it’s download, so here you are with a big red ‘download’ bottom. What’s your goal? Is it understood in less than 10 seconds?
 
Trial (with no error)
 
Whether you have just a demo, or you have a trial version you are looking to turn users to customers. You don’t want to just see visits, downloads, and registrations – you want to see money.
And that is not easy.
Of course it all starts and ends with the quality of your software. If it’s no good, nothing else will help. However, having a good solution, is definitely not enough. Your competitors have good solutions as well, you are never alone. So, this is what we learned in the past years:
  • Good service is important, great service wins customers.
Can’t over estimate the importance of great service. Give your potential customers (and your customers) great service and you are increasing the chances to see them turning to customers more than anything else. great service is not easy – you need to be quick, thorough, personal (vs. automatic responses), responsive (listen to your customers and their needs and try to respond) and stay pro-active (tell them what’s going on during the process even if they don’t ask).
  • Keep it simple.
Think of yourself as a customer. You want to have easy-to-use application, comprehensive but intuitive and self-explained (no manuals, no training). Give your customers the same. design it that way and keep it even when you add more and more features to your application.
  • Don’t guess. Ask your users
When working on your solution, be it while still in Beta or after two years and version 2.0, don’t try to guess what is it that your users want and need. Simply ask them. They know and they will be happy to tell you. Take advantage of your communications options with them (your blog, your twitter, email list, web site) and make sure to pull feedback. If you make sure to demonstrate it matters, it will keep coming.
 
Freemium, Premium and Dollars
 
Then there’s the pricing model. If you were asking yourself how come it wasn’t mentioned until now, it was just because we wanted to give it the place it deserves :-)
Remember – we are trying to check how to convert trial users to paying customers. There is no point in just getting users to register. We know from experience that users will pay, if they believe there is value in the offering. If you think yours does – charge for it. Its worth it and your users know it. Free doesn’t work, if you want to stick around for a while. Even if you have a free trial or a free period, or any other option for attracting potemtial customers, there must be a Dollar at the end.
Should the trial be free, and ‘free’ of user’s payment details? Is it better to have a ‘money back guaranteed’ option? and how about “freemium” – give it for free but with less features, and try to make them upgrade to your premium paid version? maybe none, give them a demo and then if they want to use it they should pay?
Many possible ways for one problem.
Naturally, the price should be competitive. As said above, you are not alone, and users compare your solution in all aspects, including the price and it’s value in quality terms (how cost-effective it is for them).
We try to apply same rules as those written above. Give great service, keep it simple and listen to your users. It can all be applied to pricing as well.
Great service – have rules, but be attentive and see if you can be flexible and meet the specific needs of the specific customer. Try to work with them, and find a solution which meets their requirements as well, not only yours.
Keep it simple – why complicate it with many packages, some of which practically meaningless? First, build 2-4 options, it covers all possible options. Second, make sure the price is understood, and don’t hide future fees and ‘other’ charges. In our case we have one price for a license, and it includes everything (the license, maintenance, backups, security, upgrades, service). Don’t make it a math lesson.
Listen to your users – We didn’t ask our customers how much they want to pay (although in some places they do it. Successfully.) But, from time to time we have discussions with potential customers about the pricing, how they see it, how they compare it to other options in the market and we try to learn and adjust.
 

del.icio.us:Visitors ---> Users ---> Customers digg:Visitors ---> Users ---> Customers reddit:Visitors ---> Users ---> Customers
A few rainy-day thoughts:
 
We have been hearing a lot lately about privacy issues. “Google Buzz” came out with a big noise, only to redraw quietly back to the drawing table in order to fix many privacy problems, which made users (very) angry.
Facebook is dealing with privacy issues since its first days, and still is. Do you remember how if you opened an account, there was no way to close it, not to mention delete it? and now we just read about that school who’s teacher spied on his students through the laptop web-cam. Its everywhere.
Anything we can learn?
Every time this happens to one of the social-network sites, we wonder again if there’s any lesson for us in this.
Testuff is used by a group of people together – does it make it similar in any way or is it different because its users are working with it (for their company, who pays for it…) and are not using it for personal purposes?
Should we regard it as a social network, at least to some degree? A group of testers, is a group. With all implications of group interactions. Does the fact that it is a business type software makes it different, in the eyes of its users? Can we allow less privacy, more user-monitoring? Who should we satisfy – the end users, the managers (who as mentioned pay us), or both, if possible?
 
 
Two different approaches
With time, two different approaches were adopted here (at Testuff).
Some think Testuff is too much in favour of the end user, making it lack a few important options, because they can be considered as tools for ‘monitoring on testers’. Those who take this approach see a need for managers to get tools for better managing their teams. In order to manage, you need control and information. Of course, it should be used to help the testers, coach them and make better decisions however isn’t it our business to supply these tools they ask?
Others believe that any enhancement, which can serve for tracking testers activities is due to become a “spying tool”, and therefore should not be implemented. Supporters of this approach are afraid of creating options or functions which will make a user’s life miserable, being monitored-to-the-bone when using Testuff. We all know how such tools and reports can be used for spying and sniffing on others, trying to “catch” them rather than helping them.
 
Let’s take for example reports of testers productivity, or testers time management efficiency. It can be looked at as a legitimate managerial tool, helping managers to better control the team, helping the project get better results in less time and greater efficiency. Or, perhaps managers will use it to “spy” on their testers, using Testuff to know what they do every hour of the day, leaving less room for creativity, not letting the individual tester make his own decision about how to do his work, managing his time and being evaluated only by results. 
 
border=0
 
And so we have on one corner – in red – the “we prefer trust” group, with their socialistic approach protecting the testers from the evil managers…and on the other side – in white – we have the “give them managerial tools” group, with their capitalistic approach protecting those who pay for the licenses.
 
What we do at the end of each argument?
First thing is, we try not to get too excited about this :-)
Each improvement and enhancement which falls in this category, is discussed separately and the main factor will always be if its good for our customers or not. We try to leave it to them to decide how, if and when to follow up on their employees. Pretending to know better, or force our thoughts about it is not our way. At the same time, we try to balance this with our beliefs and our experience as testers, and make Testuff user friendly, and not only by its nice GUI.
We hope to be doing the right thing, whatever that is.

del.icio.us:Google Buzz, Facebook and....Testuff digg:Google Buzz, Facebook and....Testuff reddit:Google Buzz, Facebook and....Testuff

(How) Are you being served?

January 19th, 2010

Last night I’ve spent just over two hours on the phone. I don’t normally talk much. Most conversations are kept to a minimum. This call was different though. I was talking to my cable Internet support staff. I have to confess, it’s a very odd, tricky, almost elusive problem, and they were very kind and tried a few things, but to no avail. My Internet connection is still unstable and doesn’t perform the way it should. They promised to get back to me, but I wonder if they will.

The experience made me wonder: what makes (or breaks) a good customer experience? Why is it that we stick around with some companies, even when they screw up? yet are prepared to ditch a supplier whose service is pretty good, just because of a single mishandled support incident? It’s clear that a poor product or service is unlikely to make customers happy even with great support and fantastic customer service. Shoddy support however can certainly bring down even the best company providing the greatest products and services.

Support. It’s a misleading term in itself. I don’t need your support. Just get your act together and sort things out for me please. And do it quickly.

At Testuff, we use many online providers, and inevitably use their technical and customer support every now and then. We also provide support to our own customers. We pride ourselves in giving quick, efficient, courteous and straight-forward response to all our customers. We don’t always get it right of course, but we surely try hard.
Mr Humphries
So how can we be sure our support is satisfactory? And what really makes us annoyed when getting poor support from our providers? We would love to hear your thoughts, but here’s a quick list of things we noticed really make a difference:

  • Timing – getting (and providing) a quick response really makes us happy. Don’t mistake a quick response with an automated reply though. We want a real response, by a human, who actually understands the problem. There’s nothing more frustrating than having an urgent issue with no response for hours or even days. We do however try to be patient when the issue isn’t really urgent, and few issues are.
  • Getting it - My level of frustration really hits the roof when the support representative at the other end just don’t get it. There’s nothing wrong with asking for clarification and making sure they understand the issue, but in some cases – it seems like nobody bothers even reading the request.
  • Irrelevant responses – usually accompanied by some form of a template with things I should try. We understand that companies deal with many cases, and most issues can be solved with a CTRL+ALT+DELETE. Nevertheless, getting a template response with little or no indication the request was actually read by a human being can be annoying and time-wasting.
  • Plain wrong or inaccurate responses – we are all humans, and we all make mistakes, but it does appear like some companies do it more frequently and consistently than others. With some of our providers, we used to just get too many inaccuracies (and in some cases, blatant lies).
  • ‘We don’t know’ – as funny as it may sound, I have much more respect to companies who don’t necessarily know what the problem is or how to resolve it. Obviously, it can’t happen too frequently, and I expect them to investigate and resolve the issue eventually. There is nothing wrong with an honest, straight-forward reply, even if they don’t know the answer.
  • Being pro-active – this is subject to debate, and we don’t seem to always agree about it at Testuff. I personally like getting messages from companies telling me there’s a problem, even if I didn’t even notice it, or we really weren’t affected. This is not a pure support issue, but I think it adds to the confidence customers have in companies. If a company tells me when they’re having issues, I know it’s the kind of company who would really work hard to avoid it. Conversely, when the server is down and I’m the one who seem to break the news to the company?! I’d be out the door in a blink of an eye.
  • Communication – This is partly related to being pro-active. Do you get notified when an issue is investigated? Even, or particularly so when no progress is made? As I was writing the post I noticed my Internet is performing better. Checking further I think the problem may have been resolved by my ISP. I didn’t however get a call from their support staff as promised.
  • Taking ownership – Acknowledging a problem is important. Nobody likes being blamed for something they’re supposed to be doing fine, but taking ownership of problems when they take place is crucial.
  • Language and Courtesy – Bad language can translate to bad manners. It is very culturally dependent however. When we reviewed some of our support responses, we realised that the way a sentence is constructed can hugely affect our customer satisfaction. This is also true when requesting support. When you get a one-line email with “X doesn’t work. Fix it.” (or similar), it’s very hard to try and be helpful.

So what’s on your list? Did we miss something out? What do you love/hate about the support we provide at Testuff? and How can we make things better?


del.icio.us:(How) Are you being served? digg:(How) Are you being served? reddit:(How) Are you being served?
Danger, end of year resolutions ahead
 In a life of a company, there is no real difference between December 31st and January 1st than there is between say, May 5th and May 6th. It is in our minds that this date, of the end of a year, has any real meaning. We will work on January 1st (yep, we will) the same way we did every other day in 2009, trying to do the best we can to accomplish our goals.
Still, the end of a year is always a good time to stop the usual rush for a moment, take a look back, and learn how to improve and do better next year.
 
and so:
 
What did we do
One of the things we are proud of in 2009, is the fact that we have managed to have 12 new versions, exactly as we planned in the beginning of the year (well, one is still to come in 2-3 weeks but we will do our best not to disappoint our customers in the last one for year).
A new version every month.
Every version with meaningful enhancements, improvements and fixes (the full list can be found at http://www.testuff.com/postupdate).
It turned out to be a difficult task, but it looks as we have succeeded to find the right balance. A balance between a tight schedule and the need to release a substantial version, one that would tangibly improve our customer experience.
 
 This brings another thing we see as an achievement – every change we’ve made to Testuff was either a direct request from customers or an indirect result of customer comments and feed-backs. We have learned in the past years that there’s no reason to guess what users will like or want in the application. It is very simple to ask them directly, get ideas from their emails (be it questions, comments or feature requests). We continued to discuss specific improvements with customers, prior to designing them, and in some cases had customers give direct feedback on some prototypes for us.
Our customers engagement was always real, enthusiastic and of much help (and we thank them all).
  • 2009 was also a year of growth for us. We have been fortunate to acquire many new customers.
  • We kept on the good service and smooth operations.
  • Not even a single customer left us because they weren’t satisfied. We had only two customers whose projects were complete and didn’t need a test management tool any more (and we already know one of them will be back in January :-) )
  • Our support team had an average response time of less than 3 hours to any incoming email.
  • Our web site has been upgraded, slowly but surely, and we have received good feedback on the new home page (http://www.testuff.com/).
  • On going improvements to our back-end infrastructure.
 
What didn’t we do
Oh yes, we didn’t manage a few things….Man falling on his face
 
We couldn’t escape a few version releases with bugs, for which we had to release a new version the following few days. This is something that, as a testing tools and services provider, we should try hard to avoid :-(
Testuff still has some odd and rare client-server communication issues, which although very infrequent, is very annoying and had been with us for a while. It had affected only one or two of our customers (and even them rarely) but we see it as one of our failures in 2009.
Lastly, we planned to release our Mac and Linux version in 2009, but as it looks now the Mac version will be out in the beginning of 2010, followed by the Linux.

What will we do
Testuff has quite a few plans for 2010. It is not our way to plan “too big and too fast”, as we don’t believe in magic. However, if we meet all goals and plans we’ll see a bigger – and happier – company in 2010.
We hope to see a few new co-operations with companies that are working with software development companies, giving them testing services and/or actual testers.
 
During our strategic 2010 discussions, the entire team agreed that if we could repeat some of our 2009 achievements, it will be an achievement of its own… For example: another 12 monthly versions; high quality and fast support; maintaining an efficient right-sized team; and keeping the Testuff spirit – Testing can be fun! So, expect more of the (good) same.
 
We will of course continue to welcome new customers…
 
What we won’t do
We won’t stop improving Testuff for the benefit of our customers.
We won’t be annoying any customer or registered user with too many marketing and sales emails.
We won’t raise the price of licenses.
 
 
Happy holiday season to all !
 

del.icio.us:2009 was a good year. 2010 will be better. digg:2009 was a good year. 2010 will be better. reddit:2009 was a good year. 2010 will be better.