Enterprise Initiatives

This blog focuses on Enterprise IT topics such as Enterprise Architecture, Portfolio Management, Change Management, Business Process Management, and recaps various technology events and news.


There is no shortage of advice on the web of the do's and don'ts for tackling SOA. One topic that I don't see discussed much is the assessment of a company's IT skills as it pertains to the ability of a company to comprehend and actually deliver on the promise of SOA. This is part one of a series that addresses the many skillsets required to deliver a Service-Oriented Architecture.

I have mentioned in the past that companies that have not invested in enterprise architecture may struggle as they shift from software development to software engineering.

Here are the wikipedia definitions of these two terms:

Software development is the translation of a user need or marketing goal into a software product

Software engineering is the application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software.

There is a major difference between the two. Software development is the creation of software regardless of the means used to accomplish the task. Software engineering involves using a defined set of processes, procedures, and standards with the goal of improving the reliability and maintainability of the systems being built. So for companies that don't take a software engineering approach to software development, they may have huge challenges doing SOA with their existing staff. Throughout this series I will make reference to the shift from development to engineering as a key aspect of each skills assessment as I discuss SOA evangelists, architects, developers, testers, and many others.

When kicking off an SOA initiative, companies should perform a readiness assessment to identify areas of concern and create action plans to address them. For this series of posts, I will focus on internal skills in the IT organization.

First and foremost, a SOA Evangelist is critical to the success of any SOA initiative. This person must understand SOA inside and out from the perspective of both IT and the business. From the business standpoint the evangelist must understand the business drivers, the financial impacts and ROI, and can speak to the business in their language. From the technology standpoint, the envangelist must understand all aspects of the archtiecture in order to communicate effectively to developers, testers, security professionals, architects, network and infrastructure personnel, project managers, business and process analysts, and management. The evangelist should promote SOA and importance of governance and should help establish the Center of Excellence (CoE) needed to provide oversight and enforce the principles of software engineering. I have seen and read about several instances where SOA initiatives that were successful quickly turned to chaos upon the departure of the company's evangelist. In one case, the company quickly lost sight of the business drivers and began to debate on technical issues like whether the services should be done in .Net or Java. These are the unfortunate consequences that happen when SOA is left to those who don't have a full understanding of the technical and business benefits of SOA and focus on software development as opposed to software engineering.

Characteristics of an SOA Evangelist
An SOA Evangelist should have strong leadership skills, strong technical or even architecture level skills, should be business savvy, have a grasp on core financial concepts, and be comfortable presenting to people at all levels. On the same day, the evangelist can be expected to discuss key issues with C-level executives and then roll up the sleeves and explain the advantages of the distributed nature of SOA to the technicians. This person can expect to be confronted with various pockets of resistance which is natural for initiatives that introduce new concepts to an organization. Organization change management skills are a necessity for a person in this position. One of the key challenges for a person in this position is to get the staff engaged and give them a sense of ownership. Without this, the staff may look at the the initiative as a pet project of the evangelist instead of what it is, a key initiative for the business. The evangelist will have to lean on the exectuive sponsor and top level management to help with this.

Life without a SOA Evangelist
I feel that without an SOA Evangelist, companies will struggle for a number of reasons. First, having an expert on SOA who spreads the knowledge throughout the organization is much more efficient than having various individuals coming up with their own definitions and perceptions of SOA. An evangelist can brand and market the vision of SOA for the entire company so everyone is talking the same language. Second, the evangelist also bridges the gap between the business and IT and ensures that the technologies being implemented are focused on the business needs and not the needs of IT first. In addition, the evangelist can translate IT speak to business speak and spare the business of technical details that tend to dominate conversations when technicians discuss SOA. But most importantly, there is usually many different silos within both the business and IT that must be brought together to work as one. The evangelist is likely the person who knows enough about each silo (at a high level) to help bring all of these parties together. Without cohesion between the silos the SOA initiative can spiral into chaos.

In my next post I will discuss SOA and the architects.



Below is the presentation that I am giving tomorrow at the SOA Consortium. Today we discussed numerous case studies. In each case, there were major changes within the organization that had to be overcome. In some cases, the business had to standardize their business processes which required them to change the way they think and work. In other cases, developers had to shift their mindset from the way they have always built things to a more service-oriented approach. In several of the government case studies, large organizations with completely different cultures and processes had to work with other government agencies that they have never worked with before. I could go on and on but the common theme in all of these case studies was that change was one of the most challenging parts of the SOA implementations, not the technology. In fact, one initiative took a year and a half just to get 18 different government agencies to agree on a standards, requirements, and data definitions. Talk about change!

Anyways, here is my presentation about change and how to plan and manage it.


SOA & Change
View SlideShare presentation or Upload your own. (tags: soa change)



I frequently discuss SOA with potential clients, fellow architects, and business partners. Each audience requires a discussion that is tailored to the appropriate level of technical and business expertise. Today I had to present to a CEO and a few of his top staffers about what it takes to launch into a SOA initiative. So I put together a presentation similar to the one below and felt like sharing it with all of you.

