Skip to main content Skip to footer

Barry O’Kane

Barry O’Kane has been in the web development business since 1999, was partner in a Scottish web agency for 12 years and now runs HappyPorch– a company dedicated to making work and the world a better place.

Listen to the episode

Tune in to find out:


  • Why I believe focusing on long-term relationships is vital for an agency’s success.
  • The reason I believe technology is no longer the problem for agency owners.
  • Why it is important to view each project as a living thing.
  • How a poorly maintained website can grow out of hand.
  • How I split support and maintenance into three different levels.
  • Two big opportunities for agencies that I think really stand out.
Links mentioned in this episode:


"A garden is both alive and a place where we humans enjoy spending time. Great gardens must be planned, created and tended in an understanding and a holistic way." – Barry O’Kane

Barry O’Kane: Hi and welcome to Episode Seven of Season One. Season One is all about the long haul. We look at long term client relationships, recurring revenue, repeat business, referrals and more. Everything that’s vital to building an agency that not only survives but grows.

In this episode I am going to share a little bit of my own story of running an agency for 15 years in Edinburgh and talk a little bit also about why I think gardening is a really good analogy for some of the things we’ve been talking about in Season One.

I had the great pleasure of being partner in a development agency in Edinburgh in Scotland since 2001 to 2015. I worked with some great people, we had some outstanding clients, we did some great work. It was wonderful, wonderful, very educational and very enjoyable experience.

We also had downtimes as well as the up times. And I think one of the lessons that I have taken most from that experience is that right from day one we built the agency almost exclusively on long-term relationships, on building retainer clients on a subscription model for many of our services, and that was fundamental to carrying us through the tough times and hugely contributed to the success of the agency in the long run.

In 2001, that model was much much harder even than today to sell as a services subscription model, and that’s why I’ve enjoyed so many of these discussions here in Season One talking to so many wonderful people so far about all the different aspects of building those long-term relationships, and moving away from the feast and famine cycle.

I wanted to share with you some of the relevant lessons that I learned from all those years of running that amazing agency. And to do that, I am going to use the gardening analogy or the analogy of gardening. However, even before we get on to that, I want to tell you a story.

On the 28th of December in 1978, a United Airlines flight took off from JFK airport bound for Portland, Oregon. Shortly before it was due to land, a warning light went off suggesting an issue with the landing gear, an issue that did not exist.

After delaying landing and carrying out extensive checks, the flight declared its intention to land. However, it never made it. Five minutes out from Portland, the plane ran out of fuel and crash landed with 10 fatalities and 24 serious injuries.

The cause was not a mechanical fault or lack of sufficient fuel to make the journey, but quite simply, an organisational one. After an aircraft investigation, it was declared that the accident was caused by a ‘breakdown in cockpit management and teamwork.’

Now fast forward to January 15, 2009, and another US Airway flight this time lands successfully on the Hudson River after multiple bird strikes caused all engines to fail. No lives were lost and the entire crew were awarded the Master’s Medal of the Guild of Air Pilots and Air Navigators.

The difference is that after the disaster in 1978, all flight crew have to go through what’s colloquially known as Charm School, which is an extensive training on how to work as a team. The quote from one of the investigators was, ‘ladies and gentlemen, the plane is no longer the problem.’

Now the point I’m making is that I believe that for us, technology is no longer the problem, it’s not the problem. We have all the possible tools, CMS’s, development processes, development tooling and all the skills and abilities and technology that we need to do to build outstanding, perfect, wonderful websites every time. It’s how we work, who we work with, how we communicate and how we use those tools that matter.

In particular, too often we view web projects as an isolated linear process. If you view the success of the website just as the start end of a project you are working on, then you’re missing out on the opportunity to have a larger impact on the success of your website, of your clients, and therefore of your own business.

Now obviously I’m talking about viewing that in terms of ongoing support and maintenance and retainers, but I think one point to really think about is the real long-term success of a site starts when it goes live. And that fact needs taken into account right at the start from the specification, from design and build phases, re-designs, support, everything that’s part of the life cycle of a web project.

It’s not enough to be technically or creatively great and up-to-date, we also need to know how to use our skills to benefit clients’ businesses and their unique context. Plus we need to be able to communicate all those complexity with clarity and provide this value in an ongoing basis, either directly or by introducing or using other services as relevant.

