Skip navigation
Twitter   Follow us  •   Share   Share    Become a member

Smart Architect

11 Posts tagged with the architecture tag
0

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):

 

  1. Planning
  2. Design
  3. Development
  4. 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.

 

ebdiagram.jpg

 

 

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:

dashboard.jpg

 

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? 

0

A few weeks back I wrote about the benefits — and challenges — of a federated architecture. In that blog I wrote that such an approach helps the enterprise architect organize the efforts of disparate groups to avoid duplicate software project silos, but also that the approach won’t get far without buy-in and cooperation from business users, data owners and various other stakeholders. (For a more detailed refresher, see the original post here).

 

I mentioned there that I’d be following up the post with another to discuss a project I’ve been involved in to tie disparate financial systems into a federated portal, which included taking mobility into consideration early in the design process.  I know you’ve been waiting for it, so sit back and enjoy as I delve into the how of architecting that federated effort! I hope my experience will help prepare you for issues that may arise with federated systems in your own enterprise, regarding security, deployment coordination and user interfaces, which is where we’ll start.

 

Dressing for Success

 

The enterprise architect’s first challenge will be getting agreement on a unified presentation strategy. Without standardizing on a single presentation technology, you risk a user interface (UI) that looks disorganized and disjointed. Equally bad, you lose the ability to share design patterns and code across software projects, and developers remain in silos, jeopardizing the agility that can occur when they are free to share their talent with, or even move to, other development groups to create added value. Technical problems, such as OS resource competition and varying data refresh rates, are bound to arise as well.

 

The Web-based portal I’ve been focused on building is for a set of applications — involving multiple development groups — in the banking space. Being Web-based, HTML makes up most of the UI. But because the portal is to be a rich Internet application, we had to get agreement on which more complex UI elements we would leverage for displaying dynamic data (financial market data in this case). Ajax, Silverlight or Flash technologies were in the mix, but trying to combine them all adds up to a sloppy presentation. As the enterprise architect on the case, it was important to listen to the arguments on all counts, and in addition mobility features had to figure heavily into the final verdict. Flash is a good cross-platform, cross-browser choice for dynamic UI development, but even better, it’s turned out to be a real star in the world of mobile devices.


Just Log In

 

Another area of focus in federated architecture is user authentication. It’s absolutely necessary to build a single sign-on (SSO) solution—not necessarily one based on SAML (Security Assertion Markup Language), but one that’s web-proxy friendly—that unifies the login process for your internal applications. But it’s just as important to enable access from external domains, such as those of your customers and business partners, seamlessly and without sacrificing security.

 

Solutions such as those in CA’s Identity and Access Management suite, provide capabilities that can work in your enterprise, across the Web, and even extend to the cloud. A single sign-on product, such as CA SiteMinder®, is specifically built to solve this problem, as shown in Figure 1. 

 

ca.jpg

Figure 1 - How Single Sign-on Works (Illustration credit: CA SiteMinder Product Brief)

 

Here’s how it works:

  1. The user accesses a protected resource.
  2. The user is challenged for credentials, which are passed to a secure SSO agent, such CA SiteMinder.
  3. After passing through another layer of network security, the credentials are passed to a policy server.
  4. The policy server securely authenticates the user against the correct data store.
  5. Entitlements are passed back to the policy server where access is granted.
  6. The user’s profile data is passed to the appropriate application(s).
  7. Appropriate application content is provided to the authenticated user.

 

Remember, in a federated solution, all of your organization’s secure applications need to be unified within a single SSO solution, and all of your user authentication must be accessible within a single set of data stores. 


Deployment Demands

 

Another critical task facing the enterprise architect who drives a Web-based federated effort that runs well on mobile devices is the deployment and administration of services within the cloud. In my case, this involved a private cloud.

 

The main goals were to enable lifecycle and operational independence. The first mistake of some of the groups participating in the effort was that they placed their enterprise software components into the cloud as one large component. This quickly led to problems in the areas of scalability and ease of deployment.

 

As a result, I began an effort to break down all software components into sets of basic services with discrete tasks. We designed a way to easily deploy and dynamically execute these services across servers, both physical and virtual, according to a core set of capabilities and prerequisites. For example, information such as average transaction time, network bandwidth needs, dependencies on other services, and external resources and storage needs all are factors in deciding how many instances of each service are started, and where they’re located.

 

That’s why the system now can manage itself to a degree. However, administrators still can control individual services, migrate them across servers if problems arise, and roll out individual service updates without interrupting the entire federated system. In the end, the entire system and process is more agile, with limited dependency on specific developers’ expertise, or custom frameworks that duplicate deployment and administrative tasks. In summary, less human interaction equates to more efficiency, and reduced duplication equates to reduced costs and greater shared value.

 

Looking Ahead

 

If you’re interested in moving your enterprise toward a federated architecture, you must understand that you’ll need to constantly engage in forward-thinking and proactive planning, since unification efforts take a great deal of time and need to be flexible. That’s especially true as new development groups come on board and various databases need to be consolidated.

 

But as most enterprise architects learn early on, a good architecture is never complete. It just continues to evolve over time. We’d love to hear about any of your own evolutionary experiences as an architect.

0

You know it and I know it: Most large organizations suffer from silos, with duplicate software projects in active development. The reasons for this vary — a political power-play, an accident, a belief that it's easier to reinvent the wheel than drive someone else’s car.

 

But the results, as every enterprise architect knows, are the same: Duplication is costly, and ultimately it eats into the organization’s ability to function as an agile enterprise — that is, one that can freely and spontaneously exchange information as a whole, and where new initiatives are taken on by many people working collectively, instead of only a few working in isolation.

 

