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
Re: Software architecture manifesto
Just wondering whether you have put in any effort to revising this since you first posted it?
I think that you could easily separate this into 2 parts: one for agile architecture and one for the agile architect.....
So, for example, the agile architect values:
Stakeholder understanding over dense architecture documents
Pragmatism over design perfection
Paying attention to system qualities over shoe-horning them in at the last moment
Architectural collaboration over ivory tower edicts
Evidence over endless architectural arguments
....
And for agile architecture I could easily pull out another dozen things......
I am likely to write a post (referencing this one) on this....
Re: Software architecture manifesto
Hi Rebecca, no, I haven't revised it since I put it together but I still use it as the final slide for my software architecture training course! Be interested to read your follow-up if you put one together ... I like "Paying attention to system qualities over shoe-horning them in at the last moment"! :-)