Also, it’s too easy to get distracted by the tech or the tools and lose focus on the purpose, which is the business or the goal of the website and of your clients. So that takes me to the gardening analogy.

I maintain that great things happen when you view your website project as a living thing. Not static or a project that is done once and finished.

A garden is both alive and a place where we humans enjoy spending time. Great gardens must be planned, created and tended in an understanding and a holistic way. One that you need to understand the local environment, the soil, the landscape, and the plants to create a great garden. And to me, this is analogous to the technology, the design, the usability, UX, and the other skills that we need.

People then interact with the garden rather than passively watching it like a movie. They spend time in the green spaces, they smell the flowers, they share the experience with all their friends and family and much more. And then, crucially, both the garden and the people are changed by that experience.

If you pack too much into your garden, then there’s no space for people to enjoy. The garden must be designed with people in mind. How will they use the garden? Picnics? Kids playing? How do we want and our clients and people using the garden want to feel and do in the garden? What’s the purpose of it?

And then–this is where the analogy, I believe, really comes in–if you don’t tend your garden in an ongoing basis, then it will grow wild and not have the impact you wanted. So image a beautiful botanic gardens. If it’s completely left untended for a long time, then the weeds start to grow, the beds lose their shape, everything loses control, and grass grows, and the rubbish builds up. So it becomes a less pleasant place for people to spend time and to enjoy the flowers and the plants, which is what the purpose of the botanic gardens was in the first place.

Conversely, if you randomly start as a gardener putting in new beds and planting new things and arbitrarily digging up one thing and placing it over here and removing a little bit without thinking about the context of where that plant goes, about thinking about things like the seasons, you end up with something that just becomes disjointed and is no longer fit for it’s purposes, is no longer the well planned, beautiful botanic gardens that was intended in the first place.

For me that’s the analogy, bringing it back to web development in that a website project that is built once and then left untended becomes a weedy mess and very quickly becomes disconnected and no longer relevant to the users. And a website that is maintained badly or a bit thrown in now here and there without thinking about the purpose or randomly updating a template and changing a design, very quickly becomes a disjointed mess. Difficult to maintain technically and less useful for the users and less impactful for your clients.

Now for me everyone involved needs to understand this. So that’s the web team, freelancers, the agency, your agency team, developers, UI design, content, project managers, and the client and the website owners and those investing, the stakeholders in the website itself.

As web professionals, it is our responsibility to not only understand this holistic context of our projects–and how we can use our skills to really pose impact to our clients’ business–but also to explain all that to them. For me using an analogy like this is a very visual way to explain, for example, why a web project is not like print design and how important ongoing maintenance and support is important.

Even when we feel that this kind of thinking is obvious or that we understand these things and it doesn’t need explaining, very often by really clarifying and using a simple analogy, fun little analogies like this, can help to explain this to the client and to the users and to the other stakeholders involved. And thus allowing you to move the project forward in a way that you actually can add an additional value using the skills, using the team and using the experience that you have. And thus the question is not how do I maintain the website or how do I support the website? But rather how do we continue to enjoy the benefits of this garden?

So moving on from the gardening analogy, let’s talk a little bit about support and maintenance specifically. I split these types of services into three different levels:

Maintenance, which is the equivalent of keeping the weeds down. Reactive, which for me is the equivalent of maybe coping with the weather or things changing that we have no control over. And the third one is proactive, which for me is about can be analogous to growing a better garden.

Examples of maintenance may be things like security scans, backups, plugin updates, monitoring for uptime and dealing with broken links, basically the ongoing weeding for keeping the website just alive and breathing.

Reactive, on the other hand, are things like bug fixes, maybe some small changes, disaster recovery, maybe helping the editor with questions like ‘how do I do this in the CMS?’, maybe dealing with things like webmaster tools alerts. These are the things that as a support team come to you and you need to respond to.

Then the third level is proactive. So this is when you as the support team provide value over and above just sitting and waiting for things to come to you. So that might include things like keeping up-to-date with technology, new browsers and so on. It might mean keeping up-to-date with marketing changes and changes in the marketplace. It might be spotting opportunities–it might be working with the client to understand their marketing goals and to actually spot opportunities where the website can complement above and beyond what they’ve realised, the goals that they are aiming for.

