Last week, I went to Europe to present our application management products at a field training event. To start off the presentation, I wanted to make an attention grabbing point in order to set the stage for the rest of the discussion, so I cited cases of enterprise application projects that failed spectacularly. If you wonder what those projects were, let's just say they involved software made by a German company, as well as software made by a U.S. company. I tried to maintain balance in my critique.
In everyone of those cases, the project failed not only because of the software involved, but also the organizations and their project management. Common problems were ill defined requirements, lack of testing (functional and load), unrealistic time lines, undersized capacity, lack of operational management discipline, lack of training (developers, administrators, end users) and last but not least, software technical problems (they were software implementation projects after all). The very annoying thing is that these enterprise application project failures were not isolated incidents. They still keep on happening.
In my own opinion, a key part of the problem is that while many organizations aspire to achieve the benefits that enterprise applications provide, they underestimate the amount of “homework” that they need to do to realize those benefits. Technology is only one of the components to consider in the homework assignments. The people and process aspects are equally, if not more important. Together, people, process, and technology form the basis of achieving success in enterprise application projects and they must be managed properly.
Take CRM application as an example. There are proven cases that the use of CRM applications, when implemented as part of a business process re-engineering effort to streamline marketing, sales or services activities, can lead to superior business results. However, those results are predicated on:
the proper business process design
the proper application design to support the business processes effectively
the proper implementation that adheres to the application design
the proper functional testing to make sure that the implementation is done according to the specification
the proper load testing to make sure that the application provides the required response time and scales to projected usage pattern
the proper service level management practices to set operational targets, measure actual service levels, report results, and make improvements so that the application provides the needed service levels required by the business
the proper availability management practices and technologies to ensure that business availability requirements are met
the proper performance management practices to ensure the necessary response time and batch performance to support various business activities and utilizing computing resources effectively
the proper configuration and change management practices to ensures that changes are made with proper impact analysis, control and accountability
the proper security management practices to ensure the confidentiality, integrity, and availability of the application system and the information
the proper data quality management practices to ensure the usefulness of the information
the proper training for developers, administrators and end users so people know how to implement, manage and use the software properly
the proper organization of people and effective communications amongst stakeholders,
the proper alignment of interests of various stakeholders and the organization's goals
the proper management of vendor relationships so tasks are carried out properly by the vendors and the proper support is provided; this is especially critical if contractors are used
and last but not least, the proper governance. Almost everyone of these factors involve getting the right people to do the right thing at the right time using the right tool, and many of these factors are important whether one uses SaaS, hosts the application with an application hosting provider, or runs the application in-house. These are all homework that organizations need to work on if they want to realize the full benefits of deploying enterprise applications.
Oftentimes, these homework do not get done, or they do not get done properly. One reason I believe organizations don't do the proper homework is that they underestimate the complexity of enterprise applications. A friend of mine, who happens to work for an aerospace firm designing rockets, once commented to me that he couldn't figure out why companies have such a hard time implementing business applications. Running an application to store and retrieve some data from the database didn't seem like rocket science to him.
Implementing application is definitely not rocket science. After all, an application is not a rocket, so the science involved should be “application science” instead of rocket science. Even though implementing an application is not rocket science, it doesn't mean it is easy. Getting a cruise missile to hit a target hundreds of miles away is hard, but so is maintaining sub-second response time for 10,000 concurrent call center users, or thousands of students who all try register for classes last minute, or thousands of users on an eCommerce website all trying to buy the on sale item at the peak of the Christmas shopping season. Complexities in enterprise applications exist because of the complexities of the problems that they try to solve. While many vendors, Oracle certainty included, are on a quest to simplify the applications, let's just say it will still be more complex to implement enterprise applications than installing a Nintendo Wii at home for the foreseeable future.
By the way, the complexities and the associated “homework requirement” is not that different from other complex systems. Even something as commonplace as the automobile requires regular maintenance – oil change, tune up, proper tire pressure, etc... – to run smoothly and maintain good gas mileage. Implementing applications without doing the proper homework is like running a car without maintenance. Sooner or later, the application would stop working just like a car would stop working.
It's almost noon as I get to this part of the blog, so I think I am going to head out to grab something to eat. Let me resume this discussion on people, process and technology on my next blog entry.
1 comment:
Great Content! I do not know how I missed your blog until now, but I added your blog to my blog list.
http://businesstransactionmanagement.blogspot.com/
Post a Comment