Janeiro Digital builds software for organizations whose business success depends upon the quality of the online experiences they deliver, the interactions they enable, and the image they project
“The worst form of inequality is to try to make unequal things equal”
Smart man, that Aristotle. What does this have to do with Progressive Development? A lot - because no two development firms are the same, and the good ones are few and far between. We’ve put an inordinate amount of effort into assembling and choosing our remote teams, because the truth is, the success of any project (technology or otherwise), is directly related to the team’s ability to execute. Put in simpler terms; bad teams have crap results.
Choosing an outside team for a development project without vetting them first is a lot like buying a used car from a guy in a parking lot. It might run well for the first couple of months, but sooner or later, its going to break down. You’ll end up stuck in the middle of nowhere, with no option but to buy another one from some other guy. At this point it will have cost you twice as much, and have taken you twice as long to get where you’re going (assuming you ever get there).
Since you’re reading this post, you most likely have more than a passing interest in using a progressive hybrid or pure offshore development team. If you’re ever going to find yourself in a position of picking one (be it us or someone else), I encourage you to take advantage of our experience and read on. We’ve kissed some toads in the past and learned a few things in the process.
Firms are better than teams of individuals. Believe me. Communication, trust, and familiarity among team members are essential elements to a development project. This is pretty hard when they’re scattered around the world, and they all speak different native languages. Are there situations where this can work? Sure. But I wouldn’t bet my job on it.
You get what you pay for. Using a pure off-shore or (even better) a progressive hybrid solution is already going to save you a lot of money over traditional on-shore firms or in house talent. Don’t poke the bear. A good firm is going to invest money in training their employees (technology and language), take better care of them through benefits, and provide ample vacation time, good workspaces, and solid infrastructure. As a result, a good firm is never going to be priced as absurdly low as a guy with a laptop in an internet cafe and a PHP for Dummies book in his backpack. But, what good is a cheap solution that’s going to take twice as long and deliver something half as good? You’ll pay for the difference and more, in one way or the other. Don’t be penny-wise and pound foolish.
Everyone says they’re agile. Few actually practice it. Even fewer are good at it. Its not uncommon for a firm to tell you that they employ agile methods, then live and die by the waterfall methodology, which is a recipe for disaster. Being good at agile doesn’t happen by accident. Every team leader on our remote teams is a certified scrum master, and every project that we do is fully agile. We’re constantly learning and refining our process, sprint by sprint. If a firm says “we can use agile development if you’d like us to”, then they’re just trying to make you happy. You’re either agile or you’re not. It’s that simple.
Watch out for one night stands. You want firms that are looking to forge a long term working relationship. There are plenty of firms out there that will do anything they can to win your business (whether they’re qualified to take on the project or not), squeeze you as much as they can, and then leave you with a mess on your hands. A good firm will spend enough time up front making sure that the relationship is a good fit. They’ll ensure that they have the skillsets that you need in house, and that they’re well-equipped to meet your needs in the event that you’ll need to scale up and add more resources.
Evaluate the business. Where there’s good leadership, management, and success, there will be productive and happy teams. Just because a team has all of the skillsets you’re looking for, doesn’t mean that the team members are going to stick around. Attrition of your team members can be a big problem – firms going belly up can be an even bigger one. A well managed business that values their team members and takes care of them is more likely to deliver, and unlikely to implode and disappear. A good young firm should have at least 100 people, and a consistent (but not outrageous) growth rate. I personally wouldn’t bet on any that are smaller than that.
Talk to me. Its crucial that you be in constant real-time communication with your team members, over multiple channels, especially when you’re agile. Using e-mail only is not acceptable. Phone/Skype is great for scheduled meetings, and instant messaging is crucial for general communications over the course of the day.
This also brings up the issue of time zone. You may like staying up all night talking to someone that’s coming in when all your friends and family are going to sleep, but you won’t like it for long. Find a team in a time zone that overlaps your own schedule by at least half of your workday. Most importantly, they need to know your language (both spoken and written). You should be able to directly interact over phone or text with anyone on your team and not feel like they’re getting every 10th word.
And last but not least (put on your earmuffs kids)…
Respect your Bullsh*t Meter. Some people will say just about anything to get your money. You can ask all the right questions, and still get fleeced if you don’t listen carefully to the answers. Look for any elements of inconsistency. If someone tells you that they adhere to agile development practices, ask them later on in the conversation how long they usually spend putting together their technical specification document before they start coding. This is a lot like being at a party and having someone tell you how much they love the movie that you were just talking about, and then later dropping an obvious reference and watching it sail over their head. Steer clear of these people, and steer clear of these firms. They’ll say anything to get you to like them. Don’t be afraid to tune your meter if you’re having trouble identifying them.
All in all, there are a lot of horror stories when it comes to using remote development, and many of them were doomed from the start because the team wasn’t equipped to execute on what they promised. In the interest of shameless self-promotion, a progressive hybrid model like the one offered by Janeiro is designed to solve this problem, because the resources are known and trusted.
Whatever path you choose, make sure its an informed one. All development firms are not created equal.
Raphael Zuk
Nice post. I think this will help a lot of guys, especially those who are young and are loooking for some solid couple of tricks.
Continue the excellent work!
Following on Facebook and Twitter!
FFXI Middleman
Great job on the blog, it looks outstanding. I am going to save it and will make sure to check often