Software development firm interview: Teknision

Today marks our fourth round of interviews on the blog, this time with software development firms. First in this new series is Teknision, based in Ottawa, Ontario, Canada. In this interview, I speak to the company’s President, Gabor Vida.

Teknision logo

When and how was Teknision started?

Teknision was founded in 2001 by our Creative Director, Steve Mackenzie and our CTO, Tony MacDonell. Steve and Tony had both worked in interactive agencies previously and believed that a small creative shop focused on Flash based design and development could take advantage of a growing demand for a more dynamic and engaging user experience.

Meeting In Progress

Are the services and technologies you provided at the start the same as you offer now?

Our current services are definitely different from the services we offered when starting Teknision.

At the beginning, Teknision’s mission was to build innovative Flash based sites for brands we admire. We grew our client base to a strong mix of advertising agencies and brand managers that included some great names such as Sony, Kellogg’s, Namco, and Burton.

What we began to notice is that we enjoyed some projects more than others. While marketing focused sites are a lot of fun to build, their nature as a component of an advertising campaign makes them very temporary. Projects that involved creating applications that provide some form of value, however, had an enduring permanence.

This started our shift towards becoming an application development company. We now focus entirely on application development and no longer create games or marketing driven destination sites.

Our focus on application development has also allowed us to expand our technologies to embrace everything from social media development platforms to mobile devices.

Work Pen

What have you found to be most effective in marketing Teknision?

Word of mouth is definitely our most effective form of marketing. It’s also the easiest to grow. We focus on making sure we keep our clients happy and to genuinely be helpful in the development community.

Several of your staff contribute to InsideRIA. Has this been helpful in generating more awareness of Teknision?

InsideRIA is an excellent site and fantastic community that we are proud to be a part of. Being involved with InsideRIA has definitely increased awareness of Teknision. You can see a direct correlation between articles in InsideRIA and hits to our site. Involvement in such a dynamic community definitely has it’s benefits, but it’s not a passive activity.

If you look at our activity, we were really involved at first and then became less involved when we had to stretch our resources between community involvement and client work. I think in the past year we have been a bit too heads down in our work and need to re-new our efforts in outreach, which means more involvement with InsideRIA.

What tools do you use to manage projects, track bugs and handle feature requests?

The vast majority of our work is done at a distance and we sometimes never meet a client face to face so clear communication is extremely important. We use the typical tools such as Basecamp to manage major decision making, email and instant messaging to manage day to day messaging, Adobe Connect or Skype for team meetings and Adminitrack for bug tracking.

Honestly the most important tool is the telephone. You can’t have too much communication, anything can be solved by talking about it and nothing has the immediacy of a phone call.

Pen Stations

How would you describe the development process at Teknision: agile, iterative, waterfall or your own custom brew?

Our process used to be definitely waterfall. In fact, it was really a carry over of the graphic design process which involved brainstorming, creating comps with multiple versions, presenting concepts, revising concepts and then developing. Unfortunately this process is far too stifling for application development, especially when you are building the type of applications where an entertaining look and feel is as essential as the functionality. In order to accomplish this, you can’t do all the thinking up front.

Now the Teknision process is sort of a customized agile scrum based development - I know that sounds really vague.

Patio

We still have an initial strategy/planning phase, but it’s focused more on bootstrapping the project then on being comprehensive documents - it’s more of a scaffolding. Let’s be honest, “strategy” and “estimates” are nice words for best guesses. All you can do at the beginning of a project is make decisions based on our experience - we can draw from our experience to guide us in making technological decisions and we can start to put together what we believe will be a compelling user interface. The key is understanding that you don’t really know you got it right until you try it out.

This means that as soon as possible, we move into development and development is always quick sprints with the goal of creating deliverable software. At the end of every sprint, the application has to be able to do something. The “something” is planned in the scrum, and all “somethings” have to be done within a sprint. User experience design and strategy is also done within sprints.  In this way, interfaces can grow organically and we can spot programming roadblocks ahead of time.

