Image via WikipediaThe idea of Web 2.0 has been around for a few years now (as early as 2004). I imagine like many other IT professionals, you have been "bandying about" the term in meetings. Have have you taken the time to address Web 2.0 internally? Have you thought about the future of computing and has your organization adjusted accordingly?
Here is a quick primer/defintion. Web 2.0 apps facilitate interactive information sharing, interoperability, user centered-design and collaboraton. They are socially networked, mobile-accessed, quick to deploy, and highly interactive. Web 2.0 is also about how people use and build these applications. A typical Web 2.0 app can go from thought to deployment in less than a month... Sometimes less than a week, often undergoing many iterations.
Are you really set up for that? Really?
Here are some questions you can ask yourself to see how web 2.0 ready you are:
A. Am I expanding my data center? If your answer is Yes, then all I have to say is "Really?"... With advances in virtualization, and hardware infrastructure to deploy blades and other server farms, you should be getting 5 to ten times the computing power per square foot than you did 5 years ago. Add a little environmental private cloud scheduling capability, and your return could be 20 times when you stop maintaining underutilized resources. Continue reading.
B. Can my application development team request and deploy to a new environment in less than a day? If your app team is in constant battles with your infrastructure team to get access to environments... well, you are behind the power curve. Private cloud real-time scheduling and deploying environments is a reality today. Tools exist to do this real time. Building out your private cloud should be a priority in 2011, including developing Private Cloud policy administration.
C. Is your ratio of .NET or Java developers to Ruby on Rails, SalesForce or MOSS greater than 10 to 1, 20 to 1 or even Infinite? Not good if you said yes to this one... You're not ready. You may have the desire to work in a Web 2.0 world, you just don't have the right tools. Another good way to check whether you are up to date on your tools is calculate your BA to Dev ratios. If the ratios are even, you are doing a great job. If the numbers are 1:5 or more (ba:dev), chances are you are trying to make things happen with more difficult technology than you need to today.
D. Do you have an endpoint architect on staff? Mobile computing is a reality today, and the wiser companies are transforming the way they do business, by putting in a mobility strategy in place that allows their workforce to do business when/however they choose.
The IT landscape is changing. Here are some practices to put into play to better meet the needs of your business and effectively compete in tomorrow's computing world.
1. Let go of applications that aren't critical to your business. IT doesn't have to control everything. And quite frankly, if an application isn't critical to contributing to your company's profit, you really ought to hand it right back to the department that wants it (it matters to them). Give them a budget, an off the shelf SaaS solution and have an SI deploy it in the cloud. Stop worrying about it, and focus on what matters... believe me, the SI will be able to provide it for less than you can. And, any headcount deployed on a non-critical app is one that could have been working on a critical one. This isn't worth fretting about.
2. Get on the cloud. Develop your strategy for what belongs on the public cloud, and what should go on a private cloud. On average, it takes an infrastructure team no less than a month to procure, setup and deploy an environment today. If there is no budget for a new environment, the dealings that occur between infrastructure and development teams to get access to an environment is a complete waste of time. That is simply unacceptable today. The goal here is to minimize/eliminate the need for development teams to even talk to infrastructure teams. Deployments should be "1 command line" executions by application teams to private or public cloud resources. Response and build out should take minutes. Infrastructure teams should focus on building internal farms and setting policy for the development team's scheduling of environments. As for the public cloud, you should already have a deal with Amazon, Google or Microsoft's Azure services in place. Today, this problem is VERY solveable.
3. Make the internal skills shift. Take some of those Java and .NET developers and put them on Sharepoint, Sales Force and Ruby on Rails projects. Deployments on these platforms are muchquicker than Java or .NET. Ruby on Rails, or even PERL, are open source standards that deploy under any operating system, and have hundreds of packages (modules) available for anything your heart desires.. oh yeah, and they're free.
4. Move to a highly collaborative methodology like Agile. Prioritize what's important, mock it up in a prototype and iterate through it numerous times, then quickly deliver it. Get dedicated users to buy-in. There is no excuse for not being able to deliver and deploy code monthly if you like, and you can certainly push the envelope to weekly with the right tools. It's just going to be a bit more challenging if you're going to do it in Java or .Net.
In summary, the landscape is changing for IT. On the one hand, the things that aren't critical to the bottom line should be let go of and handed off to skilled SI's and SaaS providers. Deploying to the cloud is critical (both private and public) and is instrumental to your ability to meet ever growing demands of the business and time to market. Your application development teams should be better enabled to deliver quickly with tools that allow them to deploy on various platforms. Investigate public cloud Platform as a Service (PaaS) offerings. You'll be surprised with what you can get for very little or nothing to start. Your infrastructure team should become effective by essentially becoming invisible and work on establishing farms and setting user policy for private cloud access.
Finally, develop applications that are highly social, interactive, and accessible. Develop a true mobile strategy that includes deployment to Androids and Ipads. Use SI's to coach and mentor your development group, but recognize that this isn't a "one-off thing." This is it.... This is the future... We're here and you need to be there as well!
How effectively has your organization dealt with the move to 2.0? I'd like to know.