The SUMO Heavy Industries Blog

Design / eCommerce / Business / Culture / Life

Avoid Development Hell: 5 Things to Ask Potential Developers

September 6, 2012 by Bob Brodie

There are thousands of development shops all over the world, with new ones opening each day. They all have different rates, qualifications, certificates, partnerships, etc. Those facts shouldn’t be discounted, but should they be what you determine a long-term partnership on? If you’re the football captain that married the head cheerleader, maybe. If you live in the real world – you’re going to want to know exactly what you’re getting into.

Where is all this coming from? Well, nobody’s perfect. These are things we learned along the way. If you were to hire us, you wouldn’t need to ask, because they’re things we’re passionate about. We’ve been in business for over 2 years, and over that time we’ve had to figure out what tools work well for us and our clients, and what don’t.

Here’s 5 tips to help save you from development hell:

1. Do They Use Code Versioning?

Whether you work with a freelance developer or an agency, this should be the very first question you ask. If a developer is still manually copying files to and from a server, you don’t want to work with them. By not using a code versioning system, so many vital business aspects of your project are lost, such as change history, workflow, rolling back code and accountability.

When it comes to code versioning we use git, and we love it. We have a written git workflow that we follow and, if our clients will be joining development, they follow it as well.

2. How Do They Handle Ticketing?

How are your potential developers organizing their day-to-day work? I can’t express how important accountability is. You need to know who did what, and when. If you can’t see how much time went into a specific feature or issue along with what was changed, something is wrong. There are many systems that make this easy data to track and retrieve. Some are free, some are so not free it’s unbelievable.  Either way, there are options for everyone.

For ticketing, we use most of the Atlassian suite. Tickets go into JIRA / Greenhopper. Times are estimated, and developers add work logs. FishEye parses every commit message and makes sure source code changes are attached to a ticket.

3. What Are Their Standards?

Do your potential developers follow any standards or best practices? Every well-established system has best practices and development standards. Whether it’s a content management system, eCommerce platform, or even a development framework – they all have best practices, and they should be followed. This goes for documentation as well. You’ll want to know that when documenting, your developers are following the standards set forth by their language.

As for standards, we have these written too. They have taken some time to sort out, and in the beginning things were definitely not as solid as they are now. I’ll be the first to admit that because I’m proud of how things are now, and how they’ll be in the future. We follow Zend Framework coding standards and PHPDoc. We also read up on best practices of every system we work with. If any code slips through that doesn’t follow a standard – it’s rejected and fixed. Hey, it happens.

4. What Are Their Qualifications?

This should be used loosely in that – “Is this developer qualified to work on my project?”. Not every developer is certified. Not every developer can afford to be, nor does every developer want to be. A good developer will never, ever, ever, ever be offended if you ask for a code sample. In fact, any good developer should be proud of their accomplishments. If you’re not familiar with the more technical aspects, ask for some documentation on the system or framework they’ll use and how it applies to their sample.

Qualifications – that one’s always tricky. We’ve been in the development world a long time. Before SUMO, our developers (including myself) had jobs at other companies doing eCommerce development. We’d love to show you what we’ve done and how we did it. I’m amazed every day at the quality of the work our developers produce, and our clients can name developers by name.

5. How Will They Show Value?

When you own a business, every second of your time is worth something – to you, your employees, and your customers. Time is not something to be wasted or taken for granted. We all have lives, families, and responsibilities. Nobody wants to be falling asleep at their desk instead of picking their kids up from soccer or cooking dinner with their partner. Make sure that you will have a way to know that what you’re paying for is worth it. Reports are king. Even simple ones.

Recently, we’ve been getting more retainer work. This is much different than project work because instead of just having a timeline, you  have to constantly prove that you’re not wasting time and money. Just because you do what your client wants doesn’t mean you’re awesome. It could simply mean that you’re, well, convincing. While thinking about that, I came across an amazing plugin for JIRA called Tempo. It allows me to see worksheets for everyone, and they’re automatically generated for every ticket updated with time. This allows me to easily get statements for our clients on retainer every week.

 

Take these points and think about them. Don’t ever be afraid to ask questions and for all that is good, please don’t ever go with a developer simply because of their rate. The cheapest isn’t always the worst, and the most expensive isn’t always the best – asking questions is the only way to choose the best team for your project.

 

Bob Brodie is a partner in SUMO Heavy Industries and Head of Technology Experience. Bob likes Magento, Minecraft and plays a mean Bass Guitar. Say hi to Bob at robert@sumoheavy.com.

About 

Businesses need to stay on task – that’s where Robert comes in. Developers and artists often need help understanding each other, and Robert will make sure that your functions and pixels come together to deliver exactly what’s on your mind. Mind reading is a tough job though, so keep those thoughts clean, people.

  • http://lessaccounting.com Allan Branch

    Here’s more for new projects and newbie clients that haven’t run projects before.

    1) Who will register the domain?
    2) Who is in charge of the hosting account?
    3) Do I have access to backups and versioning?

    Here’s what I’ve heard before especially when I was a freelancer doing small sites. “My web designer disappeared and my site is gone. My domain is expired and the web designer registered everything because he said it was easier.”

    • http://www.round3media.com Bob Brodie

      That’s a great one, thanks for adding it! That is something so important for both parties – it should definitely be clear.

  • Jesse Merlin

    Good advice, thanks for sharing.

    There are two things I’d be interesting in hearing more about, maybe in a future post? They are your git workflow, and your pre-commit process for rejecting code that does not adhere to defined standards.

    Thanks again!

  • Pingback: A Look Inside SUMO Heavy's Development Process - SUMO Heavy Industries