Sometimes, as a contractor, you’re hired for a fixed period of time to perform tasks that may not be completely specified. This is often the case in postimplementation support. The company knows there may be teething problems and hires you for your expertise in dealing with such systems, but it doesn’t necessarily know where these problems will occur, how often they will happen, or how major the problems will be.
In an ideal world, your talents would be called on regularly and evenly over the contract period. Usually, the pace varies from frenetic to pedestrian without notice. Although the company hiring you perceives your value during the busy times, this isn’t always the case in the slower periods.
The last thing you want is a client who thinks they’re wasting their money by having idle contractors. Efficient contractors, if they’re not careful, can cheat themselves of future work by appearing to be doing nothing towards the end of a job.
I have an example of how I avoided giving this appearance on one engagement, and some suggestions on how you can fill in the dead time, adding value to your services and ensuring that the client sees that, even when they have nothing for you, there’s plenty to be done in maintaining efficient IT systems.
The contract: A university student management system
A local university had implemented a student management system about a year before I began an engagement with them. Although they had an internal systems team, the administration recognized that the reporting side of the system needed work that the internal team couldn’t provide.
I was contracted for two months to create a number of reports, using Crystal Reports, that were required by both the administrative and academic staffs, and to provide support to the system. The contract was full time and, although the reports required were specified, the engagement also entailed loosely defined general support duties.
The first four weeks: Business as usual
The first four weeks of the contract were hectic. Although a number of autogenerating reports came standard with the system and a number of simple reports had been created internally, these didn’t always generate the exact information required by either the administrative staff or the academics. I created new reports—as specified in the contract—and gave assistance when required, but after one month, things generally calmed down. I still had one month in my contract at that point.
I could see potential for future work as more of the university's processes became automated with the new system. Obviously, I didn’t want to end the contract known as the “contractor who sat around for a month doing nothing” because this would quash any future work.
I decided that if the administrative staff couldn’t give me work, it was up to me to give myself tasks from which they would benefit.
Documentation, documentation, documentation
Although it’s rare for any IT worker to enjoy documenting systems and procedures, documentation can benefit any organization. I created two broad sets of documentation.
The first was for the process of report creation. With few in-house Crystal Report skills, there was a need for a documented process. This would ensure that any reports created internally in the future would at least be consistent with my own and therefore easier to debug when something serious went wrong. I created a workflow document to be followed step by step and a set of forms to allow for consistent documentation of each report.
The second set of documents I created were training guidelines for the internal staff. I included tips on improving the running time of the reports and a document listing the 30 main tables used for reporting—out of the more than 500 in the database—giving a brief description of how they were joined and which fields in each table were most used.
While many in-house and contract workers fear that creating documentation will make them dispensable, this is only the case in simple tasks. For complex procedures, there will always be the need for a trained professional.
Moreover, if you create documentation for a client, they will be reminded of you and your knowledge every time they refer to the document, especially if you reserve a page for versioning and authoring.
It could be argued that I was depriving myself of future work in basic report creation. If the client saw that there was going to be a lot of simple work in the future, they might take it internally. But the documentation established me as an expert, and if they did choose to take significant work internally, they would need to contract a trainer, for which I had set the groundwork.
Like documentation, system maintenance isn’t glamorous and is often put off until it’s absolutely necessary. Maintenance includes a wide range of tasks, from regular backups of servers to defragging hard drives.
In the case of the university, and for any business that relies on a database of information to run effectively, data cleansing is a necessary and often overlooked task. In this case, I had attended a meeting in which one of the managers had complained that they were wasting time and money on bad addresses on mailouts. The majority of the bad addresses were international students whose details had been entered incorrectly so that, for example, the country was in the City field and the country was set to the default value.
Obviously, they wanted to get the information to the international students but had to identify which addresses were incorrect. With time on hand, I created a report that used a standard list of the country’s cities and showed whether a student’s city didn’t match one in the list. This quickly showed which addresses were potentially wrong, so they could be fixed quickly.
Reviewing current business processes
By listening to the staff, you can find out where their problems are and put yourself to use. In the case of the university, a number of the “standard” reports didn’t quite have enough information. Quite often, the staff would say things like, “If only the report had the student’s address on it like in the old system. Now I have to run the report, then look up the address in the database.”
By adding the address to the report, you help out those using the system daily to save time by cutting a step out of the process and help management to gain acceptance of the “new” system.
In another example, the university wanted to print the student’s photographs onto a report. The report would be used to ensure that the student in the examination room was the student who had been in the lectures. I developed a process for importing the images taken for the student cards, in bulk, into the database for use in a report, which I also created.
Reviewing management practices
Separate from the day-to-day operation of the business are the processes of managing the business. The management processes can also always be streamlined and improved.
The university’s system was about to receive a patch, altering the database schema and fixing a number of bugs that had been identified since the initial implementation. For the standard reports, the effect had been determined and accounted for in the patch but for the simple reports created internally, the effect was unknown.
Moreover, as there had been a consistent documentation process established only with my arrival, there was no simple way to determine which reports used which tables and fields, essential information in determining which reports would be affected.
After reviewing a number of report management systems, I recommended a software package that would allow the IT staff to quickly document and review their current family of reports and determine which required attention before the patch could be applied. Although the process of purchasing and installing the software would take a number of weeks, the application of the patch wasn’t urgent, so this was fine.
The bottom line
Everyone wants to minimize the work they do, but when you’re being paid by the hour, usually at a rate higher than internal staff, you don’t want to anger the internal staff and embarrass management by relaxing on the job. By spending your time improving the workings of the business or by doing those jobs that never seem to get done, you demonstrate your full range of skills and give value for your cost.
By finding more work, you will have demonstrated your commitment to the client’s needs and given a more accurate picture of your abilities rather than being perceived as a one-time contractor. In times when work is scarce, every incentive you can give to a client to contract with you in the future means that when you do want to take a break from work, you’ll be able to afford it.