Sometimes it seems like open source CMSs should "just work." Anyone who's built a site in an open-source CMS knows that that's far from true. They often need quite a bit of tweaking to get the job done. And when your org doesn't have a bottomless budget, how can you can you build the perfect site? In my experience, sometimes budget limitations can make a website better. When you have to be disciplined in your approach, it can help to clarify a project in ways that can make it more stable and more sustainable. Here are five tips for making an open-source web project manageable, affordable and successful.
1. Articulate a mission for your project. What are you trying to accomplish with this new site? If you need to reach those goals with the absolute minimum number of bells and whistles, what does that finished product look like? Start there. Write it down, and use it as a touchstone every time you make a decision. On my most recent project, our mantra was “upgrade and simplify." The goal was better information architecture in the latest version of Drupal with a clean design, pared down so that it can be enhanced in the future. Every time our team felt the allure of a big, fancy module that might solve some problems but would increase the chance of bugs, we went back to this mission statement and asked ourselves if there was a simpler way to do it. As a result, we got a more stable site. Which leads me to...
2. Build closely in alignment with your CMS’ development community. After your site’s built on a budget, chances are it will need to be maintained on a budget, too. The point of a CMS is that you should be able to maintain your site relatively easily long after the people who helped you build it are gone. To help ensure that the maintenance of your new site will be sustainable, stick close to core functionality whenever possible. When you want to add a feature, choose a module or plugin that’s heavily used. Check its bug list, and make sure it’s being actively maintained. If you really need something that’s not in heavy use, have a backup plan. Above all, try not to install anything you really don’t need. Check all desired features against your mission. Keep a wishlist of things you want if and only if there’s extra time and money in the budget. In other words...
3. Simplify. Complexity costs money. Some complexity in a mid- to large-sized site is inevitable, and when it truly serves your site’s mission, it can be a good thing. You can put the budget money toward complexity that’s needed by eliminating places where it’s not. In my most recent project, the org had many different content types in their Drupal 6 site including features, press releases and blog posts. If they ever had a good argument for why there should be so many, they didn’t any more, and the press is now used to the blog format. So they merged those three content types into a big new blog area in their new site, and they created thoughtful, flexible categories and tags to organize the posts. This single river of their most frequently updated content is, in theory, easier for them to maintain and promote via social media. Instead of dividing design and development energy across three different content areas, we poured all our time into building the blog really, really well.
4. Make sure the designer understands what CMS design on a budget means. It’s okay if your designer and builder are not the same person, or are not part of the same firm. They should have some familiarity with the CMS you’ve chosen. Most importantly, things go best when the designer is a good communicator and there’s not a wall between design and development. In my last project, my client org ran each design by me (the front-end developer) before they signed off on it. When I saw too much variance in the designs, I let the designer know he needed to make things more template-like, and he responded beautifully. Advomatic has a great post about designing for a CMS.
5. Expect things to go wrong. Especially when you’re working with the cutting edge (or, in some cases, bleeding edge) of open source, things will go wrong. If you can prepare to be flexible, make compromises where needed, and keep your sense of humor, you’ll end up with a better site, and you’ll probably learn a lot in the process.
For more in-depth minutiae about the project I mention here, check out A Drupal 7 Rebuild for Action Against Hunger.
Photo Credit: Images of Money on Flickr.