Disaster Recovery

Should IT consultants pay for their stupid mistakes?

Chip Camden is kicking himself because a client's test files were wiped out from a shared storage space, and there was no backup. Now he's grappling with whether he should (literally) pay his client for the mistake. To let him know what you would do, take this poll.

We've all done it, but nobody likes to admit it: You delete all files, and there's no backup. Your momentary, calm puzzlement at rm's cryptic response, and the subsequent silence of ls is followed by a tsunami of horror and disbelief as you look back through your command history to find that you accidentally added a space between "*" and the file extension. For instance:

$ rm * .o

rm: cannot remove `.o': No such file or directory

$ ls

$ ls *.c

ls: *.c: No such file or directory

$ ZOMFG!!!

bash: !: event not found

This only seems to happen when you've been developing nonstop for days, and the most recent backup was last weekend. It makes a good case for keeping intermediate build files in a separate directory and adding a "clean" dependency to your build configuration rather than trusting any form of the rm command to the reliability of your typing skills.

But no matter how clever your configuration, sooner or later some important files will land in the old bit bucket and said bucket will get emptied before you can do anything about it. This happened to me just last week.

I was collaborating with a client, and we were using a shared storage space to swap files back and forth. I created several test fixtures for them right in the shared space. For some reason, I didn't make copies on my local drive as I usually do. I guess I expected the client to copy them over to their permanent storage right away.

You can probably guess what happened. The client didn't get around to copying the files because they weren't ready to run the tests yet. The shared space is intended for temporary storage only, and it gets wiped about once a week -- with no backup. Friday came and left with my tests.

I'm kicking myself (and that's not easy to do) for not keeping copies of those files. I should have been aware that the shared space was not backed up and would be erased. The lost files represent about a day's work -- though writing them the second time should go faster. I feel responsible, and I'd like to make it up to the client.

What should I do?

Should I offer to go off the time clock while I recreate the tests? In other words, should I pay for that mistake? Or I could bill those hours, but then offset it with a credit so they could see exactly what I'm giving them.

Maybe I should split it with them, since it's partly their fault. After all, they knew the files were there, and they didn't make sure to get everything they needed out of the shared space before it got wiped.

Come to think of it, maybe it isn't my fault at all. Sure, it's good practice to keep copies, but am I really required to provide backup for my client? And even if it was partly my mistake, does giving them a credit for it set a dangerous precedent? If I had to pay for every bug I've ever introduced, I'd go broke in no time. A certain number of mistakes is just a fact of life in software development.

On the other hand, they are one of my best clients, and right now they have a sour taste in their mouth. Maybe a "customer appreciation credit" without attaching it to this debacle would be the right approach.

About

Chip Camden has been programming since 1978, and he's still not done. An independent consultant since 1991, Chip specializes in software development tools, languages, and migration to new technology. Besides writing for TechRepublic's IT Consultant b...

146 comments
Hillyman
Hillyman

I would credit the client, redo the work, and own up to the issue. I would also set something in motion to prevent it from ever happening again. Be it an email alert of files to be deleted a day prior. A calendar reminder for myself to check the contents of the shared storage space. Something like that. It's a great opportunity to show your client how valuable they are to you, and let them know that despite your technical skill - you're human like everyone else. I'm sure they've had something like that happen in some way shape or form...

ronny.baeb
ronny.baeb

Deleting files is not the problem, to get deleted files back use "Get Data back for NTFS", that little program can correct your misstake, so what is the question again?

Sterling chip Camden
Sterling chip Camden

This shared drive experiences very high volumes of I/O. The files could not be recovered.

mothershelper
mothershelper

Oh man what a nightmare Chip. Hate to say it but I'd give them the credit and hurry up to put some kind of data back into action. I don't know why they'd bat a lash when they didn't take the time or bother to 'get around' to trying out the software. I understand the POV of it's their fault too. But the fact of the matter is that unless they have an IT on the payroll; odds are a client doesn't have 'backup' on their list of 'do today'. Usually it takes a really big disaster and data loss to make IT or a company's tech any kind of priority.

Sterling chip Camden
Sterling chip Camden

This folder just wasn't on their backup list -- on purpose. I knew that, but I just sort of forgot about it. So, I am going to restore the tests at no cost to them. Thanks, mothershelper.

a.avallone
a.avallone

Can a consultant obtain liability insurance? If so, would it take care of incidents like this?

Sterling chip Camden
Sterling chip Camden

Yes, you can purchase insurance for "Errors and Omissions." I'm pretty certain that a case like this would be covered, even though it's a pretty small claim. But you have to weigh the costs of the insurance versus your potential liability.

apotheon
apotheon

You also have to weight it against your relationship with the client. Insurance, as a solution to a problem like this, might not give your client the warm-fuzzies.

Sterling chip Camden
Sterling chip Camden

Most clients like to have a trust relationship with their consultant -- and at least in my experience they like to work things out to mutual advantage, if they can see a way to it.

David.hart
David.hart

Bill but credit, should it happen again(and it should not) you should have made back up this time giving you leverage to discuss billing options with your client.

Sterling chip Camden
Sterling chip Camden

But as you said, helping them to avoid a next time altogether would be best.

neil licht
neil licht

First. define "stupid". I define it this way: whether asked or not, not backing up your work automatically for your own present and future client support is "stupid". No charge - definately. Remember, you are paid to deliver and deliver always contends that the client is not aware of doing their own saving or maintaining. Its common sense.

Sterling chip Camden
Sterling chip Camden

Yes, I'd definitely classify my bungle as "stupid" and well beneath what my client normally expects. Thanks, ndlicht.

johnkinfw
johnkinfw

In the nature of consultancy, we are supposed to be the seasoned, complete professionals. We obtain consulting fees because we are "a cut above". We cannot use a client's failure to follow good practices to offset our liability for our mistakes. This is not the same as putting bugs in code, that is a fact of software development life. But choosing to fail to follow good practices is always culpable negligence, and the client should not have to pay for it.

Sterling chip Camden
Sterling chip Camden

Most bugs in code also stem from a momentary failure to follow good practices. E.g., I should have known better than to dereference that pointer without checking it; I should have constructed tests with better coverage analysis; etc. But there is a threshold beneath which mistakes are shrugged off as being merely human.

nkalpana
nkalpana

*** Note: I havent read the other comments till now **** Hi, I think you should go with option 1. As a consultant you should be more flexible than the customer. You should have known they dont check before deleting files. So let them know your mistake, and why you are doing an overtime and request to be excused this time. Next time be more careful. Regards NK

Sterling chip Camden
Sterling chip Camden

Maybe I'm not understanding your recommendation, but if I'm crediting them the hours, then what would I be excused for? If you mean saying I'm sorry -- well, yes, I've already done that.

killian.amiel
killian.amiel

... since it's _the_ most effective learning tool. I realise you could argue the finer points of what was understood and by whom but the first line of the scenario pretty much points to the root of the issue: "I created several test fixtures for them right in the shared space." And the harsh reality of the quality of that decision has now arrived. I'd bite the bullet. While it's tempting to negotiate with the client to try and soften the blow, that can put you in a difficult situation when they ask to help out with one of their (much larger) screw ups down the line.

Sterling chip Camden
Sterling chip Camden

They say you always learn more when you're paying your own way. Yes, I think for the benefit of the relationship, I'm going to give them a credit.

Nico Zwaneveld
Nico Zwaneveld

It is all about assessment of risk and implementing sufficient mitigation. As an IT consultant, the client would expect you to point out risks that are present and suggest proper mitigation. Mitigation always comes at a cost, and the key question is what mitigation have you agreed on with the client and what risk he is willing to accept. The client is responsible for the consequences of his decision regarding risks and mitigations if any. If I am working on time & material basis, then I always check on my responsibilities. Backups (just like intellectual property) are a topic that should always be covered when taking on a project. A weekly backup frequency on development projects is too low. On serious development activities, I would be looking at backups 1-2 times a day. There are plenty of tools that facilitate easy backup to USB sticks and other media, such as SyncEXP. Time is usually not a reason not to backup, since you will only be copying the changed components (source files). Some can even encrypt data on the fly. I personally use two USB sticks for backups (one for the end of morning backup, the other for the end of day backup). The backup of project source files (only the changed files) usually takes no more than 3 minutes. Proposed solution: If there are no agreements regarding backups and you are working on T&M basis, then go to the client and be open about what happened. Suggest splitting the cost, since there are no agreements. Going forward make a clear agreement on how the risk of losing data can be mitigated and go forward from there. If the client agrees that frequent backups are not needed and that you should rely on his backup facility, then the client is totally responsible for any data that is lost (regardless of who make the mistake). I wish you good luck and much wisdom?

Sterling chip Camden
Sterling chip Camden

... is how many different ways of looking at the consultant/client relationship have been examined in the comments. Besides the immediate issue, which I could have decided on my own without letting everyone know what a knucklehead I was, I've learned a lot from everyone on a lot of fronts. Thanks!

alan_r.geo
alan_r.geo

Personally, I don't think you are at fault at all. Your client requested something of you and you delivered the product to the appropriate place. You fulfilled the requirements. Is it a good idea to make your own backups? Sure. Would it have been great if you could have been the hero and restored the erased files from your backup? Absolutely. Are you at fault because your client failed to save the files you provided to a safe location before the directory was wiped? Absolutely not! If the client knew the files had been delivered and knew the location was not backed up and scheduled to be wiped, it was the client's responsibility to copy the files elsewhere. You had done your part. Now, that being said, if you want to give them some financial credit to take the sting out of their loss, that's fine and you can chalk it up to maintaining good customer relations. But given the facts you presented in the original article (and I don't have time to read all the other comments to search for more info), I don't feel like you are at fault.

Sterling chip Camden
Sterling chip Camden

... including giving them a credit "to take the sting out of their loss".

ben_rehberg
ben_rehberg

I believe the responsibility level depends on what you do for that company. If you're the only consultant for everything technical, it's your fault there wasn't a backup. If you have a different role, but the test files were on a server you own or maintain, it's your fault. However, if they have an IT staff and you're just there for development, it would be their responsibility to back up those files. I'm writing this though I haven't read all the comments.

Sterling chip Camden
Sterling chip Camden

I am not their "IT" person, I'm there for development only. It was their storage. But they had a stated policy that that particular folder would not be backed up and would be wiped periodically. I knew that, but sort of forgot. So, my negligence was ensnared by their risky policy.

jf555
jf555

Definitely NOT!, Since all IT work is "BEST EFFORT" because none of the hardware manufacturers or software publishers guarantee that their products will do anything at all, the IT guys simply have no recourse but be like medical personnel, if it works fine then it is great, if not the operation was a success but the patient passed away.

Falconeer
Falconeer

There should have been a credo saying (in all professions) that we are striving for 'Best Effort' And now we can suddenly admit 'Best Effort' and not perfect. Well, Doctors, Lawyers and others say, "Practice' our professions. I don't completely agree. Engineering (in this field is a known science. Programming - established, is the only subject to what we know. We are bound to the '1's and '0's. If we are very good we should know the outcome of our prognosis. i.e. don't cut there, and use a methodology that will eliminate mistakes. That methodology is TEST,TEST,TEST. And as aforesaid learn the mistake of ASSume. And as we all know... Something WILL go awry. But it's great to know that success that comes with a great program that works AS intended. As I write a lot of programs for medical applications the end result is not to kill the patient, but to help cure and inform the 'practicing' someone to make an intelligent decision and follow through. Boy! could I tell a few, :) We, as much as the scribes of old we are now the keepers of knowledge. We must be clean of thought, good in character, tough in decision. And love the value we can bring to mankind. I,after some 35 years have never swayed from quality, honesty to the customer, and have never 'practiced' programs for end result. Ergo, the programs work within the parameters given. Remember (SOW) Statement of Work. Happy 1's and 0's

Sterling chip Camden
Sterling chip Camden

... is research-based. That is, we don't know the outcome ahead of time. Instead, we're discovering what we will be able to do. That also means that when you get to a stopping point, you often need to go back and revise. Sometimes not all of those places get caught. The simpler your requirements, the better tests you can construct, and the better quality you will achieve. The more unknowns, the harder it becomes to insure quality. But someone has to break new ground.

1bn0
1bn0

So its the consultants problem when he screws up!

HAL 9000
HAL 9000

That;'s why they hire consultants So it's the consultants problem when the Business screws up? Col

Sterling chip Camden
Sterling chip Camden

... it's a problem both of us have to deal with in some way or other when either/both of us screw up. The question is how best to solve it.

kelly.jacobson
kelly.jacobson

Mistakes happen, and in this society, folks expect payment/compensation. Absorb the cost - as professionals, we know better than to trust our customers to do the right thing. Backup is a no braniner - I'm guessing you won't forget this step in the future. And if it means billing them extra time, let them know it's to their benefit, and even give this example if needed.

Sterling chip Camden
Sterling chip Camden

I don't think any client could reasonable expect a consultant to put in free time to fix any bugs that might be found in software they developed -- so not all mistakes require compensation. The question is where to draw the line, and how to make that palatable to the client. You're right, I'll have backup on the brain for years.

badenovs
badenovs

I NEVER delete anything... I keep hard copies of everything for at least a few years. HDD space is cheap, DVD media is cheap, CD media is cheap, flash media is cheap. LABOR is $$.

Sterling chip Camden
Sterling chip Camden

Me too -- I've got some files that haven't been touched for 17 years, but I keep them around "just in case". I'm not exactly sure how I missed keeping copies of these files -- I think I was just in too much of a hurry. But it will be a lesson to me.

narayanpatro
narayanpatro

U Shouldn't pay for the mistake since its from both the sides. It makes sense if the mistake is completely on your side. However in this scenario it is not. If you do pay for part of your mistake, Client might get into a habit of expecting an apology or a cost from you everytime something goes wrong. I would suggest rather complete the job and pass it on to the customer without paying anything. You too are working hard get things done and should be appreciated by client for the same.

Sterling chip Camden
Sterling chip Camden

You have a point. Mistakes are part of the business -- but in this case it should have been easy for me to avoid it, so I'm leaning towards giving them some free hours.

rowvin
rowvin

Its not exactly not your fault, both parties are at fault. Them for not downloading and testing as scheduled( they were aware that the store was temporary??) and yourself for not MAKING THE BACKUP ( i agree though, we cannot be expected to be an automated backup machine) In your shoes, i would have spent sleepless nights to recover all what's lost... and inventing some excuse like my disk crashed and i couldn't recover the files, if the clients chased me.

Sterling chip Camden
Sterling chip Camden

I agree with that. But being the consultant, I feel the burden for watching out for this kind of problem.

HAL 9000
HAL 9000

Even though I would personally feel this way when things like this happen to me. But the question here is who owned the Code. If this place was paying you to create something especially for them then you would have been in the wrong keeping a copy as it's not your code. Really depends on who owns the code here as to what happens. Or who is perceived to own the code actually. There really are two issues here and it depends on you personally on how you proceed. There is the strictly Legal Case of Ownership involved here where if the client owns the code you making a copy on a non client computer is stealing from them and how you personally feel about the situation. Yes I would personally feel bad about something like this happening and I always try to make Backup's of everything but I have had occasions when the client wanted to own and keep control of any Code I wrote for them and when they deleted it depending on how good a client they are was the only criteria that I had to see if I redid it free or for a fee. Of course if they got nasty about things I just dig in my heals and submit a bill for the hours. If it's a honest mistake I try to look after my clients and either redo the work free or at a reduced rate. It really depends on the individual situation and the parties involved. Just my 2 cents worth. ;) The ones that I really just have to love is when the client helps you out and does things for you like Backup their Data and insist that you are free to blow away something then when it comes time to restore the data it's just not there. Or one Doctor a few years ago requited a new version of SBS 2003 installed to take advantage of their main medical applications enhancements. After insisting that they where not deviations from a out of the box install of the existing OS I found Static IP Address which was no big deal but their constant help required me to rebuild the Server 5 times in a 3 day period so everything I had done so far got blown away. Not sure that it's even relevant as I got Blackmailed into that job and considered it as a Freebie or at least a low paying job that I would loose money on. But I just didn't need the aggravation of all the help that drove me nuts. In the end I wouldn't leave the server unattended so I would know what had happened. It was maddening walking away and coming back to find it completely different with things deleted that where only necessary to maintain Patient Records from getting loose. Yes it still worked properly but was impossible to lock down properly. Col

TecDoc
TecDoc

I would disagree on the ownership issue, as put, being relevant to the matter as to who made the mistake and therefore should pay for it. Consider this analogy. The dishwasher is broken and You call in the serviceman. He disassembles the device and finds out he cannot repair a piece but has to take it to his shop for repair before he can reassamble the dishwasher again. Is he stealing Your property by doing so? Of course not: by calling him for repairs You inplicitly gave him permission to do whatever he, as an expert, thinks neccessary to repair the device ? he would be stealing only if he were to fail in returning the piece and finishing the job. The code may be owned by the company You are consultant to, but as long as the work is in progress the consultant may do with the files whatever he feels he should and teke proper care for it including protecting it against the meddling of nonexperts. Who is to blame if the serviceman left some nuts&bolts at the table pending his return and the cleaning lady throw them away? Shure, the silly wench should have asked before disposing them in the waist, but the serviceman should have taken action in preventing laypeople?s stupidity. In my oppinion the blame in this case is shared with a majority on the consultants side and he should not bill for the reconstruction time, but the company should also keep quiet about the time lost in seeing the job done since part of the blame is on their shoulders.

HAL 9000
HAL 9000

and just how paranoid they are doesn't it? Take your Dishwasher Service Man analogy again and this time the Owner rings the service man describes the problem and are told that such & such has broken this is a common problem with this model Dish Washer and the part that is required isn't currently available as the Back orders have yet to be supplied. Now 99 out of 100 people in this position will accept this and say call around and fix it when you get the part in. The other 1 out of a 100 will demand that something be done [b]NOW[/b] even if it can not be finished as it may not be that problem. Then when the unit is stripped down they take the bits pulled out and say I'll put them here and you come back when you have the necessary part. Now when those parts go missing do you still insist that it is the Service Persons fault that the owner is a Idiot? You can only go so far in protecting people from their own stupidity and those that Know it all are the worst offenders in this. Lets look at Car Mechanics they all have a sign in the place saying Labor XXX $ per hour and XXX + $45 if you help. Perhaps if we where to charge extra when the Client Helps us do whatever it is then when they loose things it would be easier to grin and bear it. But why should you have to if they force the situation onto you? If every person in a service industry had to work like this and carry the can for everything that could ever go wrong you would never have anyone to repair or fit anything ever again. Perhaps you like the short term benefit but fail to realize that the Long Term Result will be a complete lack of anyone to do any service work and a much more expensive service call now before they all shut up shop. I've also worked at places where I have had to use their equipment and had to leave everything there as I may take something from them so I can't use my own NB to write things, I can not remove any recordable media from the place as I might have their information on it, I cannot work from home to do their work as I may tell someone else what I am doing for them and so on so would you really believe that you are responsible in a case like that when you return the next mourning and find that the place has been robbed and all the computer gear was stolen? Under the reasoning that you expressed you would have been responsible for not making a Backup and removing it off site. And if you did you would immediately loose the job and they are likely to call in the police and make an allegation of you stealing from them because you walked out with your Thumb Drive that could hold their data on it. Obviously you've never had to work under these conditions so you are not qualified to comment on who is responsible. If the client sets the rules then they have to live with the consequence's of them. Surely that is simple common sense. And I'm in no way implying that the Customer in this case was unreasonable they just may have had a Urgent Thing that required doing so the normal rules where left by the wayside or their own security model may not have been open for this to happen under whatever the reason it is. Things like this happen unfortunately and in every case where it's happened to me it has always been because I broke my own rules and made shortcuts to benefit the customer and save them money. When something goes wrong under those conditions normal rules just don't apply. If for instance I bashed out some code in 10 minutes that should have taken a day to write properly to test something and placed a warning that this should work and solve the current situation but I need to look over the entire thing before using it company wide, and they used it company wide and trashed something I wouldn't feel responsible for what they did in the slightest. But if I wrote something correctly and then broke something because I overlooked something that is a different story. Col

Sterling chip Camden
Sterling chip Camden

In this case, the client owns the code, but they don't mind me having copies -- in fact, they encourage it. They are a very good client and have been easy to work with over the years (I wouldn't be posting about this on a public forum if they weren't -- I fully expect them to read this thread with interest), so I'm thinking that I will give them some free hours to recreate the tests as a good-will gesture and a "I coulda had a V-8" mea culpa. If they were the nasty kind this could be a good excuse to lose them. But they're not.

HAL 9000
HAL 9000

They really have no idea of what happens in the Big Bad World outside of their own doors. In a case like this there is no right or wrong just degrees of mistakes being made. Some are easier to live with than others and some just shouldn't happen but due to time constraints they do and they happen far too frequently when you cut corners to do the [b]Right[/b] thing by the customer. All you can do when this happens is live with it and go on hoping that the next disaster is a long way off. :D Kind of reminds me of a customer who sells Heavy Earth Moving Equipment they sold a new 40 Ton Excavator that broke 3 weeks after being sold and the 50 cent part couldn't be replaced due to economic conditions at the time. No ones fault but it happens. The solution there was to trade in the existing New Machine and sell another new one which was far less in value than the money being lost every week by the guy who had purchased the thing in the first place. While it shouldn't happen it does and we need to find a solution to the immediate problem that works for all concerned [b]As Soon As Possible.[/b] Col

HAL 9000
HAL 9000

But I don't like things like that happening on My Watch. Besides as they are still a customer I must be doing something right at least. I also reloaded a new NB that I supplied this place about 8 months ago for free as I wasn't comfortable with charging them for the work even though the person in question Ghosted a Blank Drive to the NB instead of the NB's Drive to the External Drive. I know it wasn't my fault but I just didn't feel right in charging for the job. Besides as they are a great customer even if the owner does like I Pods so a few freebies occasionally don't hurt. Col

Sterling chip Camden
Sterling chip Camden

... in giving the drive to the owner. He was the one who dropped it. In my case, I knew (but didn't really consider) that the location where I was placing the files was volatile, and I failed to make a backup. I'm thinking that I should credit the hours to restore, but in your case I would have billed for the time.

HAL 9000
HAL 9000

That when I break my own rules and help out someone it always comes back to haunt me. So now I do try not to take shortcuts ever but it don't happen at all. I tend to try to Help my customers out so if there is something that needs a Urgent thing done it gets done but now I warn them of possible consequences and just live with things. Granted things don't go wrong too often but I've got far more paranoid than my customers now so I take steps even though things are rushed. But a couple of years ago now a company who sells Heavy Earthmoving equipment and insists on working with NB's only, had me there doing some work and I backed up the owners NB to an external drive. I can't remember any longer what I was there for but it was minor and nothing important. I gave him the External HDD and said take it off site tonight as this is your current Backup. What he did was throw it into his car and place the NB on the back seat then drove home. Unfortunately he stopped on the way home and did something and when he returned to his car the NB was missing. He didn't worry and went home where he dragged the external 2.5 inch drive out of the car when he picked out his Suit coat and it fell down into the basement from the wire-grill car park floor. Only fell about 15 feet or so but it killed the drive outright. The next day I was handed the now dead drive and asked to copy the data and so on to another NB in the office. Well on the face of things it shouldn't have been a problem till I found a totally dead drive and then I was a bit worried. I knew that I could recover from the next backup but I had found out that this hadn't been done for 2 weeks so that's probably why I backed up things before starting, and when I told them that they would have to reenter some data I was told that they where being audited within a few days and I had to get the data off that drive. On Track recovered it in about 36 hours or there abouts and I did feel bad about the entire thing and didn't charge them for my time in running around fixing up the mess that had been made for me. But when it was all said and done there was nothing I could have done to prevent this happening and maybe if I had not handed the external drive to the owner it may not have happened but then again the place could have burnt down overnight. They don't generally lose NB's either but when something bad happens it all tends to hit you at once and there is very little you can do to prevent it occurring. All you can do is make the best of a Bad situation and hope for the best. Col

Sterling chip Camden
Sterling chip Camden

Yes, sometimes expediency trumps prudence. But hopefully we can always learn from these experiences and try to build in procedures to avoid them in future.

YourAverageManager
YourAverageManager

Why? Because you and your client did not establish a procedure where you can prove and they can verify delivery of the file. Perhaps, what I am suggesting is that you also help them fix that problem, but bill them for that work effort in fixing the transfer problem because the procedure can be used for all external deliveries by any contractor (as a project goal). You did not indicate the file transfer method. After thinking about it for a few moments longer, the problem with file corruption exists with any method, so backups are still required on your side. As a consultant, I received a phone call from an ex employer (was their past IT Manager) where the present management lost the source code for a business vital system (ouch). I called the developer/contractor and he sent his backup files. No charge, saying it was not worth the effort to bill them.

Sterling chip Camden
Sterling chip Camden

Yes, the file exchange procedure was rather hurriedly established, and definitely could be improved. With 20/20 hindsight, I should have thought of that at the beginning of the project -- I was focusing on my specific piece rather than looking at the whole process.

Editor's Picks