|
For those interested in using my
services here are some useful guidelines which can help make our collaboration more
productive, and reduce development time and cost.
The development process:
- The
first step is to define clearly what we are trying to achieve and what the
different metrics are: the inputs, outputs, performance requirements, what
is to be delivered and in what time frame, etc. This will allow me to give a
more accurate time and cost estimate and will also help us determine when
the project has been completed
- Estimates
are just that, so the fact that I say “it should take X hours
or Y days” doesn’t mean it will take exactly that time. I try to be as
conservative as possible, as I don’t like unpleasant surprises myself. I
sometimes do finish projects sooner than estimated. It is also common for
software projects to turn out to be more complicated during the
implementation phase than expected during its initial phases.
- Please
do not make assumptions when you describe your system. So do not imply that
because a certain element or behavior seems obvious, it will also be obvious
to me.
- Related
to 3., give as much details as possible. So for example instead of “the
system buys when the moving average crosses the median line” use “the
system buys at market when the SMA of close with a period of 5 bars crosses
over the median line between high an low calculated as (high + low)/2”.
- Even
if we follow 3. and 4., there will always be elements that need to clarified
– that’s the nature of software development, so please be prepared to
answer many questions.
- This
will be an iterative process, so you will receive intermediate versions or
results that you can test yourself to make sure that they meet your
functional expectations. Based on your feedback I will then continue the
work.
- Also,
related to 6, the project will certainly change as we go along, based on new
facts or a better understanding of the problem that comes only when trying
to actually implement an idea.
Payment
- I
usually expect payment upfront for at least part of the fee, but we can make
different arrangements depending on the concrete situation. In some cases I
will deliver limited or protected versions of the code until the total fee
is paid
Warranty
- I
offer 100% guarantee of my work. I will fix any bugs or problems at any time
after the development is over, at no charge. I will also make small changes
in the code at no fee. Larger changes that involve a considerable amount of
development time or significantly change the functionality of the code will
be considered different projects though.
Refund Policy
- You
are entitled to 100% fee refund if you are unsatisfied with the result of my
work for any valid reason. That being the case, you will be required to
destroy all copies of the documents, scripts, modules etc that you received
from me. By valid reason I mean for example a large discrepancy between the
initial requirements and the end result in terms of functionality,
performance or other parameters, that is due to the quality of my work and
that I can’t fix. An invalid reason is for example a trading system that
does not prove profitable in simulation or real trading, as long as the
system meets the initial functional requirements.
Intellectual Property
- You
are the owner of all trading indicators, algorithms or any other original
techniques that you share with me during the project development, and I will
not disclose them to any individual or entity.
Ownership
- Normally
you are the owner of the deliverables. In some cases however, if these
deliverables are to be resold for example, we may have to make different
licensing arrangements.
|