 |
 |
| Overview |
|
 |
Optimal Process, Inc. builds custom software, simple web sites and full-blown web applications. We also assist in the integration of existing systems.
|
|
 |
Estimating the cost of custom software or web site development can be very simple or very complicated. The factors that determine project cost are discussed below, but first here’s a quick overview of how we arrive at a price.
Before submitting an estimate, Optimal Process provides free consultation leading to one of two results:
|
|
 |
We learn enough through initial conversations with the client to deliver a realistic cost
estimate, or:
We learn enough through initial conversations with the client to determine that delivering a realistic estimate will require more time than we are able to provide at no charge.
|
|
 |
When that happens, it is because we see that we will actually have to enter into the first phase of the project – the planning stage – in order to specify the system the client needs. In these cases, OPI provides a quote for the amount of research and planning necessary to create a project specification and submit an estimate. By the time that estimate is submitted, a good deal of the most important work on the project will have been accomplished; the client pays us, not to submit an estimate for the job, but actually to do as much of the job as is required to estimate its cost.
|
|
 |
|
OPI cost estimates consist of an overall project specification itemized according to project phases and sub-systems, accompanied by a project schedule. Our clients are able to decide which phases they will undertake immediately and which they will put on hold, then to budget accordingly. |
|
 |
| General Determinants of Project Cost |
|
 |
For purposes of estimating cost, there are two types of development projects. |
|
 |
Large companies with internal IT staffs usually develop detailed project specifications, which they then put out for bid. In these cases, OPI reviews the specification and decides whether or not to submit a quote. |
|
 |
Other companies, large or small, may be unable to develop a detailed project specification independently because they need the potential contractor to assist them in determining just what it is they require. This type of project, in which the contractor is expected to play a full consulting role, constitutes most of OPI’s business because it demands the kind of business expertise (in addition to pure programming) that OPI can supply. |
|
 |
The cost of custom software and web application development is a function of the following factors: |
|
 |
Project scope and complexity
The developer’s familiarity with the industry in question
The developer’s familiarity with the particular client in question
The amount of process knowledge that exists within the client’s organization
|
|
 |
In the case of web sites and applications, additional factors include: |
|
 |
The source of site content
The depth of resources the client is able to dedicate to site management
The site’s requirements in regard to “special” technologies, e.g., Macromedia Flash,
Generator, etc.
|
|
 |
Scope & Complexity |
|
 |
By scope, we simply mean the overall size of the system. Does it do one thing or thousands of things? How many separate sub-systems are involved? |
|
 |
By complexity, we refer chiefly to the relationships between sub-systems. As discussed in The Basics, enterprise systems can be exceedingly complex, given that all system components and the data they handle relate to each other, usually according to intricate sets of rules. |
|
 |
| The Developer’s Industry Knowledge |
|
 |
A developer who has a significant amount of experience in any particular industry brings a great deal of added value to clients in that industry. The developer with industry experience does not have to spend nearly as much time (money) learning about the core issues, as does one of equal development skills who possesses no industry knowledge. |
|
 |
| The Developer’s Familiarity with the Client |
|
 |
It hardly requires pointing out that a consultant who knows your company well will be able to work with it more efficiently than one who knows nothing about your organization, people and procedures. In the absence of a compelling reason to change IT consultants, you should probably stick with who you’ve got, especially if they’ve already written a lot of code for you. |
|
 |
| The Client's Process Knowledge |
|
 |
As discussed in Steve Cantor's 1st Five Questions of Custom Software, one of the most important issues influencing project difficulty is whether you are automating an existing process or designing one from scratch. In the former case, there will be people in your company who know how the existing process works, and can transfer that knowledge to the software developer. Otherwise, developer and client must work together to design something neither has ever seen. |
|
|
|
 |
Web Sites |
|
 |
All of the principles underlying successful custom software development apply as well to both simple web sites and complex web applications. However, due to the marketing and/or sales functions of most web sites, additional issues arise that affect cost. |
|
 |
| Source of Site Content |
|
 |
Whether or not they contain e-commerce functionality, most web sites are marketing tools, built to do the job of marketing communications. They convey messages through design, photography, multimedia elements and, of course, text. Where does the text come from? The client’s writers or ours? The same question applies to everything else in the site - all of its “content” – and thus influences the company’s development costs, both out of pocket and internal.
|
|
 |
| Internal Resources for Site Management |
|
 |
Web sites may be either static or dynamic (database-driven). Static web sites can only be updated manually – someone has to change the Hypertext Markup Language (HTML) of which the site consists. Database driven sites, on the other hand, may be managed through an Administrative Interface requiring no knowledge of HTML or any other technology. Database driven sites are far easier to update and manage over time but more complicated to build. Static sites are, generally speaking, easier to build but harder to maintain. Availability of internal personnel for site management is certainly not the only factor involved in choosing between static or dynamic architecture, but it is certainly one of them.
|
|
 |
| Special Technologies |
|
 |
We refer here mainly to Flash, the animation technology developed by Macromedia, but there are a number of other technologies used to create and deliver animation and/or video, and to power certain kinds of interactivity. These technologies, and the artists who employ them, can add a little or a lot to a web site’s cost.
|
|
 |
|
|
 |
|