Survey of Surveys on IT Spend for 2009

Craig Roth posted his analysis in which he combines a multiple sources to come up with the Survey of Surveys on IT spend for 2009. You can see his article below and in his post entitled, "2009 IT Spending". 

We are currently doing research into how IT organizations are approaching communication, collaboration, and content management needs in a recessionary environment.  Since many of the technologies in this area don’t seem to be needed to keep the lights on or invoice customers, they have the potential to bear the brunt of the axe when cost cutting occurs. 

To start my research I wanted to find out what the forecasts were for IT spending this year.  Burton Group doesn’t do forecasting, so I used a survey of surveys approach to come to an unscientific consensus of spending (over- and under-weighting forecasts based on my read of their methodology and applicability to our target of large enterprises).  The results are shown below.

Consensus IT spending 2009

I think it’s fair to say there is a slight increase in IT spending expected for large enterprises, but this will be much lower than in previous years (perhaps lower than any year since the IT revolution).  It’s also fair to say that the increase will mostly be in developing economies, while the G7 is close to flat.

Some important comments are worth noting:

1. In some cases the difference in the forecasts is simply a difference in the underlying assumptions about the economy.  For example, Forrester said: “‘Our forecast for 2009 rests on the assumptions that the economic recession in the US and other major economies will start to end in the second half of 2009,’ explained Andrew Bartels, a vice president and the principal analyst at Forrester.”

2. Analysts and CIOs may not be thinking of the same definition of “IT spending”. To analysts, IT spending generally equals “sales”. For example, Goldman Sachs equates spending to hardware+software+services+networking. But to CIOs, they think in terms of IT budgets which include spending on internal employees, not just sales.  Most of these estimates are for spending “on” IT, not “by” IT, since they are targeted at IT vendors and service providers.  Some include consumer spending (The Economist and, from what I could discern of the wording, IDC).  Estimates may include telecom and networking.  The few estimates I could find that specified “budgets” (including internal employees) instead of “spending” forecasted flat (Computer Economics) or practically flat (+0.16% from Gartner) change over 2008.

3. Your results may differ.  There are strong differences by geography (emerging markets are predicted to do better than the U.S. and developed economies), locale (Michigan vs. total U.S. spending, Spain vs. Europe), and industry (government and healthcare are expected to lead the spending pack).

4. This year, forecasts must be fresh.  Usually the analysts publish estimates around September and that’s it for the year.  But this year, like lemmings, all the forecasts followed each other off the cliff sometime around September as they revised their estimates downward.  For example, Gartner revised downward from 5.8% to 2.3% and Forrester revised from +6.1% to -3%.  In general, the consensus forecasts pre-Sept ‘08 were about +3% compared to those starting with the October revisions.

Sources for recent forecasts: Computer EconomicsEconomist Intelligence UnitForrester(and here), Gartner and here), Goldman Sachs (full survey requires registration), IDC (andhere).


CIO Priorities for 2009

