Turbulent times

At this organization the tenure of the senior leader post is closely resembling that of a Bank of America CEO. The post length is now measured in months and not years.

Superficially it appears that the changes at such high level do not influence the design of software systems. But upon taking a closer look it quickly becomes clear that changes at the top have a direct impact on your software design decisions. To recap the flow: the world events influence customers' decisions, corporations adjust to serve customers, CEOs and senior leaders set objectives and goals to maximize profit on sales to customers, measures associated with objectives and goals influence the business processes, software exists to support business processes, and company employees use software to deliver value to a customer.

Only in the most mature (or highly bureaucratic organizations) the change at the top has marginal effect on organizations, but in this economic environment with ever changing business models the concept of stability no longer exits.

This instability becomes a design constraint for an architect and alters the design process and construction / release stage of software development. To mitigate against rapid changes you must build elasticity into your design and into your software development approach. This means paying a special attention to decoupling of components, and deferring design decisions as far back as reasonable.

From the human aspects of software architecture prepare the team for change, rework, refactoring, and re-architecting. For some organizations stability will never return due to the changing business models. As the architect it's your (increased) responsibility to ensure that change is manged and does not result in knee jerk reaction.


Constantin Kostenko
Firebrand Architect®
SoftwareArchitectures.com
FirebrandArchitect.com

Comments

Popular posts from this blog

Why we do agile

Quality Attribute Refinement