This, of course, requires some heavy involvement with our clients. Clients are usually a couple of releases behind so that they are involved enough to make decisions on what functionality should get implemented first. Clients also get a real sense of when they will be able to release their software.

Board Room

Now for a dose of reality: while we find that this process yields the best software, it can easily be hampered the real world constraints of our client’s budgets.

Some clients, usually funded start-ups that use us for product development, find great success with this process. Yet many projects are often limited by budget and time; clients need something by a certain date and under a certain cost. In this case, the goal is to remember that quality and user experience cannot be sacrificed so the only thing that can be taken off the table is functionality.

What percentage of your projects are new, start-from scratch compared to updates or additions to an existing application? Of the two types, which do you prefer and why?

Roughly half of our projects are new. By “new” I mean that we either get in right at the ground floor and become a client’s user experience team and build out the beta version of their product or we create a new extension of a client’s existing services.

Sometimes we create a new major release of a product, this usually happens when a client wants a complete overhaul of their user experience and it ends up being a lot like starting from scratch. The rest are updates and extensions of previous projects. Of these, the vast majority are existing clients. We are very rarely asked to do minor updates to existing applications.

Employee Prints

I prefer the updates and extensions to projects with existing clients. What ends up happening is that somewhere in the development of the first project, the teams gel. Our team and the client’s team become one.

We often spend hundreds of hours on a client project and when you commit that much of your energy to something, you get a real sense of ownership. By the end of a project, not only do we really understand a client’s business, but we really want them to succeed and we often have a bunch of ideas as to how we can grow their business.

Follow-up on projects then becomes a mix of added functionality the client needs and had planned for, and new ideas we bring to the table that sometimes take the client by surprise. That’s where the fun is. Plus, from a business standpoint, all the investment into sales and marketing is done - we have established a position of trust and working together is easy.

What are some important business lessons you’ve learned since starting Teknision?

I have definitely learned a lot.

Honesty, and integrity are essential and egos are useless and ugly.

Being a service based company requires adopting a certain mindset that is sometimes a bit uncomfortable. As a business owner, your first instinct to to cast a big net and eagerly jump at a chance to do work for a client. The problem is that if you do anything for anyone, then really you are heading down the road where the only thing you can compete on is price. Thats a very downhill road.

Instead, you have to build expertise. Expertise is not ability, it’s domain knowledge. Teknision definitely has the ability to build web sites or games, but we have domain knowledge in building applications. Even application development is too broad a domain, but it’s a start.

I have to make sure we nurture and grow our expertise, which means that if a large client came to us with a wheelbarrow of cash to create a web site, I’d have to say No (on a side note - the power of the word “No” is amazing. Anyone can say Yes. It’s easy. People only really start taking you seriously when to start saying NO to them).

Pen

Also, the fit of the relationship is incredibly important. It is essential that your client’s see you are someone who prescribes solutions to their problems and not an order taker that works from a list of requirements.

If you are seen as an order taker, you are not being paid for your expertise. If you are not being paid for your expertise, you are replaceable. Any clients that see you as an order taker need to be replaced. Once you are seen as an order taker you will never be seen otherwise.

One person I highly recommend is Blair Enns and his Win Without Pitching program. It’s designed for marketing agencies, but it mostly applies to any service based company like ours.

Comments

I love the look of the office environment. Cool idea of putting the fingerprint portraits on the wall. Are they of all your employees or clients?

The artwork collage is made up of their employees’ fingerprints. In fact, Teknision is whom I first learned about DNA11 from and consequently ordered a print for my own office.

I really appreciated the last section talking about becoming a company that “prescribes solutions”, rather than being an “order taker”. I think that’s a great way to explain how a software company should be and should be viewed.  Virtually anyone can build an application for a client, but building something that people love to use and elegantly solves the problem is what truly differentiates software companies.

Add comments

Commenting is not available in this weblog entry.