Our Philosophy on Software Development

The truth of the matter is that software development is more of an art than it is a science. The developers are creating something from their own perspective. The same problem can be solved in many different ways. That is where the creativity comes into play. But with any large development, there are many clerical issues that arise. We have developed our internal standards to handle all phases of the software development process, from stating what the goal is to the delivery of the final product.

The ideal situation is to write code that is self documenting. Then in this case, the changes are only made in one place. Even with the simple case of writing comments with in your code could become troublesome. Sometimes the code is updated but the comments are not. This leads to more maintenance headaches.

Our approach takes a layered view of the development cycle and each layer is interchangeable. This gives us the added flexibility of changing the requirements during the development, should the need arise. We are able to adopt to the needs of the customer very quickly.

It all begins with our requirements gathering process. During this phase, the goal of the project is well defined. We don’t leave any stone unturned and all assumptions are presented at this step. We then move on to the design phase. During the initial part of the design phase, we develop a prototype system for the customer’s approval. The customer can get a true sense of what the requirements will mean to the finished product. Our experience has been that not everybody knows exactly what they want, but they all know what they don’t like.

Even before we write one line of code, we want to have the whole design on paper. We breakdown the software from top to bottom. The whole development team understands the goal. This makes everyone more alert to what is going on. In so many cases we have seen, the individual developer might not know how their small part fits into the big picture. We feel that when everyone knows the big picture they can make suggestions which greatly improve the overall product. This comes into play even more during the testing, documentation, and implementation phases. All the people involved in the project come to know the product intimately.

We have standards in place for all phases of the development cycle. We are very proud of our coding standards which we feel helps us produce first class software. With the overall design being on paper and our coding standards, we let our developers be creative. This produces a very enjoyable atmosphere to work in.

Many times, a software project starts out small. Then new features are added. People come and go. Through all this, the software goes through many changes. After a while, developers are afraid to touch the code. Our development process alleviates most problems of this nature. The final product is robust, flexible and is in a healthy state.
Share by: