Architecture
Getting the architecture right is as relevant to building software
systems as it is to building houses, bridges or motor cars. A house poorly-architected will be inefficient and costly to run; it will be difficult and expensive to maintain and further development may prove to be prohibitive.
Developers can inadvertantly comprimise application architecture either because they aren't aware of how things work in a new technology, or because they are inexperienced.
Most developers will have worked on a legacy system which suffered from
poor design and many will have spent their days cursing that design! That's because “The thing about (all) architecture is that you really only notice it when it’s wrong”
Experienced developers
usually design software based on an architecture they have used before, because
they know it works. This is not a bad thing, but when moving to a new technology
or platform, it may not be ideal. For instance, aplpying Java ‘thinking’ can adversely affect .NET's performance
and usability.
Why so many architectures?
It's been said that "with Microsoft, there are 1000 ways to do something, but which one is right?"
Microsoft's argument would be that there is no single right way, because each application's requirements are different. However, developers do not have the time to research
and evaluate these different ways, so must either 'suck it and see' or use whatever
they used last time.
Our Commitment to Architecture
At Storm Software, we invest heavily in architecture, reasearching, evaluating and
comparing competing technolgies. We do this to ensure that we are able to advise
our clients on the best architectural solution to each project.