Of course, this doesn’t mean we always have to settle for an “it can’t be done” mentality. By leveraging existing modules, tools and applications, we can often meet the goals of an ambitious project while still meeting its deadline and budget. This month, I’d like to examine some of the pros and cons of taking a buy or build approach within your web development project.
The most essential phase of any project is the planning phase. In our August 2008 newsletter, How Much (Work) is a Website? A Lot!, I wrote:
“any web development project should be planned well in advance to ensure that the goals, scope, budget and timeline are appropriate and achievable.”
This of course seems obvious, but it is one thing to know what you want and quite another to know what you actually can do!
The planning process is the appropriate time to identify what the immediate non-negotiables are for your project – that functionality which is a “must” – and determine if costs and/or time can be saved by tracking down and using existing tools rather than replicating them on your own. Imagine, for example, how much any development budget would have to increase in order to replicate the functionality of Google Maps. Thankfully, Google provides a free API so that you can leverage the power of their mapping tool rather than trying to build your own. What’s in it for Google? They get to “own” the mapping space. What’s in it for you? You don’t have to spend the millions of dollars that Google spent building this tool, nor the millions of dollars they’re likely spend maintaining it. I think it’s safe to say that Google will probably be around as long as your project needs them to be.
If some of your “must haves” cannot be provided by a third party, it’s worth asking if they can wait- especially if they are, at least initially, cost prohibitive. We often end up having fairly specific conversations detailing the “Phase 2” of a project before we’ve even began the development for the first phase. In fact, a really good strategic planning process should include mapping out the long term future of your project, not just the road to its initial launch. Trust me, if you’ve ever spoken with Mark O’Brien, our President, you’ll know that he loves talking about Phase 2!
Using LinkedIn, I recently asked the following question (see below) about the ‘buy or build’ issue:
Among the replies I received, the best came from one of our developers, Nolan Caudill. One of his initial comments essentially touched upon what I wrote about when I mentioned using Google Maps:
“With grabbing a third-party app, especially with open source projects, you are leveraging the expertise and testing abilities of people that you don’t have to pay. And with popular open-source projects, you probably have had hundreds to thousands of people testing the software and fixing bugs. That’s huge.”
He’s right- huge is definitely the right word. Huge, as in the multitude of developers out there refining the tool you’ve adopted, and in terms of the time and cash you save by not assembling a team to build it yourself. Nolan went on to touch on another aspect of adopting a third-party application or tool that is probably even more important than the initial considerations I’ve noted so far:
“Another big issue is maintenance. Building the software may only take a month, but you’re going to support it for much longer. So whenever discussions arise about building software, the phrase should always be turned into ‘building and maintaining’ software. That almost always puts the software in a different light. If it’s proprietary and you have a bug, you have to fix it. If you want a new feature, you have to build it. If a client has a question, you have to answer it. Also, you have the ominous software “bus factor.” What if your lead developer got hit by a bus, or more likely, changed jobs? “
All great points. The bottom line is that when adopting a solidly developed application, you aren’t just getting something that enables you to check a requirement off your list, you’re also getting the benefit of an entire team’s expertise and effort, both initially and long-term.
So far, the “buy” approach is looking pretty good, but it’s not always going to be the right choice. Many of our clients have particular functionality requirements that are extremely specific to how they do business. In many cases, the types of business logic needed might actually require us to build some functionality from scratch that is similar to something already out there but not customizable in the way we need it to be. I’ll note some examples a bit later that will help to clarify this point.
We used the GoogleMaps API to integrate maps into the search tool on Weekendsetc.com. Because the site is intended to be an easily searchable trip planning resource, the map element is critical to the user experience. However, if we had tried to replicate the functionality, we would have needed significantly more time and resources than we actually had, and would probably have ended up with something inferior to what Google provides anyway.
Several of our clients have began to use Wufoo.com to build forms for their websites. The advantage to using this service is that they can customize the fields of their forms on their own, and then change them as they need to without having to consult with us. The Wufoo forms pick up the visual styling of the website and fit in seamlessly on the page. This is great for basic information-gathering forms, though more complex forms that need to be integrated with other content on the website or any other data reporting that we do within the content management system would be beyond the scope of Wufoo.
Also, some clients are using PollDaddy.com to assemble simple polls and surveys and plug them in to their website. Like Wufoo, PollDaddy allows you to customize your poll or survey as well as change its fields as needed. Again, this wouldn’t be a good choice for sites that need to integrate or report on the user response data with other content on the website, but for simple applications, it’s a great cost-saver.
There are several open-source content management systems available now that many developers are using frequently rather than building their own. While our projects are built around our own NewfangledCMS, which we customize for each project, we’re looking at starting to use WordPress for smaller projects this year.
When building a new ecommerce website for SwissArmyKnife.com, the client had a need to be able to customize mouse-over labels on their product photography that would be integrated with product attributes already separated in the database. While creating image maps is a pretty basic process using html, and is built-in to consumer tools like Dreamweaver, we had to replicate this functionality in order to ensure that the labels would not be redundant (see screenshot below). One improvement our developers made was to enable the user to draw complex shapes for the hot spots, rather than limiting them to rectangular areas. (For more detail on this project, read my blog post from September, 2008.)
Many of our clients have made blogging a central part of their content strategy (for more on this, see our newsletter from September, 2008, Is it Time to Start a Blog?). While there are many free blogging tools available, including WordPress, Blogger, and TypePad, we have also created our own blog tool that is integrated with our CMS. This allows for a seamless relationship between various content types on a site and the blog articles, not to mention avoiding having to install and maintain two different content management systems for one site. Of course, in principle, blogs could have been listed under examples of using third-party applications, too.
Our previous newsletter was all about doing video on the web, so I won’t go into much detail here. Video is becoming a much more important aspect of content strategy for many of our clients. Among them, some have opted to use free tools like YouTube, Vimeo or Viddler. However, many need a custom application in order to ensure that the video content is related closely with other content, such as specific products or services, as well as to more seamlessly integrate the player itself within the site’s design.
The above list could go on infinitely, really, because for the most part, all of our projects tend to have some sort of custom development. What varies is the scale and complexity of the functionality. In fact, the principle behind our proprietary NewfangledCMS is that it is customizable down to even the screen used to edit content so that the site can be as effective to the user and owner as possible.
If you weren’t too budget conscious before, surely you will be in 2009- for obvious reasons. Every dollar you include in your web budget will be scrutinized. Thankfully, using third-party applications can be an effective way of keeping costs low without sacrificing functionality that is essential to your web project. Just make sure that you use your planning phase strategically to ask the right questions and prioritize appropriately so that when you do choose to integrate an outside application, you choose the right one.