Before you look at it let me put the discussion into context. The target audience is hi level management, business and IT, who are already bought into SOA and are trying to understand what is involved before they launch into a full blown SOA initiative. This is not a presentation for architects, rather it is to inform C-Level stakeholders what is required from a business, technology, and culture standpoint.

I also had to sell to them that I know what I am talking about, hence the first few slides about my background. One last note: Some of the slides are mostly visual and only get the point across when backed up with talking points.

I hope this adds value to some of you. Enjoy!

Are You Ready For Soa
View SlideShare presentation or Upload your own. (tags: soa governance)



I just had a very frustrating experience with the support folks at Dell. Last year I bought three Dell Inspiron 1721 laptops for my wife and two kids. The performance of these laptops were so poor that I switched two of them to Linux. Today I received a notification that my warranty was expiring in five days. It reminded me how badly I was ripped off having to spend about $250 of the $1000 laptop price on Vista which is not capable of performing at acceptable levels on the hardware that Dell sold me. So I decided to call Dell support to see if I could downgrade to XP or get some discounted pricing on memory (a long shot). After over two hours of being passed around like a hot potato from support person to support person, getting disconnected twice, and in the end getting told that they could not help me, I felt obligated to write Michael Dell a letter. I do not expect him to ever read it or anybody at Dell to act on it, but I do feel obligated to rant about it publicly. This is how loyal customers get treated! So here is my email I sent to Michael Dell titled "An angry customer":


Michael,

I have been a loyal Dell customer for over 10 years and have purchased at least 10 PCs and laptops in that time. I have also recommended Dell to my friends and family for years. Today, that loyalty is gone. Last September, I purchased 3 Inspiron 1721 laptops for my wife and two kids. They all had older model Dell's that were hand me downs each time I treated myself to the newest model. I ordered them online and purchased the low end priced model which fit my budget (about $1K each). I wanted to get Ubuntu but the only OS available for these models was Vista. I didn't think that Vista would run well without a ton of memory, but I figured that if Dell only offers Vista on these laptops, then Vista must have acceptable performance on them.

Within a month, due to delays in parts and shipping, I finally received all three laptops. The performance of these laptops are totally unacceptable. My wife and daughter refused to use these machines and went back to their old Dell's running XP. I became so frustrated with these machines that I wiped them out and put Ubuntu on two of them. They run fine now but I can't run some of the software that my kids use. I eventually bought my wife a Mac and she is a happy camper. My son still has Vista because he plays a game that requires a Microsoft OS. Using his computer is such a painful and time consuming experience.

Yesterday I received a letter from Dell asking me to renew my warranty which is set to expire in 5 days. I thought to myself, "Since I am still under warranty, Dell should still be held accountable for selling me laptops that do not have acceptable performance for the base configuration that I selected online". In other words, Dell is selling laptops to consumers that have unacceptable performance and provide no alternatives for better performing operating systems. I did not have a choice to choose anything other then Vista. So I called support hoping that the company would assist a long time loyal customer by allowing me to exchange my Vista license for XP licenses (downgrade to XP) or give me some discount pricing on memory. Had I known that Dell did not have a $1K laptop that had acceptable performance, I would not have bought any, not to mention three of them.

