This page summarizes our standard client work relationship. As such it clearly does not fit all circumstances. In this instance it serves as a form of introduction to us. Therefore, all of the specific items below are open for modification as your project and business rules require. Before initiation of a project we provide a Work Agreement document to the client that includes a brief set of project requirements, our cost estimate, time line and any specific requirements the client requires.
Please contact us for questions regarding rates and availability.
We do not charge for the first meeting on a new project. Once a project has been approved by the customer we bill for analysis, design, application development, training and related activities on an hours-consumed basis. Prior to project initiation we provide an estimate of the hours needed to complete the work discussed. The client is kept informed of the actual time consumed on a weekly basis and can use this information to manage and adjust the work authorized. Work is tracked and billed in increments of the quarter hour. Once work begins, client initiated meetings and extended communications are billable activities. Should you expect an activity to not be billed, you must establish this prior to our expending the time.
At the client's request, we may consider working under a fixed price contract. Before we will consider bidding on a fixed price basis we must have a detailed project specification which explicitly delineates all required interfaces, functionality, reports, deliverables, schedules and documentation. Fixed price contracts typically cost more than an hours expended type development due to contingencies that must be included to cover changes to the specification and undocumented requirements. Fixed price development typically requires a startup payment, progress payments for meeting milestones and deliverables defined in the client work agreement, and a final payment upon completion.
We normally invoice on a bi-weekly basis for hour based contracts. This serves as a progress/status report to help the client manage their project. Software development costs can grow at an unexpectedly fast pace and many of our clients have found that bi-weekly invoices provide an additional means of managing costs, monitoring progress, and prioritizing features. All invoices are due when received. If there are any questions about an invoice please notify us promptly so that we can work to resolve them. Estimates: Estimates represent a good faith effort on our part to quantify the amount of work required to accomplish tasks and their associated sub-tasks. Due to substantial unknowns at the beginning of any project, our estimates are always presented with a number range +/- 20%. Regardless of the estimate, we invoice only for hours expended plus actual expenses. Infrequently an estimate we provide will differ from the actual work required by more than 20% due to reasons beyond our control. In those cases we make every effort to notify our client as soon as we identify the situation. We would normally cease work at that point pending client approval of a revised estimate or a change in the scope of work in order to remain within the original estimate. In some circumstances we will - in good faith - continue to work pending client approval.
We constantly strive to provide the highest quality standards and conventions. We use industry recognized standardized naming and commenting conventions with all application objects and code. These conventions provide an internal consistency and self-documentation that should reduce the cost of future enhancements or modifications and more importantly, make the code more easily understood and maintained by other developers. We do extensive in-house and client premises testing prior to final delivery of any project. We make every effort to deliver complete and bug free work but the reality is simply this "...100% perfection costs time and money ..." If every bug were caught prior to delivery the client would have paid for the time invested to reach that level of perfection. For this reason we use a prototype-test approach that involves the client. In this approach we deliver working prototypes of the application to the client at meaningful build levels so we get early client input on the application, catch discrepancies in the application specification early and deliver a product to the client that works the way they work. When unexpected problems are found, those due to our work will be fixed at our expense while others may require additional development work at client expense.
The software we provide belongs to the client ...with some reasonable caveats. Clients can modify the software without further obligation to us and may distribute as many copies as they like within their own business. We make no other assertion of ownership beyond the following: Client projects contain techniques, software objects, and specific code derived from projects that we have previously completed or acquired from others. By re-using such items, we are able to provide clients with the best technology at the lowest cost. We retain the right to re-use any and all techniques, code, objects, and processes delivered for client projects in all current and future development activities with other clients. Where copyright notices are posted within code modules or runtime licenses exist for software objects, those copyrights and licenses remain valid and enforceable on the client and anyone to whom they provide access. We take no responsibility for software changes that we do not make.
Software we develop for a client may NOT be resold by the client nor by us unless prior mutually agreed upon arrangements are made to that effect, prior to any resale.
Non-disclosure and Non-compete Clauses: Reasonable non-disclosure or non-compete agreements are a normal part of our client relationships in order to protect their software investment and competitive position in the marketplace. We reserve the right to have any such contract clauses reviewed by our attorney for our mutual protection.
We perform software development work at our office and/or at client locations. Working at our office normally provides the advantage of working on top line equipment and with resources and tools not readily available at client locations. We do charge for any travel beyond normal commute, and we also charge for any additional expenses incurred while working at locations other than our offices. We make extensive use of modern communications when available and have successfully completed numerous projects around the country and overseas involving management, analysis, and software distribution activities by such means.