Software Architecture Fundamentals - 4 : Architecting for change
Notes from the Software Architecture Fundamentals a video series on Safari books online - continued.
Business in constant change
Technologies in constant change
Architectural agility
Technique 1 : Reduce dependencies
Use a Messaging/Bus/Adapters/Architectural Pattern to reduce dependencies
Components can evolve independently
Downsides : Solution becomes more complex, performance goes down.
Technique 2 : Standards
Industry Standards
Corporate Standards
De-facto Standards
Large resource pool, although be wary of average resources, requires good hiring practices.
Better integration
Feasibility (in budget)
Technique 3 : Product agnostic approach
Avoid vendor lock-in using anti-corruption layers
Technique 4 : Domain specific architecture
Generic architecture is difficult to change
Limits scope -> drivers, requirements, business direction, industry trends
Trading -> high performance architecture
Insurance –> Shared?
Business goals, requirements, drivers and industry trends should drive architecture.