1
Oct

Your project will evolve. Even if it doesn’t.

There has never been a single product I worked on that has not evolved in a way. Not one. Once a product gets used, the clients will notice things; be it something they thought they didn’t want, something that does not work as expected, or simply new needs that arise once a product has streamlined the client’s production.

Even very simple products evolve

I worked on the PuzzleAxe website, and to this day there have been three revisions — three! And there is barely anything, it’s a one pager. At first, I was asked to keep it simple: simple HTML, simple CSS, simple Javascript. I decided against it and built the first version with Symfony2 and SASS, which ended up being worth it since soon after I started, they asked if I could add a contact form. Without really worrying about it, I answered I could, and within the hour it was done. Symfony2 is a really complete framework and allowed me to implement such a form really easily. Great!

The current PuzzleAxe website

The current PuzzleAxe website

I since left Trinome and they changed it to be basic HTML and CSS since they don’t really have a web developer anymore. They also added a second language since then, and this to me is interesting. They had to duplicate the website and translate it, which I admit is not the end of the world, but this means they now have two websites to maintain. What if you change a background image? You have to change it for both websites. Text change? Double the work. Bug in the Javascript? Bug fix it twice. Had they kept Symfony2, nothing would have been duplicated. I’m trying to make sure this post is not technical in nature, so I won’t dig too much into the details, but believe me when I say using such a tool really helps in reducing redundancy, which in turn means an easier product to manage and update.

Now, I’m not criticizing their decision to switch to a simpler architecture; having no dedicated web developer means they don’t have someone who finds it easy to play around with “heavier” tools. What I am trying to illustrate is the evolution of the project (getting a contact form and a second language), and how my decision to use more complex tools than were needed at first paid off (with the contact form mainly). I knew the tools well enough that it probably took me less time to build the website than if I had used more a more basic setup, and adding the contact form when asked for it was a simple matter of minutes. Well, an hour, but you get the idea.

Alright, enough with PuzzleAxe!

The reason I’m writing this is because clients will often tell us: “Don’t worry about it, this won’t change much. Just get it out quick and dirty, and it’ll be fine”. I was told some variation of this when asked to build PuzzleAxe. Did it change? It did. Was it relatively complex features? Yes! You can argue that it wasn’t too bad doing the contact form and translation the simple way, and you would be right, but the product now requires double the attention whenever a change happens.

Ultimately though, PuzzleAxe will be fine, but consider this: it was a very small project and it effectively evolved twice, now think about your business’ website. Right now you don’t, but maybe one day you would like to display your promotions, or even manage them yourself. What if your business ends up selling its products online, it would be great to have a storefront on your own website and not only on eBay. At first, all you wanted was a website to have an online presence, but now that clients are arriving through it you realize: “I want something to bring in even more clients to my website and guide them better”.

This is why…

Long term development is costly

There is and always will be two types of development agencies; those who build products and those who build relationships. None is inherently worse than the other, but the goals and needs are very different and need to be accounted for. Let’s go over what both those do.

Building a product

The main goal here is to create the website, put it online, follow-up with the client to make sure everything is alright, and be done with it. This allows for a quicker development, hence cheaper, but with the downside being the finished product is limited. You won’t as easily be able to ask for something to be added on the resulting website. However, it’s a very good solution when building promotional websites like Toyota’s Tundra Interactive Backyard. I have no insider info, but if I was a betting man I’d say it didn’t cost them that much, and was ready within a reasonable time frame. I would also bet that they are “stuck” with the website as it is, though, and that’s fine. Sometimes that’s what you need.

It kind of sounds like I’m saying a product won’t evolve though. Would I have lied to you in my title (how dare I)? Not really. The product will want to evolve, new needs will arise, but seeing as it’s oftentimes destined to die out within a year… meh. Those needs can be ignored more easily.

Building a relationship

This is what you want whenever you’re looking for something that will last a long time, a good example here being your company’s website. I won’t lie, the initial costs are higher whenever you’re doing business with this kind of developer, however it does mean you will be ready to have your product evolve right alongside your business. There is no way you can know what your website will need in a year; the web is a fluctuating media, the users change quickly, just look at the number of social media that appear every year. Or maybe you know what it will need, this kind of development allows for what we call staged releases: meaning we build the website now, and maybe add the online store you want 6 months later. You get online faster and it’s easier to focus on one aspect of a website at a time.

I say this is building a relationship because even though the product is important, what will hopefully happen here is you and the developer you’re doing business with, will have many back and forth communications, slowly but surely making your website better as time goes on, which in turn will bring in more business for you. Ultimately, that’s the goal here.

I feel like I need to make one thing clear here: This has nothing to do with talent/competence/professionalism. Whether you focus on building products or relationship, is simply a matter of what you like doing. Neither is inherently bad, they just target different needs.

In conclusion, it will evolve, but…

Maybe we don’t care. Like I said, it depends. I do, however, think it’s very important to realize: any product will evolve. No doubt about it. The question becomes: How important is it for you to be able to easily act on those new needs?