Analogies abound in software architecture and development. From bricklaying to skyscraper construction, I think I’ve heard them all. Frankly, they can get a little tired. That said, there are two analogies that come from the automotive industry that I reference on a daily basis: road maps and dashboards. While road maps are often associated with software release plans, and dashboards with software administration, both have helped me in my architecture work.
In my experience, most enterprise architects don’t follow a well-defined process, don’t always produce the proper artifacts, and don’t follow their projects through to customer delivery. On the one hand, this is understandable, as tracking all the existing development while planning for future business and technology needs is overwhelming. However, it’s possible to track them at least to some degree, and this is where the proper use of road mapping (to ensure a proper project progression) and dashboards (to maintain a 30,000-foot view of all development) have been proven to help.
Road Maps: The Enterprise Architect’s Guide to the Galaxy
If hitchhikers can have a guide to the galaxy, why not enterprise architects? Wikipedia describes a technology road map as a plan that matches short- and long-term goals with technology solutions to meet those goals. A good road map helps teams to agree on a direction, predict future outcomes and coordinate all processes involved.
The road-mapping process I’ve found useful includes the following phases (see Figure 1 below):
- Planning
- Design
- Development
- Debriefing
In the planning phase, the business team and the architects define the conditions for the project (i.e., customer needs, revenue goals, time frames and so on), determine who will fund and who will lead the effort, and finally, define the scope of the project. In terms of scope, it’s often just as important to define what not to do in the project. For example, definitions can mandate that you’ll adhere to the 80/20 rule to ensure budgets aren’t blown, that you will support just one mobile platform rather than use a framework that works across all of them, or that you’ll dedicate only a subset of your team for a limited amount of time for a pilot program. Overall, this phase defines the vision for the development effort.
In the design phase, the EA takes the lead and matches the business goals with technology choices, using the artifacts from the planning phase. This includes analyzing existing systems, products and development teams, and determining future needs (i.e., hiring new talent). The important artifact from this phase is an architectural road-map report that outlines the technology choices made, maps those choices back to decisions from the planning phase, provides alternative choices and takes problems into account along the way (a.k.a. Plan B).
The development and debriefing phases might seem like a post architecture activity, but as I’ve stressed in past blogs, such as this one and this one, the enterprise architect must be involved here as well. This involves continuous tracking of the product development back to the previous two phases, making alternative decisions (according to the road map) where needed, and executing on Plan B as a contingency. Debriefing generally occurs once development is wrapped up, and involves measuring the end result against the original vision, and using those results to refine the process for future development efforts.
Figure 1 - Road mapping for the enterprise architect. Illo credit: Eric Bruno
The Dashboard
A road map is useless, however, unless you know where you are, and where you’re headed. When kept up to date, a project dashboard helps the enterprise architect track a project instantly. Products such as CA's Clarity PPM help you build road maps to track and manage an entire project's lifecycle, and also include project views akin to dashboards.
In a large organization with multiple ongoing projects, dashboards are an invaluable tool, and help track the following:
For the overall business:
- Determine business needs:
- Overall health
- Growth areas (expanding existing business)
- Greenfield (new areas of business)
- Track ongoing projects
- Track R&D
For individual projects:
- Track customer requests
- Optimize architecture
- Track bugs and defects
Below is a sample mockup dashboard I created:
Some tips as you create your own are to:
- Keep it all on one slide;
- Include green/yellow/red status indicators for major areas (usually business, tech, and operations). Although there are only three colors here, the truth is this usually expands to multiple colors to account for all major areas;
- Include a summary Gantt chart of up-to-date critical scheduling, customer requests, and bugs, updated weekly (the one in the sample above is from Wikipedia);
- Include an overview architecture diagram so that you can see the data sets, major systems, and client impact all in one view.
As you can see, the dashboards get quite sophisticated even at one page, and are extremely useful when you're tracking lots of systems. Any more than one page and it's overwhelming when multiplied by the number of active projects the EA is or was part of.
It’s no accident that the elements tracked in the dashboards map back to the software road-mapping phases outlined above. I’ve found that using both tools together helps the enterprise architect maintain the unique position of understanding both the business and technology factors for problem-solving in the enterprise. What dashboards and road maps are you using?





