[dba-SQLServer] Syncing Virtual Machines

Arthur Fuller fuller.artful at gmail.com
Thu Oct 27 10:45:15 CDT 2011


IME, the weakest link in the chain is its breaking point. One cannot be
skilled at everything. One among many skills I lack is practical
applications of the advanced accounting rules. Hence, that's the first of my
(lack of) skills to replace with a professional. Yes, it costs, but yes, it
saves the hassle and also the loot.

My accountant showed me how to factor overhead (e.g. backup time, etc.) into
each client's billing. To oversimplify, there are two additional billable
items: Maintenance and Research. Consider (to quote my accountant) the
alternatives: imagine if you were an in-house employee; these costs would be
part of the big picture. There is no reason for you to absorb all these
costs as "unbillable hours". You have a few choices how to deal with this
issue, but every client will immediately understand the issue once it is
spelled out. To take a few examples:

a) time spent backing up the Dev|Test|Production versions of any given
project;
b) hardware and software expenses incurred to support any given and all
clients;
c) version-control management, with ability to rollback etc.

These issues can be handled in two ways:

a) do it all at once and divide the time among the clients; or
b) do it client-by-client and add "Maintenance" as a line item on the
invoice.

In the first case, divide the time by the number of active clients and add a
monthly line item. In the second case, take the extra time to do it
client-by-client and add a monthly line item to each client.

The clients' accounting people are well aware of the costs relative to the
costs of doing it internally. What is not bill-able is the costs of running
your office (electrical, rent, cubicle-space, etc. if it were done
internally). OTOH, if I have to upgrade my hardware in order to match the
client's, that IMO is billable. Had I been an employee rather than a
contractor, then obviously the costs would have directly been directed to
said client. If you have an argument with this, consider a client that has
200 workstations and a dozen servers and expects safe-rollover etc. How can
a small developer emulate this situation? Probably not without a few
servers, a significant investment in hardware and software (esp.
virtualization).

Recalling a previous project, which involved a db of about 100GB, spread
(mainly for security and legal reasons) across 8 servers. How am I as a
small developer supposed to emulate that, on my billable hours? This is what
they used to call "reductio ad absurdum", back in the days of Latin. Given
my current at-home hardware+software, it is flatly impossible; therefore to
be able to emulate this environment, I must invest $$$, and I do not believe
that these costs should come out of my billable hours. That IMO is just
plain silly. The client has two choices: either buy the equivalent HW and
lend it to me for the duration of the project, or accept a significant
fraction of the price of my own acquisition of enough HW/SW to emulate the
client's situation.

Add to this the costs of backing everything up on a timely fashion, plus the
cost of the backup-storage media, plus the costs of the restore-software
(i.e. something like DriveImage) and so on.

Yes, the HW and SW on my machine(s) are my responsibility, but without the
client's presence and HW/SW demands upon my installation, I could
potentially be happy with an XBox, and that simple fact needs to be
recognized in the billing procedure. Exactly the best way to acknowledge
this is a matter of opinion, not to mention negotiation, but surely everyone
on both sides of the table must recognize the realities of backup/ensure
restore-ability, ensure that said backups are taken off-site daily (in case
the house burns down), the additional fraction of the hydro costs, etc.

Of course, this discussion will first of all occur with the client's project
manager, who is under her own cost constraints, but if everything is
sufficiently detailed (i.e. line items for time spent researching
alternative approaches to a solution, backing up the current version,
installation, version control, etc.), then it will all be justified all the
way up the accounting chain, and the accounting people will realize that you
still haven't billed for office space, hydro costs, etc.

That's how my accountant explained it to me, and it worked. She repaid her
costs about three times over, and significantly altered the ratio of
hours-billed vs. hours-unbilled.

Arthur



More information about the dba-SQLServer mailing list