Where do I go from here?

In two months to this day, I will be giving my tutorial on Career Management for Software Testers at CAST 2011, in Seattle, USA.

Any self respecting software tester has asked themselves at least once in their career. “Where am I going with all this?” or “Is this role really where I want to be for the next x number of years”?

If you look around, its traditional* to think of a software testing career path as follows:

[quote style=”boxed”]At entry level as a Tester, you’ll primarily be performing test execution and acquiring niche skills to ensure systems meet performance standards required by the business and end-user.
Progressing to Test Analyst and then on to Senior Test Analyst, you’ll work on more complex scenarios, become involved in requirements analysis and test case design as well as execution. As a Test Analyst you’ll also be able to become involved in the specialist areas of Test Automation and Performance and as a Senior Test Analyst you’ll start taking responsibility for junior staff.  [/quote]

I think that’s a real shame that the role of  Test Manager is considered the pinnacle of your career. Why is it that in order to advance your career you have to be seen to me leading people?

So, I want to show testers that there are other career paths. In my tutorial we’re going to take a look at some of the typical roles testers in testing;  That of a tester specialist, a test manager and a test consultant.

But you won’t have to listen to me share about it, I got some fantastic software testers who have agreed to come in a share their own personal experiences. Karen Johnson (Test Consultant), Fiona Charles (Test Manager) and Markus Gärtner (Software Tester) will be available to discuss the pro’s and cons of their respective roles and understand what skillset you may need to get perform these roles.

I’m looking forward to giving this tutorial. Why not join me at CAST 2011? There are still some spots available.

*sourced from Planit website

So you want to be a software test consultant?

Today, I’ m handing out some pointers that may or may not help you on your path to becoming a software test consultant. Some of these I’ve gained through bitter experience, others are more hindsight on things I ought to have done.

So, without  further ado, here are my tips.

1) Dreams are not goals

Its easy to have a dream about setting up a test consultancy, and actually, it’s really easy to setup a company, print some business cards and your dream is realised!  But unless you have short and long term goals, your business won’t go far. I set quarterly and yearly goals for myself and my business.

2) What does success mean to you?


I think this is essential to understand. What is driving you to run your own business? Money, freedom of choice in your work, flexibility? Knowing what will make you happy when you achieve your goals and dreams is essential to having a successful business. For me, my initial goal was to work for myself and not have to answer to anyone! It has changed over the years to include flexibility to spend time with my younger children. At times, this has meant my business has not been highly profitable, but it has always been successful.

3) Know your market and your products.

Who are you targeting your testing at? Any particular sector? Any particular size of company?  Ask yourself what products/packages would they be interested in? Ask your market what products/services they would be interested in? All this ought to be in your business plan. In my view a business plan is the equivalent of your testing strategy and approach, and its a very personal document. It helps you through knowing your market and your products, your rates etc.

4) How much should I charge?

There is no easy answer to this, which is why spending hours googling websites like mine is not going to help you. The general advise is that you should charge enough to cover your expenses and how much you need to live on. So, if you estimate on working 40 weeks of the year, and you need a salary of $100,000 yr to live on, you have company expenses of $20,000 /yr  then you will need an hourly rate of $75.  This may not be the final rate you charge, but you know its your minimum rate. That’s helpful to know if a client is trying to offer a lower rate.

I went for a tender recently and lost out. I asked why and they mentioned that my rate was to high. I was dissapointed naturally, but I knew that I had offered the right rate for me and I would not have lowered my rate just to get this piece of work, the risks were too high.

There’s a whole other heap of things that contribute to your daily rate, such as knowing who your market is, and what they will take. Bear in mind rates are very fluid, and in times like recessions they often move down very quickly.

Personally, I think you just have to go out there and try out a few numbers with potential clients. You will soon learn what’s acceptable and what’s not.  So, get off your butt, find a customer and charge a rate. If you don’t get the work, ask them why? Was the rate too high?

No-one said this was going to be easy!

5) Marketing Yourself

I have to mention something about marketing etc, because a) its so important, and b) it can be very time consuming. What are the best methods to promote yourself? Like any good tester, I’m going to say it depends!  There many ways to promote yourself on-line and off-line. I have gotten work from both online and through knowing people. Each country differs in what works best. For example, in Australia, a lot of my work came through the internet, so having a good online presence was essential. In Ireland though, it’s more who you know and going out and meeting people is more important.

Be very careful how much time your spending on the internet twittering, blogging etc, your time may be better spent meeting people or speaking to people on the phone. This is a big trap and one I constantly fall into!

Writing articles and speaking at presentations are other ways of promoting yourself and its a good way to start seeing yourself as a provider and not a consumer.

6) The baby years.

Realise that though you may plan to work 40 hours a week, you may end up working less than that, especially in the first couple of years. So what do you do?  Either you need a little nest egg which you can rely on for two years, or else you are going to have to supplement your business through short term contract work.