To make a long story short. I spent over 2 hours on the phone getting transferred from one person to the next. Each time I had to reiterate all of the order information, personal information, and my issue. Each time I asked for a manager and was not granted my wish. At two different times I had a support person agree to send me XP licenses at no cost. Both times they transferred me to technical support (don't ask me why) were I was put on hold and eventually received a busy signal. Then I had to call in again and start the entire process over again. Eventually I was able to talk to manager. Once again I had to go through the entire information gathering exercise and the explain my case. Don't you guys use computers? If I have purchased computers from Dell on your web site for 10 years, don't you already have all of my info including my hardware specs? I am able to see all of this info from my side. Oh, you don't do software!

Anyways, this guy (employee # 110337 with a fake US name called "Dave") basically told me that he can't help me and I have to buy the XP licenses or buy more memory. He says that I should have dealt with this issue when I first bought the laptops, not now. My point is that it is still under warranty so it shouldn't matter. Regardless, it is beyond belief to me that your company would sell computers that do not have enough memory to run Vista at an acceptable performance level and then turn your back on a loyal customer who is stuck with three laptops that nobody wants to use. Nobody who buys a brand new laptop should have to wait over 10 minutes to boot it up. And nobody should have to spend over two hours going through your inefficient customer service processes. I would really appreciate it if your company would allow me to downgrade to XP at no cost. But I have such low expectations from Dell now that I am moving on. I am now a new avid Mac fan!

Cheers,

Mike Kavis

P.S. This sounds like a great topic to blog about!


To successfully lead an IT organization, one must excel in three key areas: Technology, Business, and People.



When attempting to implement enterprise initiatives, those leaders who do not excel in people skills will have some serious challenges. For whatever reason, many IT leaders neglect the "people side of change" (listen to my podcast with ZDNet's Michael Krigsman) and do not address a critical need - Organizational Change Management.


I am a huge fan of Harvard's leadership guru, John Kotter. Kotter has a proven 8-step methodology for leading through change. Here are the steps:



1. Create a Sense of Urgency
2. Pull Together the Guiding Team
3. Develop the Change Vision and Strategy
4. Communicate for Understanding and Buy In
5. Empower Others to Act
6. Produce Short-Term Wins
7. Don’t Let Up
8. Create a New Culture

For more on this topic I recommend his books "Leading Change" , "Our Iceberg is Melting", and also "Change Management: the People Side of Change" by Jeffrey Hiatt and Timothy Creasey.


And remember, now matter how good you do with the technology and business side of the equation, if people resist change your project will more then likely fail.


Startups and Non-profits

Startups and non-profit organizations typically are constrained by limited capital budgets. Startups need to quickly launch their products and services at low costs. Cloud computing allows startups to rapidly deploy into a “leased” infrastructure supplied by a cloud computing vendor without having to procure a ton of hardware, hire system administrators, and build out a data center. In addition, the cloud computing option allows startups to pay as they grow as opposed to having to pay for maximum capacity out of the gates. Startups also have the luxury of starting with a blank sheet of paper as opposed to having to migrate their legacy applications to the cloud.

Many non-profits, like the United Way and Goodwill, are funded by donations. It is in everyone’s best interest that the majority of these donations are used to benefit the people who need help from these organizations. Building large data centers and hiring people to look over them is not a great way to achieve this goal. Instead, non-profits can now move their data centers to the clouds and spend more of its donated funds on worthy causes instead of infrastructure.

Small and Midsize Companies

Small and midsize companies have to stretch modest IT budgets to meet the demands of the business while providing 24x7x365 capable systems. Some of these companies cannot afford to support multiple data centers to protect against disasters and to provide business continuity. Others have a robust main datacenter and a scaled down backup datacenter that would allow the company to limp along for a short period of time if an unfortunate event was to occur. But the bigger challenge is to focus enough resources on revenue generation. The more resources these companies have keeping the lights on, the less demand from the business they can support. These companies often have to make some compromises in technology upgrades, architectural decisions, and infrastructure purchases to allow them to meet the needs of the business. I have worked in a few midsize companies over the years and witnessed this first hand. Every year we were asked to do more with less money and we often had to provide “good enough” solutions because we could not afford to build the level of robustness into the infrastructure and applications that we would have liked.

With cloud computing, small and midsize companies immediately get the benefits of world class infrastructure without having to procure, implement, and administer it. This frees up resources to focus on innovation and business demands. In addition, these companies can leverage multiple datacenters located in different geographical locations to meet their disaster recovery and business continuity needs. As the demand for computing resources increase, staff can add additional servers and disk on the fly by using tools provider by the cloud computing vendor without having to purchase any hardware. They simply just tap into some more computing resources into the cloud and pay for what they use.

Large Companies

Large companies with billion dollar IT budgets do not have a lot of the issues that the startups, non profits, small and midsize companies have. Many of these companies are watching from the sidelines as cloud computing matures, but still think it is too risky to jump in. The large companies that do adopt cloud computing will be gaining competitive advantages over their competition. Here are some of the reasons why.

Going green – Many billion dollar companies are under intense pressure to be more environment friendly. Replacing thousands of servers and other equipment is an extremely expensive and time consuming undertaking. Large companies can start by migrating their non-mission critical applications to the cloud. This allows them to go green quicker, cheaper, and get a chance to “kick the tires” on cloud computing at low risk.

Reduce costs – Energy costs for running hardware and cooling can be greatly reduced by moving applications to the cloud. In addition to reducing the amount of hardware to buy, this could prevent or at least prolong plans to acquire additional floor space, buy additional generators, or install more cooling systems.

Agility – Prototyping is another opportunity for using cloud computing. The business wants things faster from IT. IT can now quickly create a prototype by leveraging virtual infrastructure in the cloud and experiment with various configurations without having to go through long procurement cycles. Cloud computing can also be used to set up and tear down multiple test areas with ease and without having to free up or buy and configure hardware.

Security/Privacy - Large companies’ biggest fear is security and privacy. That is why some cloud computing vendors offer private clouds for their customers. Companies can enjoy all of the benefits of cloud computing within their own private VLAN and configurable firewalls to protect their data and privacy.

Conclusion

Regardless of the size of a company and its IT budget, cloud computing provides many benefits that just cannot be ignored any longer. For startups, non-profits, and small and midsize companies, cloud computing is a no brainer. Large corporations are being cautious right now. It will only take a few key success stories from a competitor who drastically reduces costs and improves its speed to market to get more large companies on board. In the mean time, large companies should look at piloting a non mission critical application in the cloud and continue to monitor the vendors as cloud computing continues to mature.

Subscribe to: Posts (Atom)

My favorite sayings

"If you don't know where you're going, any road will get you there"

"Before you build a better mouse trap, make sure you have some mice"