Development

Technology Approach

Most of our development work is in Java or .NET. Many of our developers are well versed in both platforms, and we strongly believe in applying what we learn from one platform to the other. Many of the best frameworks and tools around today are the result of such cross-pollination. Sound architectural patterns and principles are equally valid across both platforms, and each offers its own advantages in language and framework features. Usually the choice of platform is decided by the client’s preferences and existing technology environment.

Virtually all of our projects will involve the web at some point; a great many of them are pure web projects. Web development is not an isolated “server side” exercise, now more so than ever. While we have experts in particular front-end technologies, all developers are well versed in designing and implementing systems that make best use of emerging and maturing frameworks and techniques.  jQuery is the most obvious example of this, to the extent that it or similar frameworks are ubiquitous components of modern web applications.

Most projects are a mixture of bespoke software development and integration of products from vendors. While we have a portfolio of third party products we are experts in, we remain vendor-neutral. We will always want to use the right platform for the right job. Nobody benefits from using the wrong technology.

A typical large project will take many best of breed tools, frameworks and components that together meet the client’s requirements. Sometimes these will be open source, other times they will be closed source, proprietary commercial products.

Agile  Methodology

We are not slaves to a particular process. Methods have to be adapted to suit the client, both technically and culturally. We like to arrive at an approach that sits happily with our clients’ ways of working – although we are very forthcoming with suggestions.

We believe that, in general, some form of incremental approach is the best way to deliver both quality and value for money. This is borne out by experience. As software developers, we are lucky compared to other engineering disciplines in that we can harness change to our advantage, and deliver a higher quality result. Everyone involved with a project, on all sides, learns more about the system being built as the project unfolds. An incremental approach allows the project to benefit from this growing insight, and become a solution that really meets the client’s needs.

We believe in attacking the hard problems as early on as possible, and delivering working systems to our clients as soon as we can. Iterative methods have been repeatedly proven to deliver a higher quality result.