Linkedin: How does architecture ensure system flexibility?

<discussion ref="http://www.linkedin.com/groupAnswers?viewQuestionAndAnswers=&gid=1523&discussionID=10617743&sik=1262950490126&trk=ug_qa_q&goback=.ana_1523_1262950490126_3_1" />

Any complex system is a dynamic set of artefacts (or building blocks), e.g. in case of a BPM system those artefacts are: processes, services, events, data structures, documents, rules, roles, activities, audit trails, KPIs.

Artefacts are interconnected and interdependent. We have to anticipate potential changes: policies, priorities, compliance, technology, etc. Implementation of such changes necessitates the evolution of some artefacts and the relationships between them. It must be easy to modify all artefacts and relationships without causing any negative effects.

My main architectural principles for creating flexible systems:
- All artefacts must be evolved to become digital, external, virtual and components of clouds
- All artefacts must be versionable throughout their lifecycle
- All relationships between these artefacts are modelled explicitly
- All models are made to be executable

See http://www.improving-bpm-systems.com/pubs/AS-AW08-keynote.pdf


More details are in my new book “Improving enterprise business process management systems” www.samarin.biz/book

No comments: