Other Services

  • Technology management based on 30+ years of direct experience
  • Business planning and management
  • RFP assistance
  • IT Infrastructure planning and management
  • CMS systems: e.g. Sharepoint, Alfresco


Issues to Consider Before Pursuing an Offshoring Strategy

Canadian companies often feel besieged in a globalized economy where it seems as if we can’t compete against the onslaught of low-cost labour from abroad.   I often hear Canadian business people comment that they can pay offshore developers in China, India, Vietnam, or the Eastern Block a fraction of what they have to pay their own employees.  (“It costs me $50/hr for an employee here, but I can send the work to India for $20/hr.  I can get 2.5X the work done for the same cost if I send the work overseas.”).  Well that thinking is just plain wrong.

Before undertaking an offshoring strategy, keep in mind that there are significant qualitative factors to be considered – any one of which might nullilfy the advantage you expect after a simplistic labour-rate comparison.

  • Travel: Talk to a few managers who have outsourced development work.  They’ll tell you about their frequent trips to places like Bangalore or Shanghai.  Not only are costs for such trips real and substantial (definitely include them into your cost/benefit analysis), but travel is tiring – and it takes you away from managing the business here.  Your marriage and/or your business could suffer.
  • Management costs: Besides the travel issue just mentioned, you still have to manage the development process.  That becomes more difficult and costly when you send work overseas.  Even though you might travel to your outsourced operation periodically, you’ll need managers there to keep an eye on things from day-to-day.  Even the managers will need to be managed, and they will be paid more than the base rate that you might have used in your original back-of-the-envelope calculations.
  • Unexpected costs and situations: Regardless of the type of outsourcing arrangement you have, you may find that you need to supply equipment and software:  VOIP phones;  Software licenses for specialized software you use; VPN software; etc..  Administering this in your own office can be a headache.  Believe me, administering it overseas is more of a headache.  (And think about what happens when you visit the overseas office and discover something  surprising, like developers using pirated copies of a popular software package.)
  • Turnover: The booming economies that you outsource to also provide lots of opportunities for job-hopping.   Don’t be surprised if team-member retention is difficult in your outsource destination.  One solution is to offer better compensation … but you outsourced to avoid that game, right?
  • Intellectual property: This should be a big concern.  There are often protections, e.g. working with large, reputable outsourcing firms, but the protections are not ironclad.  You’ll need to become familiar with your company’s legal rights in the outsource destination, and will have to be willing to incur the costs to exercise them if you discover a problem.  Unfortunately, you might have little recourse if you suspect that a competitor has hired one of your outsource team members and is exploiting their knowledge of your operations and products.   (Trade secrets are hard enough to protect on our own turf!)  How about theft of designs, prototypes , source code or customer lists?  Consider how to protect these.
  • Inability to directly oversee work: Maybe I’m old-school, but I like to see my employees doing their job.  I like to know when they arrive and when they go home.  I like to talk to them about their work while they’re doing it.  I like to ask questions, or be asked questions.  I like to listen, mentor, discuss, help, critique, observe, and, well, be part of the team that I lead.  Like gravity, one’s ability to oversee work decreases as a square of the distance from the workers.  And once there is a time zone difference, it becomes almost impossible.  Skype and Webex can never make up for sitting down with someone and having a face-to-face discussion.
  • Time Zones: You’ll be out-of-phase with your offshore development team.  Plan to come in (very) early or stay (very) late in order to have real-time discussions with your team.  Alternatively, do it from home after the kids (and your spouse) go to bed.  You’ll need to do this, and your local employees who interact with the offshore team will need to do this.  It wears thin very quickly, and there is a strong incentive to minimize the length of such phone, skype and webex meetings.  You may end up having to pay your employees a premium to do this – higher salaries, bonuses or overtime.  Alternatively, the offshore team can work late or come in early in order to talk to the local office during your business hours.  They have lives too, so this isn’t necessarily a good solution to the problem.
  • Holidays and weekends: This is similar to the time zone problem.  Don’t forget that your Chinese or Indian team will be a day ahead of you.  It might make it difficult to reach them on Fridays in North America – unless you require them to work Saturdays.  Alternatively, you can get your team to talk to them on Sunday – which, like time zone problems, wears thin very quickly.  And if they hit a roadblock at the beginning of their week, your outsourced team may not be able to get a hold of you to report or resolve the problem.   Then there are holidays.  Your holidays and the other country’s holidays.   These rarely coincide, and often result in “surprise” on-the-job downtime on one side or the other.
  • Language: When you can’t meet face-to-face, written and oral communications becomes increasingly important.  It is guaranteed that language differences and difficulties will be an impediment to successful development.  There will be very real misunderstandings and misinterpretations due to language difficulties.  And toss in to the mix the fact that engineers sometimes prevaricate when they have dug themselves too deep a hole:  Nuances in language are a great way to bend or obfuscate the truth (consider BP’s recent obfuscations with their daily reports – and we supposedly share the same language!!).
  • Cultural differences: There are many cultural differences which need to be taken into consideration, but my pet peeve is this:  I want engineers who will tell me the truth, not just what I want to hear.  More often than not, you’ll have an outsource team that is eager to please.  Add to that societal differences where there is a strong respect for authority and a culture of bureaucracy – and you find that you’re working in an echo chamber.   You’ll never get any push back and you’ll only hear your own voice.
  • Morale: At best, your local employees will merely be suspicious of your intentions for offshoring.  At worst, they’ll jump ship or sabotage the endeavor.  If you do it right, they’ll accept it like any other change.  It’s not easy to do it right, however, and you are likely to run into problems due to time zone issues, compensation gripes, worries over job security, etc.. The concerns and complaints will be real, and they could adversely impact product quality and productivity of your local employees.
  • Short-sightedness: Why are you offshoring?  Is it a long term strategy that will ensure the future prosperity of your company, its products and its employees?  Or are you doing it to maximize short-run profit.  The paradox is that offshoring will only work if you do it as a long term strategy because the start-up costs of offshoring are generally large, and the payback long-term.  And if you are in it for the long-haul, consider dealing with all of the above-mentioned issues for the long-haul as well:  E.g. travel, time-zones, IP, language, culture, etc.. (I’m talking about offshoring development projects, not making dinner reservations a la “My Outsourced Life”.)
  • Ethics / exploitation: I want my employees to be productive and to have a good life.  That extends to my offshore team.  My moral duty and duty of care does not stop at my country’s borders.  Full treatment of this issue will have to wait for another blog entry.