The following is review of the top CIO priorities for 2009 as published by CIOInsight ( This is what over 220 IT executives have indicated as their top priorities. We analyse some of the trends for the year and provide some commentary and context.

Table of CIO Priorities

Below is a table of the data presented.

2009 Compared to 2008

The chart below provides a comparison of the priorities in 2009 versus those in 2008.

The top priorities include: Improving Alignment with Business Objectives; Improving Business Processes; Delivering Better Customer Service; Cutting Costs; Reducing ROI Costs; Improving IT Planning Processes; Creating or Improving Strategic Applications. These are largely internally focused on improving operations and keeping costs down. Customer service is a critical area as consumers will generally seek better value. During tough economic times, companies can differentiate themselves through better service and gain market share.

Areas that indicate a change from last year is the increased priorities in terms of cutting cost and reducing ROI costs. Contributing to creating new business strategies has been lowered in terms of priority as these tend to require capital expenditure and increases the number of projects undertaken. Consolidating and standardizing IT infrastructure is also another cost cutting initiative. Increasing revenue from new and existing customers is another area that has become a higher priority in 2009.

Priorities based on Turnover

The chart below provides a comparison of the priorities in 2009 for companies with an annual revenue below $500 Million versus enterprises where the turnover is $500 Million or over.

Companies with a turnover of over $500 Million are focusing more on improving the ROI on IT spend. Cutting cost and reducing ROI cost are also a higher priority. Compliance with regulatory requirements is likely a higher priority for large and publicly listed enterprises.

Companies with a turnover of less than $500 Million are focusing more IT security and continuity, discovering and deploying innovative new technologies, generating revenue and improving capability to deliver systems.


The Open Group Offers Enterprise Architecture Tool

Capgemini will release and donated an enterprise architecture tool called the TOGAF Customizer. The goal is to assist enterprises in the implementation of enterprise architecture with the TOGAF framework. The Open Group hopes that offering a tool will assist in making TOGAF 9 more actionable.

Donated by Capgemini, the TOGAF Customizer tool is a free, open source technology based on the Eclipse Process Framework.

Unfortunately, while this is useful to the Java community it is an example of siloed non-enterprise thinking. The challenge here is that most enterprises have both Java and .Net development teams. This is compounded by industry forecasts that application development will increase from $7.7 billion in 2009 to more than $9.6 billion in 2012. Both Microsoft and Java have very large roles to play. While .Net has trailed Java we are seeing data that suggests .Net surpassing Java in key markets, emerging markets is one of those according to Gartner (Market Trends: Application Development, Worldwide, 2008-2013).

There should be coverage or planned coverage for the two mainstream enterprise development languages. By excluding one, you effectively diminish your EA program efforts. I would suggest that the Open Group sponsors efforts to create compatibility of some sorts to the Visual Studio platform.

As for other potential challenges I see this as way too low level and IT centric (since it snaps to Eclipse). Since it is so tightly coupled to the development world I wonder how well this tool will align to the Business and EA worlds.

TOGAF Customizer

Plugging into the Eclipse IDE, the tool contains TOGAF 9 content in a structured and editable form, including guidelines and checklists as well as materials accommodating the Architecture Development Method in the framework. Users also can use the tool to integrate TOGAF with other enterprise architecture frameworks such as Zachman.

The tool is a desktop client that publishes HTML output that can be edited; it will generate a Web site for user reference.

Specific features of the tool include:

  • Constructs and tasks to enable processes to be defined with related content such as outputs, inputs and roles.
  • A supporting editor to make changes to the standard framework.
  • A content management system for group collaboration, editing and versioning.
  • A plug-in architecture for adding content packages such as document templates.

Tags: , ,

Microsoft Manufacturing Toolkit, based on BizTalk & SQL Server

Mahesh Punyamurthula provides us details on the new Microsoft Manufacturing Toolkit. This is a project that came to fruition after nearly a year worth of effort. The release is really exciting for me as I was the Program Manager/Developer Evangelist for the project (my first at Microsoft), driving the efforts from the Global Partner Technical Team, within Developer & Platform Evangelism (DPE) Division at Microsoft. The Toolkit is based on BizTalk and SQL Server.

The Microsoft Manufacturing Toolkit is a set of guidance documentation and working code samples that demonstrate the use of the Microsoft platform to build publish/subscribe (“pub/sub”), services-based architectures utilizing open standards for broad industry implementation. The toolkit focuses on the MIMOSA and OPC/OPC-UA organization specifications, and the working code samples demonstrate scenarios that might be implemented in a manufacturing environment. The design of the toolkit is flexible and built on service oriented architecture (SOA) allowing it to be expanded to cover more standards than the ones covered now in the future.

Read More:

Microsoft ESB Toolkit

Microsoft recently released what was formally the ESB Guidance 1.0 and 2.0 is now officially called The BizTalk ESB Toolkit 2.0. There are no real fundamental shifts in the approach or direction on it but rather a better name from a marketing perspective. See the vague statement on why there was a name change:

With the release of the BizTalk ESB Toolkit 2.0 and the associated renaming from “ESB Guidance,” the goal is to provide the toolkit as a BizTalk Server 2009 value-add with a better support model that results in a broader customer adoption. This will hopefully help customers develop mature ESB implementations that will be ready for enterprise-wide deployments.

Atul Gupta post on BizTalk as an ESB provides a great reference point for looking at ESB’s. While his analysis doesn’t identify gaps in detail he provides high level analysis that the latest version of the ESB guidance passes the sniff test to be a true ESB.

Introducing the Biztalk ESB Toolkit 2.0

The BizTalk ESB Toolkit 2.0 is a collection of tools and libraries that extend BizTalk Server 2009 capabilities of supporting a loosely coupled and dynamic messaging architecture. It functions as middleware that provides tools for rapid mediation between services and their consumers. Enabling maximum flexibility at run time, the BizTalk ESB Toolkit 2.0 simplifies loosely coupled composition of service endpoints and management of service interactions.

The BizTalk ESB Toolkit 2.0 provides key building blocks that are required for implementing a comprehensive SOI including:

  • Endpoint run-time discovery and virtualization. The service consumer does not need to be aware of the service provider location and endpoint details; a new or modified service provider can be added to the ESB, without interruptions to the service consumer.
  • Loosely coupled service composition. The service provider and service consumer do not need to be aware of service interaction style.
  • Dynamic message transformation and translation.The mapping definition between distinct message structure and semantics is resolved at run time.
  • Dynamic routing. Run-time content-based, itinerary-based, or context-based message routing.
  • Centralized exception management. Exception management framework, services, and infrastructure elements that make it possible to create, repair, resubmit, and compensate fault messages that service consumers or BizTalk components submit.
  • Quality of service. An asynchronous publish/subscribe engine resolves different levels of service availability and provides high availability, scalability, and message traceability for ESB implementations.
  • Protocol transformation. Providing the ability for service provider and service consumer to interact via different protocols including WS-* standards for Web Services. For example, a service provider can send an HTTP Web Service request, which will result in sending a message via Message Queuing.
  • Extensibility. Provides multiple extensibility points to extend functionality for endpoint discovery, message routing, and additional BizTalk Server adapters for run time and design time.

Note: BizTalk ESB Toolkit 2.0 only works with BizTalk Server 2009.

Microsoft’s Position on ESB

An Enterprise Service Bus (ESB) is an architectural pattern and a key enabler in implementing the infrastructure for a service-oriented architecture (SOA). Real-world experience has demonstrated that an ESB is only one of many components required to build a comprehensive service-oriented infrastructure (SOI). The term "ESB" has various interpretations in the market, which have evolved over time; however, the basic challenge it addresses is the same.

Namely, the increasing adoption of SOA and the proliferation of Web services have revealed an ever growing need to provide a managed layer between services and their consumers. There must be support for interaction between heterogeneous services and interfaces that might be mismatched, or that might change over time.

An ESB addresses such integration problems in a way that maximizes the re-use of services and that maintains the flexibility to easily change the solution.


  1. Download the BizTalk ESB Toolkit 2.0
  2. Download BizTalk ESB Toolkit 2.0 documentation
  3. View BizTalk ESB Toolkit 2.0 documentation
  4. ESB Toolkit Forum
  5. .NET Rocks! – Dmitri Ossipov on Enterprise Service Bus
  6. Codeplex ESB – ESB overview, PowerPoint presentation, and webcast
  7. Building Lightweight Processes Using BizTalk Server 2009 and ESB 2.0 Toolkit

Tags: , ,

Microsoft Enterprise Library 5.0

The Microsoft patterns & practices team is gearing up for development on the next release of Enterprise Library, Enterprise Library 5.0. There are some key architectural changes and new blocks available. Since we are still in early release they are asking for your input.

For those not familiar with the Enterprise Library (EntLib) see the description and link below:

The Microsoft Enterprise Library is a collection of reusable software components (application blocks) designed to assist software developers with common enterprise development challenges. Application blocks are a type of guidance; they are provided as source code plus documentation that can be used "as is," extended, or modified by developers to use on complex, enterprise-level line-of-business development projects.

The Doublemint Twins

Enterprise Library 4.0 (and 4.1) actually had two ways of locating and building object for its various blocks: through static factories or through a Unity dependency injection container.

Actually, having two approaches to building up objects in Enterprise Library 4.0 was intentional. Honest. Really. I mean it. While it may seem a bit odd, this was an intermediate step to moving entirely to a container approach for Enterprise Library.

This move is important for a number of reasons (and not just because we also wrote the Unity container). First, this is important because the static factory approach does not work well for those people who use containers in their applications and want to be able to get Enterprise Library objects from their container. Second, it is important because the instance factories in Enterprise Library 4.0 are handling things that containers are designed to handle, such as lifetime, location, and object creation. It doesn’t make sense to build and maintain these specifically for Enterprise Library.

Enterprise Library 4.0 took a step towards the container world by providing an approach to

configuring a Unity container with the appropriate Enterprise Library pieces. However, this means that you generally want to use either the static factory approach or the container approach, because objects created in one approach do not work with objects in another approach. We were really maintaining two sets of objects and building strategies (that is, the approach to building up those objects in case we need to rebuild them).

As the final step towards moving to using a single container, we now have the static/instance factories that rely on the same container that you could configure independently.

So you can use the static factories, instance factories, or the container and they will all work together.

While this sounds easy, plugging container B into slot A is not as straightforward as you might think. To start with, Enterprise Library 4.0 relied on many ObjectBuilder internals to build objects and frequently would apply configuration during object creation:

We wanted to use the containers in a more traditional way, namely by providing the configuration ahead of time and then using the container to resolve objects, so now we configure the container the first time something needs to be resolved:

After the container has been configured, the EnterpriseLibraryContainer will directly reference the UnityContainer.

Why Can’t We All Just Get Along?

Aside from making the Enterprise Library story a bit cleaner, moving to a container-based approach has another benefit; it makes it easier to provide support for other containers to work with Enterprise Library. By default, the EnterpriseLibraryContainer provides EnterpriseLibrary objects through a UnityContainer but it does so through the IServiceLocator interface provided by the Common Service Locator project. The Common Service Locator was a join effort of thought leaders and key contributors representing various containers (including Unity, Spring.NET, Castle/Windsor, MEF, StructureMap, Ninject).

The IServiceLocator serves as a plug point for Enterprise Library to work with a container other than Unity. The IServiceLocator only deals with how to acquire object instance, we also needed a way to let a container know how it should be configured to support Enterprise Library without letting Enterprise Library know anything about a specific container. We provide this configuration information in a container agnostic way through a set of TypeRegistrations. Generally, a type registration will contain information about how a type should be built (what constructors and parameter values to use, whether to create them as a singleton or instance each time, and what properties to set on the type). Here’s a typical type registration:

1: new TypeRegistration<Database>(
2: () => new SqlDatabase(
3: ConnectionString,
4: Container.Resolved<IDataInstrumentationProvider>(Name)))
5: {
6: Name = Name,
7: Lifetime = TypeRegistrationLifetime.Transient
8: };
Type registrations are specified as expression trees as it makes them a bit easier to read and they tend to work better when refactoring code. The above registration can basically be interpreted as ‘register a type Database named Name that is mapped to a new instance each time of type SqlDatabase and use the constructor that takes a ConnectionString and an IDataInstrumentationProvider (oh, and by the way, can you pretty please resolve that from the container too?)’.

These registrations are processed by a configurator that knows how to apply them to a specific container. Enterprise Library provides a UnityContainerConfigurator, but you can use any other IContainerConfigurator. The general configuration process looks like this:

Configuring Enterprise Library, given a configuration source and a container configurator can be done like this:

1: var configurator = new UnityContainerConfigurator(Container);
3: EnterpriseLibraryContainer.ConfigureContainer(
4: configurator,
5: configurationSource);

Hopefully this gives you a little deeper understanding of the motivation and content for recent changes in Enterprise Library. In future posts, I hope to go into a bit more depth around how we find type registrations and some of the cleanup we did around instrumentation.

Application Blocks

Do you want to see new application blocks, bug fixes, new application block providers? Currently there are the following application blocks:

Data Access Application Block
Logging Application Block
Validation Application Block
Security Application Block
Caching Application Block
Exception Handling Application Block
Cryptography Application Block
Policy Injection Application Block
Unity Application Block

Any of those application blocks not work as expected and/or do not integrate with particular technologies of interest? Perhaps one of the application blocks needs more functionality or you have an idea for a new application block?

Now is the time to get your voices heard as this time only comes around once a year and the year can feel like a very long time 😉 You have a $100 to spend on how you want patterns & practices to focus their time on Enterprise Library 5.0 so think about your priorities and leave a comment on Grigori’s blog here.

Tags: , ,

MEGA Adapting to Economic Times, Implements Try before you Buy

An interesting move from MEGA where they have created what they call the EA Pilot Program. Essentially they are providing the a shrink wrapped EA package of consulting and the MEGA software suite (how much of it is TBD) to enterprises that want to kick start their EA efforts. 

This isn’t only a great idea for MEGA to get their foot in the door, but I think it can also be a good thing for enterprises as well. Here are some of my initial thoughts on the benefits for enterprises.

  • Takes the Proof of Concept (POC) activities to the next level
  • Provides a very real deadline to motivate architects to use the tool and generate results
  • Can leverage the "try before you buy" model with a much smaller cost, time and risk footprint
  • Will be able to get in front of cultural, people and maturity issues with a pilot. Such as:

    • Can provide a baseline to see if the enterprise has an appetite for an EA Tool. If so you can continue. If not, you have some great data points that you can carry forward through another toolset.
    • Will gain a better understanding of the tool that can drive out better requirements for the actual rollout to the enterprise.
  • Provides a hosted solution that will speed up implementation time of the tool so architects can get started right away

See press release below:

London – June 10, 2009 – MEGA, the company that provides enterprise architecture (EA) and business process analysis (BPA) software solutions, is launching an EA Pilot Package to provide a fast start to EA and other IT-related projects.

The EA Pilot Package is offered in the UK. It consists of a six-month license rental of the MEGA Modeling Suite, plus ten days of consultancy services for a fixed price of £12,500. It will benefit enterprise architects, IT directors, and other IT professionals engaged in EA strategy, IT and business alignment, IT planning, application portfolio management, process optimisation, and SOA development.

"Today, businesses are experiencing many changes and are increasingly cost sensitive. This special program can help enterprises jump start an EA initiative to consolidate assets and plan for the future," said Ludovic Relandeau, Vice President, UK Operations, MEGA. "The EA Pilot Package is a low-cost way to help them quickly gain the benefits of MEGA’s industry-leading modelling and analysis solution."

MEGA is the industry’s foremost expert on EA. The company was named by Forrester as a leader in its 2009 report, The Forrester Wave™: Business Process Analysis, Enterprise Architecture (EA) Tools, and IT Planning, Q1 2009. The MEGA Modeling Suite offers a unique, comprehensive solution that encompasses all dimensions of EA, from strategy and business modelling to IT systems design and data modelling.

The EA Pilot Package includes all administrative and product modules in the MEGA Modeling Suite. Details on these can be viewed on the MEGA web site.

MEGA’s consultancy services are based on nearly twenty years of expertise in EA and BPA. The ten days of services included in the EA Pilot Package cover training and support, project-focused mentoring, assistance with standards and preferences set-up, pragmatic approaches to configuration and project specifications, and the sharing of best practices.

A fully hosted option is available to help eliminate any local infrastructure impact or cost. In addition, any permanent licenses purchased within a year of the conclusion of the rental phase will benefit from a 25% discount off list price.

The EA Pilot Package is being launched today at the Enterprise Architecture Conference Europe 2009 (EAC) where MEGA is exhibiting, and will be available until 31 July 2009. For more information, visit the EA Pilot Package web site.

Read More:

Tags: ,