Software

Custom software is the key component to most of the projects we work on.  Whether it is a complex application or a few lines of script, our ability to work in many different software technologies allows us to fill in the missing pieces in your system design.

Small Projects — Quick Execution

For small projects, we may not need to develop a traditional requirements document, but rather will translate your general ideas into a simple description of the final product to be agreed upon.  We have no desire to create more complexity than is necessary.  Usually we can dive in quickly to provide a demonstration system within a short time. 

Large Projects — Expert Software Engineering

For larger projects, we will go through a process of gathering requirements, proposing a design, implementing and testing code.  However, we recognize the value of an iterative approach for development of larger projects.  We prefer to create a demonstration version early in the project, and also to implement smaller parts in succession with a lot of end-user feedback during the process.  We find that this leads to much better results than trying to deliver a single large, comprehensive software package after a long period of development based only on a requirements document.

Databases — Critical Expertise

A related expertise is database design and programming.  For many projects the development of custom database schemas, queries, or stored procedures is critical.  We have extensive experience in several popular database platforms and industry-standard interface methodologies.

We understand the need for flexibility in the software development process.  During almost every project, as we proceed in the development it becomes obvious that some requirements were overlooked or new features should be added.  We embrace these modifications, because they are usually based on critical insights that will make the final system work well.  Since typically only one or a few developers are involved, the modifications can usually be done without a major problem.

In the end, we will always provide complete source code with good documentation, so that you are free to modify the software in the future as necessary.

Software languages and systems with which we have experience

Our broad experience with many software environments allows us to easily adapt our skills in new systems and languages.  Our preferred development environment is Microsoft Visual Studio .NET, but we are happy to work within any software development environment.  For development technologies that we don't currently have any technical expertise, we will reach an agreement about how much of our time will be not billed due to the time necessary to come up to speed in the technology.