How to wrestle this problem to the ground? I suggest thinking in terms of the federated architecture pattern, an approach that focuses on software, processes and developer behavior. This approach leads to a more agile organization, as it fosters interoperability between lines of business and information sharing. John Zachman, creator of the Zachman Framework for Enterprise Architecture, has positioned this approach as a practical way to employ architectural concepts in complex, multi-unit enterprises. And he has noted that its success requires someone (YOU) figuring out and actually creating and managing what is to be federated — i.e., that which is to be centralized, optimized, integrated and reused by the overall enterprise. (You may want to read Smart Architect’s interview with John Zachman on recent changes to his framework here.)

 

Building on Zachman’s definition, federated architecture is more than a fancy term to describe an enterprise-wide approach to software. It's a model to share concerns across the enterprise, and to identify common business problems, infrastructure requirements, development efforts and data needs. It requires, in effect, that you build a system that encompasses the entire organization, so that the business is able to adapt to changes in the market more quickly and efficiently, and in a much more cost-effective manner.

 

 

tax.jpg

 

As Fig. 1 shows, a federated architecture solution provides the platform to align disparate systems, data sets, other internal and external cloud-based systems, legacy systems, and infrastructure, all via an organization-wide taxonomy. From the purely organizational perspective, this is a difficult task: You need to align the business, the data owners and all stakeholders, the corporate IT strategy, and all of development. And if that weren't difficult enough, there are technical hurdles beyond the norm.

 

 

Indirectly related to this is a means to perform communication and integration across the components: Complex event processing (CEP). CEP involves designing your systems to respond to events that occur across all layers of the organization's IT systems. CEP, which in a federated architecture goes way beyond plain-vanilla middleware, becomes a driving force of systems integration and higher operational intelligence, and as such requires corporate wide buy-in and cooperation. Successfully accomplished, the result is a unified architecture, and a common development approach, for all of the systems in the enterprise — no more silos.

 

Integrating this into the cloud also ties into everything we’ve discussed here over the past year: further reducing costs, increasing efficiency, and raising overall system quality and uptime. (For more on those issues, see, for starters, Time to Revisit Your Cloud Strategy, Architecting the Cloud: Which Workloads Should Move First, or A Technical Perspective On Which Workloads Should Move to the Cloud.)  It also leads to that elusive agile enterprise, where individual components within the architecture — and the people involved — are part of a larger system, one where changes and improvements affect the organization as a whole, with benefits shared. 

 

Additionally, the federated approach helps to achieve operational independence: Developers for one part of the system can help (or even take over) when emergencies arise in other parts. Examples include software failures, architectural deficiencies and changing requirements that demand additional expertise. Being able to quickly find others within the organization to plug in and help in these situations is a big win. This is a key value that’s lost in the “silo approach.”

 

For the past year, I’ve been involved in a project where a set of disparate financial systems are being integrated into a single federated portal. As the system brings together elements of trade execution and supporting analytics, the problems have been wide and varied, from normalizing technology selections, to ensuring data-access rights, to meeting latency requirements.

 

In an upcoming blog, we’ll explore an architectural solution for a federated system based on this real-world experience. Your own federated systems will vary, and of course they don’t need to be a Web portal solution specifically for these lessons to apply. Regardless of what you’re building or integrating, you’ll face the struggles of coordinating numerous stakeholders across the organization, getting them to agree on an architectural direction, aligning their schedules and deployment plans to one another, and truly implementing the systems according to the agreed-upon plan.

 

In the meantime, let us know if you have an example of how you have implemented a federated architecture to drive agility – and how you did it. 

0

http://twimgs.com/designcentral/caseewebsite/headshots/brianjohnson_large.jpgLet’s face it: The IT Infrastructure Library (ITIL) is the 800-pound gorilla in the world of frameworks. In so many respects, ITIL has had a tremendously positive impact on the ability of companies to deliver IT service support capabilities. Yet, over the course of its 20-year history — particularly with version 3 — the ITIL framework has had applied to it some extended interpretations of just what it is and does. Some have concluded, for example, that it offers best practices for portfolio or service management, when in fact ITIL doesn’t even specifically define good processes for IT infrastructure and operations disciplines such as change management. Rather, it offers guidance, not “must-do” mandates.

 

These expanded notions of ITIL’s domain, though benign in intentions, have sometimes created tensions among various communities in the enterprise. Application developers didn’t necessarily appreciate ITIL V2 delving into application management, seeing it to be outside the role of the IT infrastructure and operations staff – the target audience for ITIL guidance from the outset. And enterprise architects may have felt their own Open Group architecture framework (TOGAF) territory was invaded by the V3 Service Strategy book that, despite its excellence, discussed activities outside the traditional scope of IT infrastructure staff.

 

"ITIL was designed for and is almost exclusively consumed by infrastructure management and operations, and V3 caused some problems,” explains ITIL expert Brian Johnson, who was part of the U.K. government team that originally created the ITIL approach. Johnson has authored many ITIL books and now is Principal Services Architect at CA Technologies. An example, in his opinion, is that the Service Strategy book shouldn’t be in V3 of ITIL. “It talks about the whole issue of designing services from a marketplace perspective. It is a genuinely excellent book that addresses subject matter outside the remit of most in-house IT service providers (and ITIL consumers) and would have been better placed in one of the OGC Programme Management guides.“

 

The release of ITIL V3.1 in July is aimed at addressing some of the more contentious issues that have arisen, and it takes steps such as placing into better context where ITIL does serve as a best-practice framework and where it does not. In other words, for instance, it acknowledges that it is at the discretion of the organization how portfolio-, project-, or security-management fits with the ITIL framework, if at all. While it is entirely reasonable for ITIL-adherents to have ideas on how to work with other good practices and practitioners of other equally important disciplines, including enterprise architecture, ITIL is not best practice for these disciplines, Johnson says.

 

