I can design and implement solutions, from requirements to code.
will result in a product that will be delivered to the client.
The product could be a specification, a language design,
a domain analysis, a software architecture or design,
or a completed software system.
Estimating the cost of a complete software product is an
art based on past experience.
However there are well known factors that influence the
overall cost of software development that I will use
to give an estimate (either in hours or as a fixed price)
for creating a piece of software.
Based on these estimates, my services can be purchased
on either an hourly rate or fixed price.
Factors in the cost of software
the set of features, both the quantity
of features, but also the interaction between features is the
major determinant of software cost
robustness and ability of the software to handle error situations;
the level and quantity of
time, space, bandwidth; increasing the efficiency
of a system will also increase the complexity and therefore cost
software should be easily adaptable, maintainable,
and extensible to preserve its value in the long term
software that must be developed quickly costs more
- Changing specifications:
once software development
has started, changing the specification is the largest
single factor that increases the cost of development
a requirement to be compatible with existing systems will
increase the cost of the software, particularly if the
existing systems are not well documented
platform independent software will cost more, even if it is being
done in Java, to insure that it will run properly
for a variety of Java virtual machines (this can be particularly
tricky if you wish applets to run on older browsers as well as
"usable" software will require more upfront investment
in requirements, prototyping, GUI design, and user testing to insure that
"real" customers will be able to use the software effectively
graphics, audio, and good web page design will require
expertise from subcontractors
in typical cases, ownership of the software
will be transferred to the client, however in some cases, it
may be desirable to share ownership or reuse existing software
owned by others. A discount will be given
to clients for shared ownership.
Also see my consulting services
and instruction services.