Architecture Roadmap
The Problem:
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 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, effecting realistic abilities to handle more customers, get new products/services to market at all (much less, quickly),
empower staff, grow teams, etc.
As an 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 over-due projects, under-performance, disappointed customers, disaffected salespeople, and burnt out IT staff.
The Panoscopix Solution:
Panoscopix provides this service as a mixture of on-site and off-site consultancy. The initial analysis requires on-site work to
review the
architecture 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 needs 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 integratable 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, decisioning on, and adoption of, as an explicit project with goals, deadlines,
deliverables, and resources.
Deliverables:
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 infastructure.
- Mentoring development team members on architectural capabilities.
- Readiness assessment to guide the organizations 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 mentor, Scrum Master, or Developer.
- Refactoring analysis and implementation.
- Test automation and test-driven-development analysis and implementation.