That comes as welcome news for many, (enterprise architects not least among them!). Perhaps a lessening of friction among parties may lead to better relationships among enterprise architects, developers and IT infrastructure professionals — relationships that could be quite healthy for enterprise efficiency and productivity, too.

 

So Happy Together

 

Enterprise architects, application developers and IT infrastructure staff, for example, may want to put their heads together and revisit ITIL V1 and its Software Lifecycle Support book, as well as the V1 Business Perspective series. (In particular, Johnson recommends the book ‘Understanding and Improving’).

 

These books, Johnson says, do not claim to offer best practices for development, programming, database design or any of those things. But they do provide guidance for IT operations staff working with those involved in service creation, which of course includes the development organization and the architects charged with setting enterprise standards for removing complexity from application portfolios and enabling business responsiveness. “The books just explained where the different pieces came together,” Johnson says of the various elements that play into the software lifecycle. “Strictly speaking, that’s an Enterprise Architecture view.” And wouldn’t it be a good idea, he suggests, for enterprise architects and IT service professionals to come together at some point in the creation of new services and applications, so that they will effectively run on the infrastructure?

 

“It’s important to communicate how you can help one another,” Johnson says. Business services as well as IT services are bound to create storage, availability and recovery issues — all IT responsibilities and ITIL disciplines. So, when new programs of work are undertaken, it makes sense for enterprise architects to figure out what all the interfaces are, and make sure all the right people, IT operations included, are consulted at the right time throughout the design process. 

 

At the same time — given the weight ITIL has long carried in many organizations — enterprise architects, among others, may expect more from ITIL than what it in reality delivers when it comes to creating services. In which case, those expectations should be tempered: V3 didn’t provide a method to go from service strategy to service design.

 

“Right now, there is a disconnect between what an architect is probably expecting and what is delivered,” Johnson says. ”You don’t ‘design’ services using a catalog, for example. A catalog is where you put things. A catalog might offer reuse capability, it can store blueprints of designs, but it just cannot create new service designs.”

 

That said, the definition of design is often a moveable feast, Johnson notes, taking us right back to the importance of inter-discipline communications. “An operations manager might consider a new service to be, say, provisioning a server--but from a business perspective that would be an invisible component of a service that the business requires to process insurance claims in a different way. So the design will include inputs from many domain experts—including ITIL experts,” he says.

 

While ITIL does have a view on enterprise architecture, it is no more or less than a domain opinion on how best to interact with another domain’s best practices . Used incorrectly or as a blunt instrument, Johnson says, ITIL can in fact create more problems than it solves. But, as he also emphasizes, value will result when different parts of the organization come together to review earlier and current ITIL guidelines and come to their own interpretations as a group of how best to utilize them for the benefit of the particular enterprise. “It all comes down to attitude, behavior and culture,” he says, if enterprise silos are to be successfully bridged. “Stop talking and listen to each other.”

 

ITIL® is a Registered Trade Mark, and a Registered Community Trade Mark of the Office of Government Commerce, and is registered in the U.S. Patent and Trademark Office.

 

 

About the Expert:

Brian Johnson, CA Technology Services

 

 

Brian was part of the U.K. Government team that created the ITIL approach. Working for the U.K.'s Central Computer and Telecom Agency (now part of the Office of Government Commerce), Brian authored many of the ITIL books and designed both the ITIL business perspective series and version two of ITIL. He founded the ITIL user group (itSMF--and is an Honorary Life Vice President). His version one book, Software Lifecycle Support, written with software testing guru Richard Warden covered the roles of IT operations and development in designing IT services, one of the central tenets of the version three ITIL books.

 

Working with CA Technologies, he helped a major client achieve ISO accreditation for their IT operation. Brian has authored, or co-authored, more than 20 titles on ITIL, project management and related subjects. Putting theory into practice, he led both the first successful government implementation of ITIL best practices at National Savings, as well as one of the first private-sector examples at General Accident.

 

 

 

0

A lot of attention in the architecture process goes into translating business requirements to technology, specifying and documenting the resulting systems, and calculating the economics involved. Often, architecture success is judged after software is built, which can be years later.

 

But the goal should be to automate the assessment and approval of the architecture artifacts before the software is built. In other words, what we really need are ways to quickly measure and assess our architecture specs to be sure the resulting software will meet customer needs, be built at or below budget, and be secure, on time, and extensible for the future.

 

There's certainly a lot of work to do there, and this comes after the hard work of defining the architecture is complete, but before the software systems are complete.

 

Measure for Success

 

You know the saying, “measure twice, cut once?” Sometimes I measure three times, especially if a mistake means destroying something valuable and losing money, or wasting time or effort. Our architecture processes deserve added scrutiny even after the deliverables are complete, just to ensure that development doesn't commit to an endeavor only to have to make costly adjustments along the way because of design problems that could have been easily resolved early on.

 