Believe it or not, I am not philosophically opposed to offshoring.  We have a global economy and there are bound to be legitimate labour-rate differences in different countries – It is OK to take advantage of those differences.  Just look before you leap!

In my next blog I’ll talk about how Canadian companies can compete even if just labour rates are taken into consideration.  If you play your cards right, a $100,000 per year developer can be employed for close to $2,000-$42,000 per year ($1 to $20 per hour).

Get off the couch and produce the evidence for your SR&ED claim!

There’s been a lot of buzz about the CRA “raising the bar” for SR&ED claims.  (See http://www.cata.ca/Advocacy/SRED/updates/sred_update_July10.html to view the hype).   In reality, I think the CRA is just playing a card they’ve always had — i.e. to require claimants to demonstrate the validity and SRED-ability of their claims with supporting documentation and evidence.  If you have a valid claim this should be a no-brainer to collect and archive at the time you prepare your claim.  Unfortunately many companies disregard this simple step.

Evidence supporting a claim shouldn’t be difficult to collect.  The CRA provides some guidance in their “Guide to Form T661” (see appendix 2).  The claim form has a checklist addressing the following items:

  1. Project planning documents
  2. Records of resources allocated to the project, time sheets
  3. Design of experiments
  4. Design documents, computer‑aided design (CAD) and technical drawings
  5. Project records, laboratory notebooks
  6. Design, system architecture, and source code (software development)
  7. Records of trial runs
  8. Project progress reports
  9. Minutes of project meetings
  10. Test protocols, test data, test results
  11. Analysis of test results, conclusions
  12. Final project report or professional publications
  13. Photographs and videos
  14. Prototypes, samples
  15. Scrap, scrap records
  16. Contracts
  17. Others

This list seems daunting and somewhat confusing.  Just remember the following:  (1) You don’t need to check every box; and (2) Use some common sense.   This is an area where I frequently help my clients, and I think they’re frequently surprised at how straighforward this can be.  As you know if you’ve read my previous posts, I’m an advocate for keeping time records.  Well, that’s one of the key pieces of evidence you ought to be able to produce (and archive) for your project (item #2).    And if you have a software project, item #6 can always be produced.  Also, I frequently encourage my clients to archive screen shots or Camtasia videos of their system — that’s a candidate for item #13.  If you have subcontract work that you’re including in your SR&ED claim, include the contracts in your archive for the SR&ED claim (that’s item #16).

The body of evidence supporting your claim will quickly grow.  I don’t think there’s an “acid test” for the proper amount of supporting evidence, but I’ll tell you this:  If you make a reasonable attempt to locate and archive evidence for your claim, you’ll be miles ahead of a lot of companies who expect to receive SR&ED credits!

Even if you feel you’re not in a position to assemble your SR&ED claim yet, you should get in the habit of archiving project evidence.  The paperwork to make a claim is simple, but hunting down evidence at year-end (or when you finally get around to making a claim) can be daunting:

  • Time sheets
  • Requirements docs, Design docs
  • Project plans, schedules, etc..
  • Screen shots
  • source code (and checkin history)
  • Meeting minutes
  • Contracts, e.g. w/subcontractors
  • etc..

If you’re a start-up and aren’t paying market salaries (or any salaries for that matter), developing this habit  will help establish bonafides for various purposes, and records of sweat equity can be used to put the real expenditures into context when you actually make a claim.  It will help if you want to attract VC or angel investment.    In fact, any time you’re asking for other peoples’ money, this type of evidence will be useful!  This will demonstrate your discipline.  Furthermore, archival information about a project is fundamental to good project management and project estimation for future projects.

Remember — keeping records is easy compared to many of the other challenges you face as an entrepreneur.  The relatively small investment you make in this area will pay big dividends as  your company grows

Project planning documents
Records of resources allocated to the project, time sheets
Design of experiments
Design documents, computer‑aided design (CAD) and technical drawings
Project records, laboratory notebooks
Design, system architecture, and source code (software development)
Records of trial runs
Project progress reports
Minutes of project meetings
Test protocols, test data, test results
Analysis of test results, conclusions
Final project report or professional publications
Photographs and videos
Prototypes, samples
Scrap, scrap records

“There’s gold in them thar hills” — finding government incentive money.

I’m not sure who said it (maybe Humphrey Bogart in “The Treasure of Sierra Madre”), but “There’s gold in them thar hills” comes to mind when I think of government grants and incentives.

The most common government incentive programs that Canadian companies employ are NRC/IRAP (http://www.nrc-cnrc.gc.ca) and SR&ED (http://www.cra-arc.gc.ca/txcrdt/sred-rsde/menu-eng.html).  If you are a technology company and are not availing yourself of these programs, you should look into them — now.   The government is trying to promote innovation and employment via these programs, and your competition is probably already benefiting from them.

The situation with SR&ED and IRAP reminds me of university scholarships.  We tell our kids to apply because they’ll never get a scholarship unless they do.  And the application process is not that hard!  It’s exactly the same situation with these government incentive programs for business.

SR&ED and IRAP are not the only government programs available to Canadian companies.  A good place to look for government funding opportunities is “Canada Business Services for Entrepreneurs” (http://www.canadabusiness.ca).  This is a government run web site, and there is a search page for government grants, loans and financing at http://www.canadabusiness.ca/eng/search/sof/.  On that page you can search by province, industry, etc..  If you need financing, this is a good place to start.  One of my clients, for instance, was able to secure Telefilm Canada (http://www.telefilm.gc.ca) funding for their technology venture last year.

Other countries have similar sites to the search page just mentioned.  For instance, Australia has a government run “grantfinder” web site at http://www.business.gov.au/Grantfinder/Grantfinder.aspx.  I had a look at this recently.  (NB: I think the Canadian SR&ED program is better than similar programs in Australia).  In the United States, there is a federal government site at http://business.gov/finance/financing/.  Interestingly it says “The [United States] federal government does not provide grants for starting and expanding a business. Grants from the federal government are only available to non-commercial organizations…”.  There are many programs available from the states, however, so if you’re doing business in the U.S., you may want to look at http://usgovinfo.about.com/od/smallbusiness/a/stategrants.htm as a place to start.

All in all, Canada provides generous funding to businesses.  It is one of the things that can give you a competitive edge if you’re operating a Canadian technology business.

What to look for in a time keeping system

In my last post I told you why timesheets are so important to your organization.  Now let’s talk about how you might go about tracking your time!

First, a disclaimer.  Let’s call it “Dorfmann’s law”:  Everybody hates their time keeping system.

There are no exceptions to Dorfmann’s law, unless you are in the business of selling time keeping systems.  The problem with time keeping systems is that they are a necessary evil – a bit like going to the bathroom.  If you decide to take my advice and introduce a time keeping system to your organization, you will be in the unenviable position of being blamed for introducing a system or process that everyone hates.  You must find a way to live with yourself and do this anyway.  It is too important.

What does a time system do?

At a minimum, your time system record information about every block of time expended by every employee, stored as a separate record. You will want to track hours spent by person, date, project and activity.  Employees enter their time each day.

Each record should include:

  1. Amount of time spent.  I’ve found it useful to store this down to the quarter-hour.
  2. The date that the time was expended.
  3. Unique name or identifier of the person who spent the time.
  4. Unique name or identifier of the project on which the time was spent.
  5. A description or code for the type of activity involved [optional]
  6. A note describing what was done in free-format text.  Usually just a sentence in length.

The time system should also provide a way to extract and report on the time spent.

It should also be secure so that time information is not lost.  You will also want to consider information security to protect the confidentiality of the information.

My opinion is that your time keeping system should be simple.  The simpler the better.

Your time system will almost certainly have more features than these. The list of possible features is enormous.  I’m sure you have some pet features that you’ll want.  Let’s not go there today.  Just keep in mind that the more features you have, the more difficult it will be to use and to manage.

If you’re not tracking time already, a simple solution will suit you fine – and it will be easier to sell to non-believers.

What should a time system not do?

Time keeping systems should not include “stopwatch” functions.  Many such systems exist, and I don’t know anyone who uses that feature successfully.  In reality, knowledge workers don’t just sit at their desks, or at least they shouldn’t.  Interaction with other employees requires getting up and moving around.

Time systems should not measure keyboard activity, or what programs you were running and for how long. That doesn’t really provide any useful information and will simply distract your developers.

Don’t confuse project management systems with time keeping systems.  Some project management systems include a time keeping component, but you might not need or want the project management system that the time keeping system is ensconced in.

General types of time keeping systems

Spreadsheets: The easiest way to get started is to make up your own timesheets in excel.  Each employee can enter their time and simply email their timesheets to their manager.  If you are in a small organization, this is probably as effective a time keeping system as any you are likely to purchase.  If you have more than a few employees involved, however, you will probably find that spreadsheets become unwieldy.  Most of the other types of time keeping systems will have central database for storing the time records.

Programs local to your network or desktop that perform time keeping functions, i.e. “thick clients”:  Many commercial packages run as a program on your desktop and save data in a central database like SQL Server or MySQL.  An example of this is BillQuick from BQE Software, Inc..  (I thought BillQuick was a terrible system when I used it, but it falls into this category).  The problem with a “thick-client” solution is that software needs to be installed on every user’s computer.  Updates are therefore more complex, and licensing can be an issue.

Some accounting packages now offer time keeping modules.  An example is QuickBooks from Intuit.  If you are already using a vendor’s accounting package, it might make sense to use their time keeping module as well.

Browser-based solutions that are accessed with Internet Explorer, Mozilla or Safari:  More and more systems are following this architecture.  Timekeeping seems to lend themselves well to browser-based operation.  System managers appreciate a single intranet application running on a single computer.  Keeping the solution in-house also protects the security of the data.  An example of this type of system is “OrangeHRM” (see OrangeHRM.com).  OrangeHRM may be overkill because it is a full human-resources management system, but I like its time keeping functionality and reporting capabilities.  Also, the price is right – the software is free, but you can purchase support.

Hosted systems which are web based and which you pay a subscription fee to use:  Instead of using an in-house system via a web browser, many companies now host time keeping systems for you to use over the global internet.  They generally charge a monthly fee per user, and they tend to offer a significant amount of extra functionality.  An example of this is NetSuite.  Such systems tend to work well, but the subscription model can be deceivingly expensive.  Do the math before you go this route.

Homegrown systems:  Either thick-client or browser-based, many companies develop their own solution.  This is an acceptable way to go, but be careful that your in-house developers know what they are doing.  For some reason, many companies often give short shrift to the development and maintenance of such systems.  And because people always hate their time systems, people will hate the in-house system no matter how good it is.


If you’re looking where to start, I recommend OrangeHRM.  You’ll need someone to administer it (e.g. create new users, define projects and activity codes and such), but it is probably as good as or better than some of the commercial products available.

There are many solutions out there.  If you need a place to look, check out Wikipedia’s comparison of time tracking software: http://en.wikipedia.org/wiki/Comparison_of_time_tracking_software.

You have no excuse to avoid implementing a time keeping system.  Use spreadsheets if you must, but start tracking your time immediately.  I’ve given you a very high-level view of what to expect.

Timesheets are your friend

If you do nothing else for your company, make sure that you and your employees are tracking time being worked by using a time system.  Some of my clients have been reluctant to track the time that they or their employees invest in their company.  This is not surprising, especially for small or fledgling companies – but it is a costly mistake.

Many of you already use a time system.  Even if that is the case, there may be people in your organization who are hard to convince of the merits of tracking time.  In fact, some professionals (mistakenly) view detailed time tracking as being “beneath” them.  Fortunately it is a simple matter to track time, and hopefully this article will give you the ammunition to convince others in your company of its benefits.  A little attitude adjustment in this area could have a significant positive impact on your company’s bottom line.

Reasons to track your time

Payroll purposes

The first and most obvious reason to track your time is for payroll purposes.  You’ll want to know that your employees are working full weeks, and they will want to make sure they are paid for all the time they put in (including overtime).  This applies to salaried employees as well as hourly employees.  In addition, you will be able to track things like sick time and vacation time.  This all seems so obvious, but it is surprising how many organizations don’t track these things carefully and are blindsided when someone takes excessive time off, for instance, or complains about working excessive hours without compensation.  You may not have all your HR policies defined, but if you aren’t even recording time worked, you’ll never be able to apply a policy.

Tracking time is good management.

When you track time, you’ll know where time is being spent.  It sounds so simple, doesn’t it?  You’ll want to know if your employees are working on value-added activities or not.  You’ll never know if you don’t start tracking and reviewing time spent.

Project Management

Any serious attempt at project management will involve time tracking and analysis.  When you start a project, historical time records are an excellent source of information on which to base estimates.  During the project, time records are essential in determining if you are going over budget or over schedule.  And finally, when a project is complete, a post-mortem analysis of time spent can provide clues for how to approach projects in the future.


If you are providing services on a time and materials basis, you’ll need to track your time carefully in order to bill your customers.  There is simply no substitute for having detailed time records for such projects.  Good luck trying to bill a customer if you can’t even track your own time!

If you aren’t working on a time and materials basis, but bill based on deliverables, you’ll still want to know how much time you spent so that you can plan and price appropriately.  Furthermore, if you spend more time than you planned/budgeted, that information may provide leverage with the customer.  They may provide concessions on delivery dates, for instance, or might be willing to pay more next time if they realize they “got a deal”.

Other Peoples’ Money

If you are getting money from other people to help fund your company, detailed time records are a tremendous asset.  Here are some examples:


Time records can provide evidence of the “sweat equity” you and others have invested in the company.  Investors often want to see that founders/entrepreneurs have “skin in the game” before they’ll invest.  That doesn’t have to mean money.  It can be the long hours invested in the company for which little or no compensation was received.  If you can quantify that in a credible way (i.e. using time records), then you can easily demonstrate the time investment made in the company.

In addition to demonstrating your “sweat equity” investment, a small company which tracks its time carefully is demonstrating discipline.  Investors will be more likely to invest in a disciplined organization.  This is an easy win.

As shareholders, investors also want to see evidence that their money is well spent.  Companies will often have multiple rounds of financing.  The second (or third) time you go to the well for water, you’ll want to show your investors that their money is being well spent.  Time records are a great source of such information.

Government funding/subsidies:

Governments often provide subsidies and tax incentives to companies.  For instance, in Canada there is a lucrative government tax credit program called the “Scientific Research and Experimental Development” (SR&ED) tax credit.  In our province, that program can fund up to 68% of direct salary expenses.  To claim the tax credit, a company must be able to prove that it spent money on the eligible activities related to scientific research and experimental development.  They are reasonably liberal in their interpretation of the activities that are eligible, but if you can’t demonstrate the hours and dollars spent, you will not receive a cent.  My first advice to SR&ED clients is to start using a time tracking system.  It is easy to do, and can have an enormous payback.

Many government subsidy programs provide matching funds.  In such cases, you’ll need to demonstrate the exact labour hours spent in order to receive matching funds.   A time system is about the only way to do this.


At a minimum, your time system should track hours spent by project and activity.  Every time record should be dated and should include a note describing what was done.  There’s not too much detail in today’s blog because this can become a religious discussion about time system features.   You don’t need a star-wars solution.   If you’re not tracking time already, a simple solution will suit you fine – and it will be easier to sell to non-believers.


There are many reasons not to use a time system, and all of them stink:  Entrepreneurs often give short shrift to tracking their time, if they do it at all, because they don’t see it as central to their efforts.  Even managers in larger, established organizations avoid tracking their time.  Perhaps they don’t want their superiors to know how much time they put into tasks.  Engineers don’t like to track their time because it isn’t as much fun as writing software or inventing things.

We often have a double standard:  We expect our subcontractors to track their time meticulously in order to justify their billings, but we don’t do so ourselves.  This is a pretty arrogant attitude, especially if we are hoping for funding from outside sources (government, venture capitalists, angel investors, etc.).

This article has offered many reasons why time tracking will benefit your organization.  There is probably no easier way to improve your organization’s effectiveness than by tracking you and your employees’ time if you are not already doing so.  What are you waiting for?