One big problem with having a consultant doing the job you describe is the loss of experience/knowledge for the company when the contract ends (I understand that this product is part of the core of your company's business). I doubt that it is possible to counter this loss by the production of documentation etc. My experience with these kind of systems is that understanding and documenting them is about as much work as repairing or even rewriting them.

Therefore I would try to attack this problem by hiring a consultant to build a testbed system for the application, with enough tests in place to guarantee a working application with the main features. This is in itself an added value, so the investment will be worthwile even when the consultant goes. The time scope for this should be a relatively small part of the whole schedule (less than 1/5 of the time schedule you have for repairing the application?).

Then use/hire an experienced coder to refactor the system, adding more tests as you go, but be sure to keep the refactoring experience inhouse, as this is the core knowledge to work with and maintain the product.

Christian Lemburg
Brainbench MVP for Perl
http://www.brainbench.com


In reply to Re: Best use of Perl Consultant? by clemburg
in thread Best use of Perl Consultant? by Ovid

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.