To do this, I propose the following metrics and suggest how they should be applied. Some of these metrics are based on the Software Engineering Institute's work on architecture:

 

  • Performance: How do you measure performance, which by itself is a vague statement? Is it a measurement of transactions per second (throughput)? Maximum transaction latency and overall predictability (real time)? Or other factors, such as messages per second, queries per second, or searches per second (IO)? Most likely, you'll need to measure your architecture against at least a subset, if not all, of these.
  • Cost: Measure the ratio of anticipated costs to actual costs. Some things to note: costs that were lower than expected;
  • Return on investment: Regardless of cost (high or low), it's important to measure the returns from past architectural decisions.
  • Skill set: Are the technologies, tools and techniques outlined in the architecture beyond the skill set of the existing IT and development teams? If so, is it better to revise the architecture, or include a training program for those involved? You'll need to rate your team's abilities in many areas of technology.
  • Experience: Having a skill set through training is one thing, but experience building real software using those skills is another. How do you rate the experience level of the development team(s) implementing the architecture? (While skill set and experience clearly target development, they're on the list because architecture dictates these requirements.)
  • Communication clarity: How clearly is the architecture communicated? Does documentation exist? Are the documents easily accessible? Do you welcome feedback? Do you use standard illustration techniques and methodologies?
  • Coordination: How do you rate the coordination of activities among the groups involved, from architecture delivery, to development, test and deployment? You should strive to define an organizational coordination model with metrics around its effectiveness.
  • Learning: Measure how effective your organization is in using the information you've learned from past projects to improve future projects. This may seem a bit cyclical (the metrics include metrics for how effective they are), but they're the result of the measurement activities, outlined below.

 

Some of the metrics may seem obvious, but I'm amazed at how often they're not captured. It's up to you to capture metrics that relate to your business domain.

 

All of the metrics are used in the following measurement activities:

 

  • Reviews: Just as software code reviews help developers ensure quality early in the development process, architectural reviews begun early help ensure a favorable outcome. To execute the reviews, I propose small teams (four people or fewer), where individuals focus on a dedicated part of the architecture in review, or a portion of the architecture document. At this phase, don’t pay attention to spelling, grammar or other editing activities. Instead, focus on the architectural content itself, and identify what can be improved, added or expanded on.
  • Analytics: One organization I've worked with has implemented an elaborate set of analytics, through which it mines data from past and current projects. The analytics extract details, such as common results that correlate to factors that were not obviously related, and this data is used to ensure future project success. For instance, it was found that every project that came in under budget had a data architecture that specified the use of stored procedures. The choice of database vendor was found to have little to no effect in this respect.
  • Debriefings: This is similar to the reviews suggested above, but done after key software is released. The goal is to measure the outcome of the development process (i.e., successes, problems, key knowledge gained, and so on), and reconcile these against the architecture:

               -- Identify areas of the architecture that led to particularly strong development success.

               -- Detect areas that could have been improved or modified early on to avoid issues.

               -- Identify ways to remediate issues for the future.    

               -- Extend or expand on the things that worked well.

 

In any type of review, you want to find areas of improvement, but you also want to identify what works particularly well, and build from there. Never, by the way, use these reviews to focus on the individual performance of team members. Doing so could hinder the willingness of everyone on the team to participate fully in the architecture review and measurement process.

 

 

In conclusion, I say: “Measure often, code once!”

 

 

 

 

 


 

 


0

We’re not that far removed from the U.S. income tax season, and so still pretty close to all the stories about how “creative” people can get when it comes to their deductions or about how they parse out their actual incomes. Well, it turns out that enterprise architects may want to tap into a little financial creativity, too – that is, at least in so far as it relates to funding their projects.

 

The time is ripe: EA initiatives have suffered both from the economic squeeze and from baggage of recent years, when efforts didn’t always live up to the hype. But the economy is slowly thawing, and EA is by many accounts gaining a new lease on life. Organizations struggling to factor in virtualization, cloud computing, mobility and other shifting IT paradigms are renewing their interest in this practice to help ensure their next IT steps line up seamlessly with business strategy.

 

Lo and behold, one of the most innovative ideas I’ve heard in awhile about how to fund EA is to follow the good old April 15 revenue model brought to you by your dear friends at the Internal Revenue Service: That is, treat it as a “tax” on projects and operational systems. What this means is that all projects and operational systems pay a fee — a tax — as a percentage of their budgets to support EA initiatives, with the EA efforts and resources serving the entire organization. This tax model can work to eliminate EA silos by encouraging a more democratic execution of EA initiatives across the enterprise. However, it runs the risk of irritating folks who’ve paid the “tax” but feel they’ve gotten nothing in return.

 

Another idea that’s making the rounds is to fund EA the same way research and development is funded — in that case, either a business unit or the company at large can supply the investment. Viewing EA as R&D clearly designates the practice as strategic, but may tie EA to a requirement for revenue generation in the same way R&D is.

 

More Traditional Methods Have Their Virtues, and Their Drawbacks

 

These latest ideas accompany the ones that have been around for awhile. Typically EA projects, and their costs, are considered part of the overall IT budget, and generally follow one of these three models:

 

1)    The per-project model. In this scenario, every project that would be impacted, or fall within, the scope of the EA initiative would directly fund the initiative. So, for example, a project involving the IT organization’s audit and security initiatives might itself carve out money for the accompanying EA work.

 

2)    The operations model. In this model, EA is fully funded from the IT operations budget, as an ongoing expense.

 

3)    The capital model. Here, EA is funded as a capital expense in the initial IT budget, indicating that the EA effort is not an ongoing operational expense, but a one-time only expense (at least for that fiscal year). 

 

I covered a couple of these common funding scenarios, and their pros and cons, in our Smart Architect slidecast, 7 Steps to Transform Your Enterprise Architecture Practice. You might want to have a closer look at that, and consider while you’re viewing it these further reflections on the funding scenarios’ positive and negative aspects. For example, per-project funding may signify that EA isn’t viewed as a strategic practice because it doesn’t rate an enterprisewide embrace, and it also makes EA completely dependent on others’ whims about how much funding a team should get. If a project head deems EA as not being critical, or if he or she is trying to save money for other initiatives, the project head may simply cut funding to the EA team. On the other hand, per-project models can enable tighter cost controls and reduce scope creep, which actually is a good thing for the EA team, as it can lead to quick and completely tangible wins.

 

The operational model has benefits largely because it ensures a steady stream of funding, and puts EA in a more strategic, central position to serve the entire organization. With this model, EA teams can focus more easily on architectures that accommodate the entire organization and avoid silo-based EA efforts. On the other hand, funding EA as part of an ongoing operations budget can make EA look like overhead, and we all know what happens when initiatives start to get thought of as overhead. They may (mistakenly) be deemed noncritical and may even get the axe whenever budgets need tightening.

 

