Systems Design

Good systems design starts with good architecture. Experience shows that a systems architecture determines its stability, its scalability and how easily it can be modified to react to new business realities.

To the right is an architectural diagram of a layered business system. It hides implementation details of each layer from the others. A common mistake in many systems is code that crosses architectural boundaries with no consistent interface. For example, an application that reads data directly from a database. This coupling of the application to the database means that when the underlying datastore changes, the application breaks. For a simple, single application, this is not a problem. For systems that access data from many different access points, it's disastrous.

Object Oriented Design
With over 15 years of object oriented design experience, I can bring heavy guns to the software design task. By working with your team of developers and fostering an environment focussed on quality and reuse, they can be more productive and proactive.