Software Architecture Agility

Whenever you thing about software, there is one thing which rarely (never?) changes – there will be constant need for a change.

And the change itself it comes from two main streams:

  • the business which can be very dynamic and bring changes even every day (strong competition), or slightly slower but still very often changing like regulated business (investment banking)
  • technology itself, the way to develop software changes, the way to handle scalability, efficiency of costs, best practices – it constantly changes

To handle it well you need something more than traditional methods of architecture – you want really to meet the ever-changing demands of the market.software_architecture_agility

Architecture agility is the ability to respond quickly to a constantly changing environment – see more on architecture and agility good friends.

Techniques to facilitate the change:

  • reduce dependencies (less coordination required – think of release schedules and shorter time to deploy)
  • leverage standards (industry,  corporate and de-facto standards – better integration)
  • create product-agnostic architectures (avoid vendor lock-in)
  • create domain-driven architectures (business change will be 1 to 1 with your architecture change)

Find more on Software Architecture Fundamental – Understanding the Basics

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s