With the capital model, EA is funded as a distinct, capitalized expense from the overall IT budget, and so isn’t dependent on ties to specific projects. Here again, as with the operational model, that puts EA in a more strategic place and opens the door to more enterprisewide efforts. Another plus is that it’s less likely to be seen as overhead. On the other hand, this approach makes EA budgeting more dependent on annual performance, and requires yearly justification and renewal approvals. #

 

If I had to choose among these traditional funding entrants, I’d opt for the capital model. I think there’s nothing more important than making IT and operational decisions grounded in business, and business success. Performance should be tied to budget allocations; otherwise spending can be for naught, or get out of control. I’ll give one caveat, though. The capital model requires that you have an organization that isn’t bogged down in red tape and committee after committee after committee review. It requires, that is, an organization that is agile and focused.

 

There are many more pros and cons to each model, and I’m sure there are many more models (feel free to let us know what you’ve seen!). But the takeaway is to think about how your organization handles funding, as the approach can have an impact on EA’s success, and its legacy. While you don’t have control over budgetary decisions, perhaps you can exert some influence by including in your EA proposals not only the recommended budget allotment but the budget model you think works best in your specific circumstances.

 

 

 

 

0

Any organization that’s been around for any length of time — be it 10 years or 10 decades — inevitably confronts change of some fairly significant magnitude. Such is the situation at the IT-ISAC (Information Technology - Information Sharing and Analysis Center), a nonprofit corporation that since 2001 has focused on cyber vulnerability management and on cooperating with national and homeland security efforts to strengthen critical IT infrastructure.

 

Having had the honor of both belonging to this group since its inception and more recently of being elected its president, I now also have the privilege of helping to reboot IT-ISAC for the next decade. That’s a job that will call on enterprise architecture skill sets as much it will on security and communications expertise.

 

Let me explain a little about “what” is changing and the “why” behind it. I’ll start with the latter. It remains important, of course, to understand and address product vulnerabilities. But that’s also a difficult prospect at a cross-organizational collaborative level, considering the risks of disclosure before solutions are available. Not only that, but product vulnerability is just one concern in a world of threats that also includes malware, criminal activity, exploits and other attacks on internal IT environments and the customers they support. Changes in IT service delivery and IT service consumption, including a growing array of mobilized apps, add to corporate risk profiles. And, as cloud computing grows and creates infrastructure vendors from some unexpected sources, so too do the opportunities for threats that may have an impact on these services and their users.

 

Second, while national infrastructure security remains a focus for IT-ISAC, today organizations are interconnected by their reliance on technologies without regard to national borders. We can’t ignore that.

 

In sum, the threat has become more complex while vulnerability disclosure and management processes have become more mature. This is propelling the IT-ISAC to refocus on threats to the cyber infrastructure and individual networks:

 

  • Threats to one entity generally are threats to all, and the net of discussion must widen to encompass more participants in individual companies and more international companies with operations across the globe. To address this, we are creating specific communities of interest from the member population at large so that they can more rapidly share and analyze pertinent threats and act to contain them.
  • A more globally encompassing IT-ISAC also will take steps to ensure that, even as industry-related information will be free to cross national borders, anything related to national security interests will be appropriately controlled.

 

