Friday, February 16, 2007

A Brief History

So while we are eagerly awaiting to get rolling with the RoR rewrite, we are fleshing out our development environments now, I thought I would give a brief history of our web development. Some of our current problems, and some of the things we hope Rails will resolve.

I've been with the company over 6 years now. When I got here we did not have a web site. Our first corporate site was Java, deployed about 5 years ago; all development was done overseas. No one liked the look and feel of it. 1 year later contractors were brought in house to redesign it and add some additional functionality. It was in production for about 6 months when a new director of application development was hired. He was a .NET guy. So that, combined with the daily reboots of the web servers that were needed to keep the site running, led to the decision to go .NET. He brought in new contractors to change the architecture. I was added to the team of contractors a few weeks before the launch of version 3 of our corporate site. Version 3 finally gave us a decent OO and SOA architecture.

That's when the fun began. All of a sudden, we turned into a huge growth company. We have quadrupled revenues in the last 3 years, and we plan to grow another 2.5 times in the next 2-3 years. With that growth has come the need for more development. What started as a single corporate site just 2 years ago, has turned into a family of 9 sites. Many of these sites share similar, if not identical functionality, a few are content only. An OO/SOA architecture should lend itself well to development like this. The problem is, as is all too common, time. The time lines we were given didn't allow us to design and implement the proper, integrated solution. "I don't care if the code is just copied, just don't miss the deadline." How heartbreaking is it to hear that from a top executive, but it's a fact of life. So we broke the code off and rebranded. To make matters worse, different teams of contractors were brought in to work on different sites. So those 9 sites are in 6 distinct code bases in 3 different SCMs. You can imagine the maintenance nightmare.

So how do we plan to solve this? Consolidation of code and work effort is an obvious start, but that's just re-leveling. Once we consolidate, then what? The timelines aren't getting any longer. In 3 years we'll be back here again. We just can't develop fast enough. Now that we do have a consolidated, full-time web team, led by yours truly, it's time to step back and attack this from a new front. Rails to the rescue. RoR is absolutely the quickest way to develop for the web. We intend for Rails to give us the edge we need in time, to design and develop the way we know it should, and still make our deadlines. If you're reading this, then I'm sure I'm preaching to the choir.

Wednesday, February 14, 2007

Innaugural Post

It starts with a need. Too many corporate websites deployed as copies of earlier sites. Too many changes between copies, maintenance is a nightmare. Functionality changes between versions make fixes complicated. Costs for creating new sites are high. We need a change.

Change requires courage and vision. Our team has the courage, our brand new CIO Anil Kottoor has the vision. So we made a proposal: Convert our aging .Net web platform to a Ruby on Rails implementation. Convert our multiple deployments into one codebase. Move from compiles & deploys for content changes to true Enterprise Content Management with workflow. We know we're just like many medium sized corporations out there. We know because we've all been at many other medium sized corporations with just the same problems.

The vision requires scalability. We get 6 million hits on our 10 corporate domains each month. That isn't much compared to some, but it's enough to cause our IIS servers some grief if we don't have well written code.

I've created this blog and invited my web team to join me in sharing our journey with you. Our posts may be sporadic or infrequent, or they could be stacked up like cordwood when we have major breakthroughs. We're getting the chance to live the dream of nearly ever web developer out there : we are creating our web vision from scratch and on the platform of our choosing.
We know just how lucky we are to have this chance and we're going to do it right.

Strategically we're not able to release any information that will give our competitors an edge. We probably won't even mention our industry. We certainly won't mention our company's name. But we're hoping you'll enjoy hearing about the ride. We're really happy to be in the position we're in.