In fact, I think its a good way to transition from permanent to running your own business as it helps you learn about other consultancy type skills such as understanding the tax system, raising invoices, working by the hour, dealing with clients and learning market rates. These are all skills which you may not have come across in your permanent role and will be helpful in running your own business. At the same time, you are still assured of an income.

7) Always be on the look out for new clients.

This is a real challenge when it comes to working for yourself and I think is one of the biggest challenges to running your own business. Marketing and selling your work to new clients is essential if you want to keep the work coming in and takes an enormous amount of effort. But how do you fit this in when working for a client five days a week?

I don’t have any easy answers to this and I still struggle with balancing my sales activities with my paid work. Paid work has to come first, potentially leaving only evenings and weekends for marketing and sales type activities.

If you value you family life, you can try working 4 day weeks and leaving one day (or 1/2 day)  for admin activities.

Another idea I had, but I haven’t tried is to outsource your marketing and sales to another freelancer. I don’t know if this approach works, but sometimes I’ve been sorely tempted to try something like this out!

8 Use your network.

Everyone knows that in order to find clients you have to network. I remember being a bit overwhelmed at the thought of having to find this ‘network’ of people to source work from. How in the hell to I meet these ‘people’ who had work?

I realised after a while, that I didn’t have to look anywhere as I already had a network! My network was my family, friends and people I had worked previously for. So, when I started looking for work, I turned to these people first.  Let them know you have started working for yourself and could they pass the word that you are available? It doesn’t matter if they are non IT people, you just never know where your next piece of work is going to come from. Also, ask them if they know of someone who may be able to help or give advice? (People love giving advice!). The key is to start talking to people you know, and people who your network knows.

A great place to start is with companies you’ve worked with. These people know you, and what you can do. You also have the advantage of knowing their systems etc. Don’t be afraid to go back and ask for any work they may have. If you can make it part time even better as that way you can focus on building your business. One of my first jobs came this way.

9) Work smart

I will let you in on a little secret. I have a business mentor. I suggest you go out and find one yourself. A mentor is an excellent way of guiding you through some of the pitfalls in starting up your own business and can help you with the all important and essential business plan.  I got my business mentor through an enterprise network, look around your local area and see if there is something equivalent.

Footnote. I am not offering any business mentoring, so please don’t ask.

and finally

10) Its your path.

It’s good to get advice and ask for help. However, no-one is going to give you a template or process for success. You are going to have to make it up as it goes along. That’s half the fun of running a business. I liken it to raising kids. It doesn’t matter how many self help books you read on how to raise your children, in the end, they are only guidelines. You are the one who is going to make to decision on what to do. Are you prepared for that?  If you want it all mapped out for you, stick to your permanent job.

That’s about it!

I’ve listed some related articles I’ve written on the topic below:

Presentation: It includes some stats on where I get work etc

Article I wrote for the STC On being a successful consultant

I could go on, but I think I’ve addressed the main points. If you have any more questions on this  topic, feel free to ask in the comments below. If you think you’d be interested in this topic  at a conference let me know that too!

Please don’t post asking for work, that you will have to find on your own!

Good luck on your venture.

Do your bugs only glow when its dark?

Have you ever been in the situation where no-one else can find and repeat the bugs you find? Perhaps you have a canny knack of finding unusual bugs, or maybe it’s time to improve and update how you write bug reports!

I do a lot of offsite exploratory testing in very aggressive timelines and consequently I have to admit, I sometimes start making basic mistakes.

My common mistakes are:

1) I don’t write the bug report up straight away

2) My bug reports are not detailed enough

3) I underestimate the time it takes to write up defects

4) I don’t use a defect tool

You can imagine, when you’re working offsite without even meeting the developer, this can lead to all types of complications. So I need to put myself in that poor developers shoes and make my bug reports as clear, concise and as detailed as possible.

I think it’s tempting when there is little formalised structure in testing to overlook writing a disciplined bug report, but it’s worthwhile to you and the customer. I mean what’s the use of paying someone to find bugs when no-one else can find and fix them?

Anyhow to prevent myself repeating such unforgivable mistakes, I have developed a set of guidelines to follow.

Offsite Exploratory Testing Guidelines to Bug Reporting

1) In the estimate to the customer, make sufficient time to write your bug reports as you go. It’s impossible to know how many bugs you are going to find but you can do a bit of math. If you’re planning three    days of testing, and you find 100 bugs @ 10 mins average, then that’s two days of your testing filled up with just writing up reports.

2) Agree on a detailed bug report with your customer. Try if you can to get agreement with the developer. Try and include as much background information as you can. There has been a load written on what constitutes a good bug report, so I won’t repeat it here.

