As much as the phrase “If you don’t know where you are going, any road will take you there” applies to setting a strategic vision, it is the opposite that applies to the viability of architecture: “No matter where you try to go, most roads will never take you there.” Computer architectures are complex things, and they are also living things.
Well-designed architectures can respond to a wide range of conditions and changes to those conditions, but there certainly is and never will be “one size that fits all.” Poor architectures can be very debilitating, affecting realistic abilities to handle more customers, get new products/services to market at all (much less, quickly), empower staff, grow teams, etc.
As architecture is moved and stretched in various ways, it needs to be assessed if it is still within capabilities or reaching boundaries. This requires an architectural roadmap. The roadmap captures the business assumptions that underlie the architecture, and the architecture’s capacity to handle changes in those assumptions.
But, the roadmap also has to describe and be up-to-date on how the architecture can be built and realized in various systems-level projects. The roadmap also describes how the architecture can evolve incrementally and systematically by enhancing functionality, adding components, and retiring others. Most importantly, the architecture roadmap connects plans to reality.
Without an architecture roadmap, the business strategy may be difficult to execute – it certainly will be risky, potentially resulting in overdue projects, under-performance, disappointed customers, disaffected salespeople, and burnt-out IT staff.
Logifusion provides this service as a mixture of on-site and off-site consultancy. The initial analysis requires on-site work to review the architecture’s current state and the business strategy and implications on the architecture.
Since most plans fall into well-understood categories, such as web-ifying an existing capability, adding a new service/product, introducing/enhancing back-office systems, etc., the bulk of developing the roadmap can be done on- or off-site as the customer prefers.
The roadmap provides a time-sequenced set of capabilities required in the organization spanning how it analyzes systems need to how those systems are actually built. The roadmap goals are significant:
•Establishing (or reforming) the EA program to be Agile EA, connecting the architectural roadmap to systems development.
•Establishing (or enhancing) the software development lifecycle to Agile Methods, e.g., SCRUM, to provide a more transparent and responsive systems development environment.
•Establishing a Technical Architecture that connects the EA and development teams not with documents, but with components, tests, models, and other artifacts directly integrate into the development process.
This includes establishing a component repository with managed choice (not one-size-fits-all), so there are low-, medium-, and high-tech alternatives for given component needs. This includes establishing an explicit technology innovation program (e.g., a Center-of-Excellence) that manages the investigation of, decisions on, and adoption of, an explicit project with goals, deadlines, deliverables, and resources.
Examples of the deliverables provided in this service:
•Comprehensive architecture roadmap for the physical and logical architectures.
•Agile EA training (formal or informal).
•Early adopter project selection and jump-start, by establishing COE project for technology innovation.
•Establishing Technical Architecture repository.
•Establishing managed choice and compatibility in the repository to offer systems a low-, medium-, and high-tech alternative to component needs.
•Establishing development-friendly governance and integration testing infrastructure.
•Mentoring development team members on architectural capabilities.
•Readiness assessment to guide the organization’s adoption of Agile Methods.
•SCRUM training (formal or informal).
•Early adopter project selection and jump-start, by joining the development team as Scrum Master, Developer, or Customer coach.
•Agile project acceleration, by joining the development team as a mentor, Scrum Master, or Developer.
•Refactoring analysis and implementation.
•Test automation and test-driven-development analysis and implementation.