Your projects can evolve

Some time ago I’ve created a tool which was testing our Translation Memories (TMs). It was useful, because they’ve become corrupted quite often and sooner we knew about it the better. So I’ve set it to run every day. These days problems with TMs are sporadical, but I’m still running it just in case. Process is automated and all it requires from me is to read short report each day, so no biggie.

For the ones interested, tool does following:

  1. Grabs list of project templates from the memoQ server.
  2. For each template it:
    1. Creates project.
    2. Uploads test file.
    3. Runs statistics (word count). If something is wrong with TM it’ll show while running statistics.
  3. Creates web page with a report.

Recently check started to fail. It’s not failed for quite a while, so I was concerned. Especially that this time it looked like our TMs were fine. It was failing, but I didn’t know why. So I’ve started debugging it. Soon I’ve learnt that it’s failing to create a project using one of the available templates. As I wasn’t getting any information why project creation failed I’ve created one manually via memoQ client using affected template. It turned out that one of the filters (used to parse translated files) referenced by this template doesn’t exist anymore.

I’ve learnt two things from this. First that I should create my tools, so they would be better at error handling and reporting. So for instance I would receive message as to why project creation failed in my tool rather than having to reproduce it outside of it. And even if there would be failure for one template rest still will be checked and report will be generated. Second that it’s always good idea to monitor your system even if it’s healthy for a longer period. If I wouldn’t have been monitoring it we would’ve learnt about this problem on some production project and it could cause loss of time and money.

Even quite basic project for checking single thing can evolve into something more versatile. I’m now able to tell when something is wrong with our project templates which are crucial part of our production efforts. And who knows what this tool will be checking next. Don’t let your projects die just because direct need is gone. Observe, learn and try to improve them. And always monitor your servers.