Enterprise Architecture Practices Will Help Drive Change at  the IT-ISAC

 

  • Enterprise architecture’s influence will be a requirement for the IT-ISAC to be successful at sharing information in its new construct, properly organizing it and creating action from it, as we focus to threats, create discussion among smaller and more aligned groups, and expand internationally. To get to the more agile state we envision, we need to re-engage with old constituents and engage with new ones, both within and outside of existing member organizations. We need to build consensus on what communities of interest should address so that we can better drive member value . And we need to make sure that our means for sharing information, as well as for limiting it when called for, operates in fact as much as it does in theory.
  •  

    In other words, we are designing, building, and running a new IT-ISAC. We can talk for hours about what we want the next decade to be, but to effect meaningful change with the highest probable outcome of success requires planning that change and creating mechanisms to enable it. And isn’t the essence of architecture to understand the mission’s larger goals and to build a phased plan to get there — a plan that supports repeatable change as necessary, based on processes and standardized methodologies?

     

    I’m pleased to say there’s great support from the IT-ISAC board for the direction we’re heading. I’m proud to be affiliated with such a luminous group of leaders, which includes some of the most recognized CIOs in the industry. Together we are looking to enhance the strong bonds that already exist among the organization’s members by creating new connections and adding even greater value. As I continue to meet with all our member companies, I look forward to hearing their thoughts on achieving our goals — and to using what I know of enterprise architecture practices to help deliver those outcomes.

    1

    In response to Jennifer Zaino's posting, I have been in an architecture role for a number of years.  The best explanation I have to describe the type of work we do is "changing a culture".  Most of us in architecture understand the fundamentals of systems, processes, and (this may be a stretch) services; at least conceptually.   We'v e been to conferences and classes on the technical aspects of Enterprise Architecture, and can espouse the virtues and steps required to achieve it.  Where we prove our worth and show our value is understanding the behavioral changes that must take place in order to align with the processes required to manage those systems and processes and working with senior managers to come up with a plan to address them.  In my experience, most of the time, these types of "cultural changes"  are dependent on the current maturity level of those processes and systems in terms of their ability to perform or be accountable as a service of IT to the business. 


    Even if IT "gets it right", the business must also be willing and able to dedicate the time and resources required to manage the business and IT to a different level of transparency and accountability that is based on real metrics mapped to process level metrics that are tied to real dollars.

     

    This is why I believe it is truly a "culture change".  All the people in the organization must "get on the same page" and work together to ensure we don't allow existing or old behavior to be applied to new issues and initiatives.  Until the rewards for new behavior catch up to the expectations of enterprise architecture, it is difficult for the architect (enterprise or otherwise) not to come across as the "sounding brass or clanging cymbal".

     

    As Jennifer mentioned, this plays to the personality of the Enterprise Architect.  The successful enterprise architect will be the one that can recognize not just the current and future state of the systems and processes within their organization, but the "next state" for each of the process areas within the adopted management framework.  Once this is understood, and a plan in place to move to that next level,  the gratification of knowing comes from knowing the "next state" is in progress and leading to the future state and vision while recognizing the future state is constantly evolving.

     

    My two cents,

     

     

    0

    I came across two reports in the same day with very different outlooks on enterprise architecture in the U.S. federal government — one with high expectations, and one with some chastened hopes.

     

    Since I always like to start with the bad news, on the theory that a real downer following an adrenaline rush can’t be a good thing for the heart, let’s turn first to a recent report by Stanley B. Gaver of Technology Matters Inc. Entitled “Why Doesn’t the Federal Enterprise Architecture Work?" and available at this blog, the piece was written late last year and has been four years in the making. It is based on research as well as observations about enterprise architecture at six U.S. government agencies. Apparently, the work wasn’t easy for Gaver to write, since he himself believes in EA as a way to correct the duplication and redundancy he saw as a federal IT worker for 30 years.

     

     

    So, what’s wrong with federal EA practices? Gaver points, as reflecting his own work, to an October 2010 Federal CIO Council report citing concerns about the future of federal EA programs which, the report said, are still bedeviled by issues such as a lack of shared understanding and confusion over where EA resides. From there, he goes on to enumerate his specific concerns, including:

     

     

    • Using the term FEA (Federal Enterprise Architecture) models has created massive confusion. Referring to them as such blurs understanding of a simple idea of having five standard taxonomies to categorize investments, performance measures, and IT resources uniformly across the federal government. Additionally, further confusion resulted because few actually knew exactly how the FEA reference models fit into and related to the entire Federal Enterprise Architecture program or that the reference models are not the same as the FEA itself.

     

    • At the agency level, lack of a common enterprise architecture repository model and lack of department-wide integration contributed to producing little of real value. Program management by the Office of Management and Budget (OMB) and compliance activities were time-consuming and confused by complex and subjective assessment criteria. Gaver’s report notes that, “at least until very recently, federal agencies were required to submit two quarterly reports, the Enterprise Architecture Assessment Framework (EAAF) report and the Enterprise Architecture Segment Report (EASR), to OMB to report on the status of their respective Enterprise Architecture programs.” (To that, I’ll add that enterprise architects themselves were known to complain that rather than really leveraging enterprise architecture to improve the mission of an enterprise that touches some 300 million people — the good old U.S. of A. — their work seemed to have become relegated to a compliance-only activity.)

     

    • At the federal level, the Federal Enterprise Architecture Management System (FEAMS) failed, and so failed to serve as the foundation of the entire Federal Enterprise Architecture. Worse yet, Gaver notes, “what also hasn‘t been understood is that FEAMS was actually just one of a series of related but disjointed efforts to collect and integrate EA data” and that all of these efforts focused only on subsets of data that were originally supposed to have been  included in the FEAMS system.

     

     

    I could go on, as Gaver certainly does, pointing out problems. One of them, for instance, is that the regression of EA maturities “should have been a red flag indicating that there were significant underlying problems with the federal EA program.”

     

     

    All Is Not Lost

     

     

    We could use a little good news right now, and Gaver gives us some. He does believe that the federal enterprise architecture can be rehabilitated. What’s required is taking it out of its “swamp of sloppy definitions and misused words, grand definitions of architecture that too often have little or nothing to do with real architecture, and poorly differentiated functionality, all currently lumped indiscriminately under a common and misnamed banner.”

    In spite of its own failures, he says, the Federal Enterprise Architecture program has led to some successes, with some agencies managing and modernizing their IT resources. In addition, a couple of dozen e-government initiatives are what Gaver calls by-products of a key notion of enterprise architecture. 

     

     

    In fact, when it comes to open government, enterprise architecture is setting itself up to fulfill some high hopes. In the second report I referred to, “An Open Government Implementation Model: Moving to Increased Public Engagement” (2011), sponsored by the IBM Center for the Business of Government, authors Gwanhoo Lee of the Kogod School of Business at American University and Young Hoon Kwak at the School of Business at The George Washington University say that establishing enterprise architecture early on is key to successful open government initiatives. Efforts such as the open government portal of the Department of Health and Human Services and the Centers for Medicare and Medicaid Services’ dashboard are leading the way.

     

     

     

    As more sophisticated portals come on line, management complexity also grows, and could inhibit their sustainability, the authors write. They advise: “Agencies need to develop high-level enterprise architecture in the early stages of their open-government implementation and standardize, simplify, and integrate data, tools, systems, and pro­cesses wherever possible.”

     

     

    While EA makes up only a small part of the discussion in this paper, it clearly holds a prominent position in getting agencies from the point of increasing data transparency, to improving open participation and collaboration by citizens, to an era of ubiquitous engagement both through mobile tools and seamless integration of methods, tools and services within and across government agencies. 

     

     

    My conclusion from reading the two reports is that the rehabilitation Gaver speaks of had better start soon if enterprise architecture is to be a strong foundation for broader government efforts. Do you agree?

     

     

    0

    According to Apple’s quarterly reports, more than 74 million iPhones and almost 15 million iPads were sold as of the end of 2010. Google’s Android and RIM’s BlackBerry are close behind in terms of market share, according to Nielsen’s State of the Media report for 2010.

     

    There’s power in those numbers. Smartphone users — which include just about everyone in your company — can’t be ignored when they come clamoring for ever-increased access to more core applications across a broad range of devices.

     

    That means that managing users’ demand for tools to do their jobs more efficiently and while they’re on the go is a huge priority (see related story) . So, in this blog and the next, we’ll explore what you need to be thinking about as it relates to architecting security and management infrastructure for multiple mobile devices; creating efficiencies across multiple platforms; and planning your physical architecture solutions to ensure capacity, clustering, security and so on.

     

     

    Mobile Device Management (MDM)

     

    Your first architectural consideration should be the management and provisioning of mobile devices in and across your enterprise. You need to consider the en masse provisioning of devices (ensuring that proper applications and security settings exist); how applications and updates are distributed to the devices (often via over-the-air distribution); and such other issues as remote monitoring, diagnostics, backup and restore, and asset tracking.

     

    Standards need to be set and enforced regarding which devices will be used and how they will be secured, of course. Each platform has its unique strengths and weaknesses. For instance, Blackberry devices can be managed by Blackberry Enterprise Servers, and Microsoft devices can be managed with ActiveSync. The device's carrier should also be considered during the standards setting process; i.e. what are the monthly costs, limitations, roaming fees, and international plans?

     

    The point is, if the enterprise architect doesn’t set the tone here, IT can forget about actually creating alignment with business goals. All available time will be spent just trying to keep the architect’s head above water as more phones, and ever more-capable ones, too, enter the workspace from a plethora of carriers, manufacturers, and based on a number of technologies Or worse, they’ll be building one-off solutions that don't integrate with the rest of the corporate architecture, usually creating increased security risks and making standardization at a later date more difficult. This can result in costly duplication of effort and conflicting implementations.

     

    MDM software can include many ofthe components for configuring an entire fleet of devices, managing application installs and updates, security settings and even remote OS upgrades. MDM solutions can also allow monitoring, and remotely controlling, devices through over-the-air commands sent as binary short message service (SMS) messages. A typical MDM solution can plug into your architecture as seamlessly as possible, as shown in Fig. 1.

     

    MDMpix.gif

     

    Fig 1. Mobile Device Management Architecture. Illo Credit: Eric Bruno

     

     

    On the left are the mobile devices to be managed remotely. These devices may have management client software installed on them directly, or may be managed with the devices’ built-in features. In the middle are the central components of the MDM system that communicate with the devices via a well-defined and secure protocol — perhaps implemented with binary SMS, or over Microsoft ActiveSync or other proprietary systems like the Blackberry Enterprise Server (BES) solution. The provisioning servers work with your configuration management and release system to handle software releases and updates for in-house software, third-party software, and the OS. The MDM authority interfaces with your existing LDAP systems to manage user rights and controls for the mobile devices and their provisioned software packages.

     

    However, keep in mind that not all mobile platforms expose integration capabilities to third-party applications. For example, Apple’s iOS devices limit what third-party MDM solutions can do to their phones. Some MDM solutions are certified only for specific phones from specific carriers, rather than an operating system.

     

    The Open Mobile Alliance (OMA) has created a device-independent specification and protocol for device management, called the OMA Device Management initiative. It contains formal specifications and protocols for the various pieces in Fig. 1. Most device vendors, including Nokia, Apple, Microsoft and Sony Erickson, have built-in support for device management, many are even implementing the OMA standards. For the others, third- party vendors provide solutions based on the OMA Device Management that can be installed on your devices, Howver, the mechanisms to deliver OMA standards-based policies still vary across devices from different vendors..

     

    Other independent specifications include the OMA's SyncML initiative, which specifically focuses on device and data synchronization. For more on the OMA and its protocols and specifications for device management, read here.

     

    Don’t Let Mobile Device Security Be the Worst of All Worlds

     

    It’s a mixed bag when it comes to securing data on mobile devices and ensuring secure access to the device for your applications. Some mobile platforms, such as Android, offer little security besides what’s present to protect the built-in applications and the kernel itself. In contrast, Apple and RIM specifically provide software and tools to remotely locate, lock and even erase devices if lost or stolen. Thinking ahead about lost devices   should drive the adopting organization to test and implement specific procedures..

     

    Again, the OMA defines protocols as part of its MDM standards that specify secure content exchange, secure remote identification (of devices, applications and users), and user-profile management. But what about secure enterprise data integration? To fully benefit the mobile workforce, devices should enable more than just remote e-mail access. You need to synchronize calendars, contacts and communication with ERP, CRM and other enterprise systems — securely.

     

    In general, you need to guard against unsecured wireless access, mobile malware, unguarded sensitive data on the device, and unauthorized network access. RIM offers the BlackBerry Enterprise Solution, along with its Enterprise Servers, to provide secure access to remote data. This includes device authentication over the carrier’s network, encryption of data sent and received, and digital signatures along the way to identify users and their data.

     

    Device-independent products include CA Technologies’ Mobile Device Management software suite. Besides offering all of the management features mentioned in the previous section (over-the-air provisioning, tracking, software installation and so on), it provides security features such as inventory tracking, device scanning, policy-based identity and configuration, and integration with enterprise client management solutions. Other companies with security solutions include:

     

    • MobileIron: MDM solution for iOS, BlackBerry, Symbian, webOS and Windows Mobile

    • SyncShield: MDM solution for iOS, Symbian, Android and Windows Mobile

    • Microsoft’s System Center: for Windows Mobile and Windows Phone 7 devices, with a Software-as-a-Service      (SaaS) management solution

    • Columbitech: to secure wireless communication over various transport systems

    • Sybase iAnywhere: for secure mobile access to databases, e-mail, as well as on-device data protection

     

    Next time, we’ll look at how your existing enterprise architecture and its implementation may be affected by your mobile workforce’s data usage.

    0

    How are enterprise architects going to enable the business agility that is so critical to enterprises today, as they seek to stare down growing global competition, and harness opportunities to prevail in new markets? The way forward is to tighten up adherence to five critical principles that always have guided — or at least, should have guided — enterprise architecture (EA) efforts. Slackening the reins may seem to be the way to get moving faster, but trust me — that’s only a temporary speed burst. It won’t set you up for the long haul.


    So, let’s look with a fresh eye at some of the key steps to help you soundly respond to growing pressures.


    Improve the Business Case

    Often the best, and quickest, way to meet business needs is to more clearly define those needs in the first place. Spending a little more time up front to better define and communicate the business requirements behind the architecture will result in a more concise solution, and even greater time savings at each step along the way.


    Here, the principles to follow are not unlike those your CIO must adopt to build a business case for any tech investment. A good primer to read is featured here in Smart Enterprise Exchange. Joe Peppard, Professor of Information Systems at the Cranfield University School of Management, explains the importance of improving the process used to build a business case — and doing so makes as much sense for the enterprise architect as it does for the CIO. After all, if the business case is weak or lacking, the architecture may be incomplete.


    An effective process is one that involves a number of factors. For example, a complete cost/benefit analysis outlines all of the benefits to each business goal or need, remembering that these often can be more than monetary returns.


    Another “must” is thoroughly examining the costs and risks associated with each business goal. Also, remember to involve parties ranging from business analysts to key development managers, as their feedback can result in a more refined business-needs analysis. At the same time, make sure to leave room for contrarian views that can be a spur to innovation and better ROI.


    Improve Communication

    IT architecture has little value if it cannot be thoroughly and clearly communicated to business and IT partners.


    So you’ll need to:

    • Document the architecture clearly using standard methodologies and guidelines for the areas you’re architecting. Use Unified Modeling Language (UML), the Open Group’s service-oriented architecture (SOA) ontology, or other methods such as Martin Fowler’s patterns for enterprise architecture (EA) (see Patterns of Enterprise Application Architecture, Addison-Wesley, 2002). It’s fine to combine methodologies, but you should strive for consistency.
    • Allow for two-way communication. Avoid dictating to others what needs to be done, and how. Instead, create a culture and process that’s open to all opinions.
    • Create working groups for key areas, involving all stakeholders in these groups, led by experts.
    • Iterate the architecture through open discussion with the business on one side, and development on the other.  


    Following these guidelines will result in a living, evolving architecture strategy that moves quickly to meet the ever-changing business and technology landscapes.


    Ensure End-to-End Accountability

    An enterprise architect and his/her vision can quickly become irrelevant if he or she is not involved in the end product. Accountability is key for success at all levels and has the following benefits:

    • It ensures that the architectural vision is carried through from definition to implementation.
    • It ensures buy-in along the participant chain, through to development and quality assurance.
    • It creates architecture advocates throughout the organization, increasing the number of people who believe in and communicate the overall vision.
    • It helps the enterprise architect and CTO put their foot down on silos and “out-of-band” development (otherwise known as skunk works).


    Being involved in the development and deployment of the software the architecture defines is the way to ensure that the solution evolves rapidly, and remains relevant to the business. 


    Improve Process Measurement

    The architecture process should be constantly improved via a feedback loop. Past business technology investments should directly indicate the effectiveness of your architecture vision. To ensure this from the beginning, create key quality parameters to measure and analyze the effectiveness of your architecture each step of the way The Open Group's Architecture Review Checklist, for instance, can be a starting point. It covers questions about general architecture issues, as well as specific items, such as application server technology.


    Gauge success of your architecture’s implementation by reviewing :

    • Reliability and availability: Did the resulting system have failover and redundancy designed-in?
    • Security: Were there any security issues in production that can be traced back to the architecture?
    • Modifiability/extensibility/portability: Over time, were development teams able to easily and cheaply extend the system without overhauling or abandoning the original architecture principles?
    • Interoperability: Did you design for the integration with future technologies, systems, and data?


     

    If there were deficiencies in your enterprise applications that can be traced back to flaws or holes in the architecture, defining processes to ensure that future architecture work doesn't repeat the same mistakes will help to optimize those areas in the future.


    Improve Your Digital Literacy

    No one can be expected to know or remember the details of every discipline in a growing world of technology. You should, however, be able to locate, organize and communicate relevant pieces of information quickly and concisely using technology itself as a medium. This involves using hardware (i.e., desktop and mobile devices), as well as software to gather and index the appropriate information. 


    Do this correctly, and you can expect to: 

    • Stay in front of emerging technology, not just the hot topics of the day.
    • Understand what has and hasn’t worked for other companies.
    • Remain a thought leader within the organization. 
    • Have up-to-date knowledge of costs related to hardware and software deployment as part of an architecture (i.e., basic hardware costs, consulting rates, hosting fees, average ROI for investment in particular areas such as integration, SOA, cloud and so on.)   


    I’m going to say it: When it comes to enterprise architecture, be the turtle, not the hare. Take the time to do things right from the start, and the race is yours to win.


    I’d love to hear your thoughts about whether such principles have guided and continue to guide your own efforts. Please feel free to share your comments, ideas and experiences with me and your fellow enterprise architects here. See you next week!


    Eric Bruno is founder and Principal, Allure Technology Inc., which provides enterprises with online business solutions that leverage Internet technologies and approaches that combine simplicity, rich user interfaces, and service-oriented architectures. Eric also is an expert in full lifecycle, large-scale software architecture, design and development for client/server, highly distributed, multitiered Web, real-time and transactional software development environments. He has worked on large-scale systems, and served as technical advisor, chief architect and development team lead on numerous projects in industries including financial services.



    We encourage your feedback. Reach out via the "Contact the Editor" and "Contact the Concierge" services for any needs, questions or comments. We look forward to serving you!

    Paula Klein, Smart Enterprise Exchange Editor
    e-mail

    Ellen Lalier, Smart Enterprise Exchange Concierge
    e-mail
    phone 516-562-5727; fax 516-562-5466