3) Don’t delay; write up the bug report straight away. This is hard when you’re in the middle of some exciting analysis and you really just want to keep testing in the timeframe you agreed on. But trust me; it takes longer to write them up at the end, when you have to review heaps of cryptic phrases in Session Tester or in your notebook. A capture tool may be helpful in recording data, but if you leave reviewing to the end, it will add additional time and effort to the testing

4) Encourage customers to use a defect tracking tool. It saves everyone a lot of headache and heartache. There’s lots of open source defect tracking tools out there. TRAC and Bugzilla are the two most common.

If you want to be a millionaire – phone a friend

 

I was asked to quote for a job recently on some testing in an area that I had little experience in. After confidently replying to the customer “no problem, I’ll have a quote to you by the end of the day…”, I started googling furiously, trying to gain some understanding of at least what I was meant to be quoting on.

By the end of the day I was in a complete sweat. I was going round in circles trying to figure out what I ought to charge for this piece of work.
As the sun set, so did my desperation and I decided it was time to “phone a friend”.

Recently I had entered into some loose agreements with fellow consultants. Perhaps “partnering” is the correct word. Basically the idea is that, if I have too much work, or work I don’t typically perform comes my way, I pass it onto fellow consultants, and they vice versa.
So, in my hour of need, I rang on of them and I tell you what, it was like a miracle. As it turned out, my ‘partner’ happened to be an expert in this area and was quite happy…nay excited to quote and do the work if necessary.

What a fantastic result! Not only did I get to keep the professional relationship with my client I also get to help out another consultant.
I really learnt something from this experience and that was not be afraid to ask for help. In hindsight, I had been hesitant to ask for help because I thought it reflected poorly on me, I didn’t want to appear to be inadequate in front of either my client or a colleague.

 

Now I know, if I want to become a millionaire.. I need to be able to “phone a friend”………

 

How I setup a software testing consultancy

One question that keeps popping up into my inbox is …..I want to setup a software testing consultancy…any advice?

Ohhh yes. Heaps of advice. I don’t know if it will do anyone any good, but I have heaps of advice. However before I start down that path, I thought a far better and honest approach would be to share with whoever is  interested  how I started my consultancy business.

So, a bit of history.

Setting up a Test Consultancy in Australia

By 1998 I had worked on some great testing areas such as European Compliance Testing, R&D for some companies who really  knew about testing… Nortel and IBM to name drop a few. But to be honest, the corporate path never interested me. So with a decision I took totally lightly I setup a company. Easy Peasy. It cost me $600 Australian dollars and there it was, AMH Solutions Pty Ltd.

I got loads of work, mostly through contracting and though I would have preferred to work directly with a customer, I never gave the issue much thought.

Then I had kids.

Determine your Test Consultancy Success

I still really wanted to work, but I decided that considering my new found responsibilities, part time or freelance would be preferable. I figured that running a consultancy was ideal, if I could just find the work.

The first thing I did was go back to my old companies I had worked for. I explained I wanted freelance or part-time work and what do you know, within three weeks I was employed running a test management role for three days a week.

So things ticked along. I got additional work through word of mouth. I also contacted a few agencies and they kept me on the books for short term work only. I got some great jobs through that.

The Best thing about a Test Consultancy

For most of the time, I have really enjoyed it. One thing I have never regretted is working for myself. I love it. I enjoy the challenge and the freedom that it provides me. I get to set my own goals, where I want to be and what direction I want my company to take. I define my own success.

I am happy.

Freelance Testers – a smarter, cost effective way for startups

ITnews had an article recently on startups. It examines what to look for in a startup, and also how to minimise the risks. Here’s an excerpt:

A startup’s immaturity will be reflected in the quality and capabilities of its product. As you would when considering an established vendor, a CIO must conduct technical due diligence….You can minimize these risks in several ways. First, do extensive pilot testing, and start with a small deployment’

A good freelance software tester can provide real benefit to startups by verifying and/or validating software at a reasonable price. This builds confidence in a product and is useful for promotional purposes. Its also useful to demonstrate third party verification of technical claims when seeking additional funding.
This is how a freelance software tester can reduce cost yet still provide a quality service.

Freelance software testers are ‘on-demand’

The nature of software testing demands flexibility as the testing effort often fluctuates throughout a software development life cycle.

At the beginning of an SDLC, test planning, scheduling and scoping of tests takes place. It can be a very busy time for testers, scoping out whats to be tested, prioritising tests, planning and creating test cases, organising the test environment, the list can go on..

However, there’s often a lull after the initial frantic test planning. This is where all test cases are written, the test environments is ready, and testing is ready to start. The trouble is, often the software to be tested is not.

Even when the software testing starts, it can be a start, stop, start affair as major problems are found and require fixing. These are not necessarily related to code, but can be in installation, configuration etc. A tester isn’t always needed but should be on call for when testing does begin.

It goes without saying that a software tester is available during the test execution phase, and perhaps due to time demands, needs to test beyond normal work hours.

