Managing technology within an enterprise is no easy task. You have to coordinate among a large number of systems, technologies, organizations, and objectives. With Drupal's clear and present entry into enterprise business, I've been talking a lot lately with organizations looking to move Drupal into their already existing systems landscape. Here are five key things I stress when attempting to make such a move.
1) Consider In House Skill Level
Picking a technology, like Drupal or anything else, can have significant impacts - both negative and positive - on your organizational's ability to support your systems. Consider how you'll be able to ramp up resources, either in-house or externally. Understand that Drupal has a significant learning curve, and that just hiring people that "know PHP" isn't going to cut it.
2) Big Bang Implementation Doesn't Work
Large, enterprise systems need time to be built, or re-built. Don't try to replace everything at once, and don't expect that a vendor - even a really good one - will be able to replace several systems at once just because you have a lot of money to throw their way. Good planning and expectation-setting is crucial. Prioritize your organization's needs and be realistic about costs and timelines.
3) Design Clean Interfaces Between Systems
Don't be tempted to take shortcuts when it comes to integrating multiple systems. Avoid deep linking into systems, and instead build API interface layers around them. This gives you much more flexibility over time about what systems are part of your enterprise. Web services are a smart way to interconnect system components, giving you room to be technology agnostic within those systems.
4) Have Solid Internal Processes
No technology platform can save an organization from bad processes. Don't neglect development and project management processes. If you don't know what configuration management is, you are already behind. Invest in expertise in environment and infrastructure, and have good deployment and control processes. This allows application developers, whether in-house or vendors, to plug in to your organization much more smoothly.
5) Find the Right Technology Partner
Working with a technology partner that knows and understands enterprise development is a must. With the popularity of Drupal sky rocketing over the last couple years, many "site-builders" have hit the streets. For real success in the enterprise, you need a partner that understands your business and all the challenges you face. Experience in systems engineering, infrastructure, and complex technical design is paramount.
While that last one may sound a little self-promotional, it's not meant to be. It's an honest admission that most large businesses and organizations face problems that require way more than just Drupal expertise.