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.