Please excuse this very off-topic post but I know that several people on this
list do regular Perl contract work and I could use some advise from a few of
them at the moment.

I've bcc'd the list so hopefully that will prevent any replies from going back
to the list, but just to be sure, if you do reply, please be sure to send it
only to me. If you'd like the answers to my question just drop me a message and
I'll send you a summary.

Now, on to the meat and potatoes.

I've been working on a project for a client for the past 7.5 months. The
project entails building a web site that is similar to TurboTax online except
this site deals with estate planning (Wills, Trusts, Power of Attorney docs,
etc.). You could also think of it as a web-based version of Quicken Family
Lawyer. (The client is not Intuit, though, unfortunately.)

I was told that I needed to build a system where users would register for the
site and enter some basic biographical and familial information. They then
would have access to a suite of wizards that would ask them questions whose
answers would provide the data for specific estate planning forms. After
completing the wizard, the user would be shown a completed document in PDF
format that could be printed or saved. The user could later go back and edit
the information they entered and change the document as needed.

I was given 20 or so Word documents that were templates for all the estate
planning documents. To me the project was quite easy. Turn the word documents
into some sort of intermediate format (HTML) with blanks for the data (I used
abiword), fill in the blanks when the document was requested and then use a
html2pdf program to create the resulting pdf file. Of course, there was also
some database work for registering users, displaying the wizards, storing
answers, etc.

We bid the project as 160 hours (80 for programming, 80 for site design
(including a flash animation)) at $125/hour for a total of $20K.

I quickly finished the the word->html->pdf portion of the contract. When I
showed the client how things worked I was told that that was not how things
needed to work. The client told me that the structure and the content of each
document would change depending on the users answers. For example, if the user
only had 3 children, a table listing child information would only contain three
rows instead of the 5 rows that the blank template had. Or, whole sections of
the document might be removed based on a users answer.

Now this was a whole other beast than what I had originally bid on but my
company needed the money and there wasn't any other contracts for me to work on
so we agreed to do the project as she was now describing it without changing
the contract or charging her any additional amount.

So, over the next few months, I began converting the word documents into XML
documents with my own tags, wrote an XML processing engine that converted the
XML documents into PDFs (using PDFLib), including the handling of conditional
and looping tags and created a library for writing HTML wizards.

Over the last 7 months the client has constantly complained about the project
not being done in the two months she was promised (though she's not being
billed for the additional 5 months I've been working on it). Now, she's telling
me that the project manager who she first spoke to about this project (who is
no longer working here) told her the project would include credit card
validation and processing for registering members and a la carte purchasing of
individual documents.

She owes $4600 on completion of the project and I plan on completing what I
consider the remainder of the project (none of the e-commerce stuff) and asking
for her final payment.

Now, here's the kicker. The contract that the project manager wrote for this
job is about as vague as you can get. It basically says we're going to build
her a web site and she's going to pay us $20K. So, if either one of us decides
to take the other to court, I don't think anybody would have a leg to stand on
based on the contract.

So, what I'm looking for from anybody who does Perl contract work (or any web
contract work for that matter) is a quick dirty bid for what you would have
charged to do this project.

In summary, here's what you're bidding on:

A database back-ended registration system.
Conversion of Word docs to some some of templating system with formatting
identifiers, looping constructs, conditional constructs (based on user supplied
data).
Web-based wizards for data acquisition and storage in a database.
An engine to parse the templates, fill in the blanks with the user-supplied
data and render the templates as PDF files.

Thanks for any and all help you can provide,

Jason Bodnar


-- 
Jason Bodnar
[EMAIL PROTECTED]
Gocho Networks

Flanders:
        Homer, affordable tract housing made us neighbors, but you made us
        friends.

Homer:  To Ned Flanders, the richest left-handed man in town.

                   When Flanders Failed

Reply via email to