That takes me back to talking about working together. The ongoing success of a web project is about more than a good project at the start and updating plugins and maintenance, although that’s vital to you. It’s about pulling together the whole picture on an ongoing basis.

Then the last little lesson or point that I would like to share with you is that throughout all of this and throughout many of the other episodes we’ve had so far in Season One, something that keeps coming back is that structure, process and communication matter. They don’t matter just in terms of making our job easier and helping us to work together, but they matter in that it makes us better able to produce more quality results. To help our clients more. To achieve the end goal more.

And it’s hard. It’s hard to be technically good, consistently communicate well, manage all the ups and downs, and the tough clients and the tough conversations that need happen, and still provide that consistent, open structured communicated process to focusing on the value of the outcome.

So just looking a little bit then at out three levels and thinking about that, for me, one of the sort of structure and process that we can think about is how we approach each of those levels– maintenance, reactive and proactive–and how we make them more efficient, how we communicate them and how we build processes around that.

So as an example, maintenance for me is about automating or efficiency of the service. So automating things like monitoring, automating backups, automating alerts when something happens. Systemising things that maybe happen consistently, systemising or automating testing, and all these kinds of things to stabilise and build yourself a good platform where the maintenance of a site can happen consistently with low input. I don’t mean low quality input. I mean not wasting a lot of time on inefficient tasks or repetitive tasks. That allows and creates space for providing a valuable maintenance service that creates space then to move on to providing more value in the other two levels.

And the reactive level–I often see in great success in a lot of the sort of productised services in this space–things like small bug fixes, and changes, and content management, and monitoring, and all of the things that are reactive in the support service. I advocate quite strongly on not saying we do a generic, one-size-fits-all reactive support service, but by really clearly defining and maybe breaking that down into several different chunks and different types of reactive services. But again, efficiency of process and clarity of communication and managing clients’ expectations are key to the success of that level of support service.

And now that we have all those pieces in place, we now have more space within the team, more time and more budget to think about the proactive. To think about the growth and success of our clients’ websites and therefore of our teams by providing more strategic, more proactive ongoing support services that allow our clients’ businesses to be more successful, and that success to cycle around and come back to all of us as well.

One of the things that you hear sometimes is about the commoditisation of web development or parts of the web industry, and I think that’s true in many aspects. If we look at the amazing quality of the tooling and the templating and the other things that are coming out and kind of pushing the bottom of the web development industry upwards, and challenging many agencies and many of us web professionals to provide more value above and beyond the basics.

For me though that’s not a challenge, that’s an opportunity. We’re allowed to move away from worrying about some of the details and some of the things that can be automated or systematised and really structured. And instead really think about, ‘I’ve got a team or we’ve got an agency or I’ve got skills that can really impact the client. What’s the value that we can give and spot the opportunities.’

Two of the opportunities that I think that standout as a result of this: one is the recurring, providing ongoing value and building a business and structure and services around ongoing success of your clients’ websites. Growth-driven design is an excellent format or structure for this kind of approach and, pretty much everything that we’ve been discussing in Season One is about that–touches on that in some way.

The second opportunity though that I see is a result of this kind of thinking though is specialisation. So they often present specialisation or focus, or market focus, as a marketing tool, as a tool to build your business which is completely true but as differentiator. To me it’s also an opportunity for technical success, for quality, for the creative output that we want to do or that we’re capable of doing–both as web professionals, as individuals, and also as agencies and teams.

By specializing and becoming even better at a smaller number of focused valuable skills or products, that allows us to exceed, and grow, and extend our success in that area. And then to partner with and team with either other organisations or other individuals, or to build multiple teams within one organisation, and to use the synergy that we get from specialists working together for a much more successful output. And by successful, I mean every way that you might consider that word: financial success, business success, personal success and happiness because we’re able to spend more time working on the things that we’re good at and that we enjoy and providing more value.

Instead of these things being a threat, these things are an opportunity for us as web professionals, and as web design and development agencies.

And that is the end of Episode Seven. As I said, I pulled out some of those little stories and examples and lessons from 15 years of running an agency, specifically around the idea of retainers and building long-term client relationships and the recurring revenue side of things.

I hope you enjoyed it!