Software architecture manifesto
Taking some inspiration from the recently published SOA and FAIL manifestos, I thought I'd have a go at writing my own for software architecture.
- Some up-front architecture over doing the whole lot or none at all
- Designing for non-functional requirements over trying to tack them on at the end of the project
- Evaluating technology over just choosing it because it looks good on your CV/resume
- Experimentation over hoping your design will work
- Code over endless discussions, meetings and diagrams
- Collaboration over ivory tower dictation
- Involvement over running away and letting the team deal with the "implementation" problems
- Coaching team members over stroking your own ego
- Pragmatism over perfection
- Real problems over intellectual (self) stimulation
- Simplicity and common sense over complex and convoluted ideas
- Short and useful architecture documentation that reflects reality over encyclopaedias that nobody reads, understands or cares about
Humour aside, this does reflect my view of the role of a software architect. What else would you include?
Re: Software architecture manifesto
This is a good idea! However I think it needs some some work.
If I look at the Agile or SOA manifesto then I see (very) short messages that are easily remembered. The list you present are more like the guiding princibles the SOA manifesto uses. To me, the actual manifesto is still hidden. I will think on this and maybe write a post of my own ;-)
If I look at the Agile or SOA manifesto then I see (very) short messages that are easily remembered. The list you present are more like the guiding princibles the SOA manifesto uses. To me, the actual manifesto is still hidden. I will think on this and maybe write a post of my own ;-)
Re: Software architecture manifesto
Nice, but as you say, it is too focused in the architect's role.
Maybe adding...
- Real, working, coded architecture over ideal, documented one.
- Actual problem solving and happy client keeper architectures over just what the clients asked for ones.
- Appropriate technology using architectures over buzzword following ones
I may think on some other ones later :D
Maybe adding...
- Real, working, coded architecture over ideal, documented one.
- Actual problem solving and happy client keeper architectures over just what the clients asked for ones.
- Appropriate technology using architectures over buzzword following ones
I may think on some other ones later :D