A freelance software tester works only when its needed, this is a big saving in cost. This way you can still afford a quality software tester at a lesser price.

Freelance software testers listen to the customer

A good freelance tester, will be a good listener. By understanding the demands on a business, a freelance software tester is able to adapt the testing to meet the needs. This can be a great cost saving, as needs are met first and foremost. See my post on http://www.blog.testingtimes.com.au/?p=25 for the types of questions a freelance software tester should ask.

Freelance software testers are flexible in approach

A good freelance software tester understands the three key demands placed on any software project, namely, cost, time and quality. They have the liberty to be flexible in approach to testing in order to balance quality against its natural enemies; time and cost. If time is an issue, a freelance tester is able to prioritise the testing to ensure key functionality is tested. Budgets can be effectively managed by using ‘on-demand’ testing and fast-tracking planning where possible.

Freelance software testers need to you succeed

Like any other freelancer, reputation is paramount. A freelance software tester’s reputation is built on getting excellent customer referrals. They don’t rely on big marketing budgets or a platoon of sales people for their next job. They need their client to succeed and be profitable. That way, not only does word spread, but they get repeat business. It’s in our interest to ensure that you have the best quality product to sell.

Of course many of the attributes I have described in this article can be found in software testers everywhere. However, a freelancer has the added advantage of passing these cost savings on directly to the client, without the commitment of long term contracts.

The full ITnews article can be found at http://www.itnews.com.au/News/59326,opinion-startup-fundamentals.aspx

Anne-Marie Charrett runs a software testing company that specialises in testing software for high-tech companies and startups.

How to kickstart a freelance software testing project

Starting a freelance software testing project is similar in many ways to any other project. It requires rigorous planning, well thought out tests, and excellent communication. As a freelancer however, you may feel more responsible in making sure that your client is happy with your work. This way, you have a better chance of getting more work from them.

Think first then ask

Before you start anything, you want to clarify with your client as much as possible. This means you can provide them the biggest return for their money.

Clarify:

  • Why did they hire you?
    What do they expect to get out of this piece of work? A report to take to customers?, confidence their application? Information about their application?
  • Your test approach
    Provide guidance here. Give a basic approach on how you intend to test the application. Then get some feedback on it.
  • Application
    Get as much information on the application they want you to test.
  • test environment
    Ask who will be responsible for the test environment (They may be expecting you to own it). If the client is to maintain the environment, what access will be provided to you?
  • the test scope
    Never assume the type of testing your client wants. Spell out what you intend to test. A spreadsheet is good for this. Briefly list the areas you think require testing and send this to your client.
  • Test Tools
    Ask your client if they use any test tools? If not suggest the ones you are most comfortable with.
  • reporting
    Give the client some idea of how and what you will be reporting. Is a weekly email sufficient or do they want daily communication. This will have an impact on the cost of the work involved.
  • schedule
    Do they have a schedule or time frame in mind when this testing has to be completed? If the time frame is fixed, this may be the deciding factor in how much testing you can do
  • budget
    Talk to the customer about money. Be upfront about payment conditions, when you expect to be paid and how.

I like to base my quote following most of this information exchange. Its an upfront cost I wear as I like to provide accurate quotes to my client that are tailored to meet their needs and provide greatest benefit to them.

Your quote can be fixed price or time and materials. Fixed price is great when the effort is quantifiable. Otherwise you can go for time and materials. This can be an hourly or daily rate. Deciding on your rate is tricky and will require you to do some investigating. If you have a friendly recruitment agent, they may be able to provide you with some pointers.

If you really have no idea how much be upfront with your client and ask them what their budget is and then work out what you can provide for that.

Once you have agreed on the scope of work, the schedule, the cost put it in writing. Include risks and assumptions such as;

Assumptions

  • You will receive the application on time
  • You will be paid thirty days after completion
  • Completion of the project is delivery of a final report
  • No retesting is involved in the cost

Risks

  • What happens if the project is abandoned, will you be paid for the work you do?
  • If the testing takes longer than you expected, how will this be managed?
  • What happens if requirements change halfway through testing?

Be prepared….

Make sure you have everything you need to test. If you are testing remotely, do you have suitable bandwidth, hardware, software to support the testing required. Do this as early as possible, as it may take time to setup the test environment.

Have a process for backing up your testing nightly. Be meticulous about this.

I think its unfair to ask a customer to pay for you to ‘learn as you go’. So, know the basics of software testing. Have templates ready for all stages of your testing, this will also help with your branding.

Now all thats required is to start your test approach.

Above all;

  • keep communicating with your client,
  • be upfront on any issues that arise
  • Be knowledgeable and provide guidance
  • Don’t forget to ask the customer their opinion.

Good luck on your project

This blog is the result of an email requesting advice on starting a freelance software test job.