Build A Cottage
This
is the warm, friendly and comfortable way we all start off writing
software. One or two people with some skills get together and just
start building until something nice and home like appears. Such an
approach makes little programs in which a small family can exist
comfortably. However, if the family gets bigger, or its demands more
complex, the cottage quickly shows its limitations. Its control systems
and infrastructure break down and the enlarged family just does not fit
any more.
Unplanned Construction
This
is what happens when success with a cottage leads one to think that a
simple 'scaling' exercise will get bigger and better results. The one
or two person cottage building team is 'upscaled' to several people and
ambitious targets are set.
This results in a furious rate of code cutting and bolting together and
ultimately leads to an controllable mess. Each time a new piece is
added in one place it causes something to break and fall off some other
place. Chaos reigns supreme and heads will roll.
Off The Shelf - Trailer Home
Well
all this cottage and uncontrolled growth stuff is enough to put anyone
off development. Maybe we should just buy something off the shelf and
live in that? Yes - that is a trailer home. It might work for a bit,
but you cannot extend it or alter it. After a while it will look shabby
and your friends will laugh at you. OK for a short term solution while
your dream home is built - but not a realistic long term solution.
Best Of Breed
This
is the first of the vaguely ' architected ' solutions. Except it is
hopelessly naive. I have seen this happen many times. People go out and
get the very best possible system components and then assume they will
magically work together as a cohesive whole. This does not happen, and
the vendors all blame one another because they cannot possibly be at
fault - they are best of breed.
Architecture Gone Mad
"
Coooool! Finally we have the chance to do some architecture!"
The new found freedom causes a flurry of self expression. The new
system design looks brilliant on paper and wows the management.
However, it is hopelessly impractical, rarely works and when it does
work, it is only for brief moments.
Solid Architecture - It Works And It Lasts!
OK
- this might be a slightly uninteresting solid lump. But, it works and
keeps working. Good architecture is figuring out the perfect balance of
materials, forces and workmanship that result in something that is fit
for purpose - long term.
阅读(1236) | 评论(0) | 转发(0) |