For the past few years I have done consulting work for digital agencies. I have worked with agencies from California, DC and Chicago performing roles from Front End Developer to Project Architect. Some of the agencies I have worked with really have their s**t together and it shows. Others not so much, and it also shows! Here is some advice for those agencies.
It is easy to spot an agency that does not have their s**t together. These agencies are typically going over budget on every digital project but they can’t put their finger on exactly why it happens. The sites these agencies produce are also buggy which makes it hard for them to grow and scale their business. It is hard to scale when you have to spend your time and resources fixing things on old projects.
The purpose of this article is to shed some light on some of the things that agencies on the good side of the “S**t Together Spectrum” are doing. The STS agencies if you will.
Standardize The Way You Write Code
You should not be able to distinguish who wrote the code simply by looking at it.
Programmers, just like any other writer, have their own style of writing code. The whole spaces v. tabs thing is a good example. The debate is a matter of style and preference. But regardless of which style you [the agency] prefer the point is that all your programmers should follow the same standard. This promotes consistency and consistency makes it easier for multiple developers to work on the same logic. Just like CNN or The New York Times have a general “voice”, all your programmers should write code in a similar manner – using the same style and standards.
When I hire programmers at Photon.Software I always make sure they learn our coding standards before they work on any project. It is important that they follow our coding standards without exception. When code is written in a standardized manner it is easier to maintain, hence easier to scale. This is especially the case with languages like PHP that can be written in so many styles.
Get Your Developer Involved From The Beginning
Every agency that does this is able to maintain a level of transparency and responsiveness with their client that other agencies simply can’t beat. It is one thing for a “digital” agency to answer a tech question with “we’ll get back to you on that”. A completely different dynamic takes place when the agency has a subject matter expert in the room who can provide an answer on the spot.
Including the developer that will be working on the project from the first meeting allows him/her to understand the project and the client. But more importantly, it gives the developer an opportunity to set expectations as to what can be done within budget.
If you are not including your developer in meetings from the beginning, start doing it, you will see a difference!
If you don’t have a developer in house to include in every meeting I would love to chat! Let’s get some coffee.
What’s Your Process?
Do you have a clearly defined process to build software? Without a clearly defined process it is basically impossible to scale code. I already mentioned coding standards but process is as important. Without a clear process it is impossible to track a projects cycle and gauge where the project stands.
Stay Away From PSD Files
Communication between design and dev is crucial for the project to be successful. This includes handing off design files. As a matter of fact I would say that a hand off tool is the most important thing for your dev and design team to use religiously. A hand off tool can also tracks and build your style guide.
Using a hand off toollike Zeplin or Invision increases productivity and reduces inconsistencies. You do not have to emailing a PSD file again. It allows the designer to export his/her design directly from Photoshop or Sketch while the developer can extract code and easily, measure space around elements and more.