A Q/A Interview with Steve Mezak, CEO at Accelerance and author of Software Without Borders
Steve Mezak has been a part of the software development industry for over 25 years as a successful entrepreneur (he’s been a key player in six startups) and as a globally respected author on software engineering. His current company, Accelerance, works with development teams in Argentina, Chile, Colombia, Mexico and Costa Rica – so naturally Steve has a good sense of the quality of work produced out of Latin America and how the Americas stands up against the rest of the world.
When it comes to software development, there is increasing attention paid to code quality, establishing very clear requirements and working at a faster pace to move into production. Some say that it’s becoming harder than ever to offshore software development – theoretically slowing the process – because of these more pressurized conditions. Your thoughts?
Actually, in many ways it is getting easier to offshore outsource software development because many hard lessons have been learned over the years on what works and what does not.
For too long there has been an overemphasis on using outsourced software development just to lower costs. If you can hire programmers offshore at $30 an hour than hiring them at $15 an hour must be better. And if all you want cheap programmers then there are many companies around the world who will provide them. Consequently, many companies outsourcing their software development learned that a low hourly rate does not translate into real savings if you also happen to want quality software as part of the deal.
Software development is not a “core competency” of many companies and outsourcing makes perfect sense for them.
Smart companies no longer seek to hire the cheapest programmers on the planet. They do want good results at a cost lower than hiring a room full of programmers locally. And they likely laid off employees in the recession and now want to use outsourcing as a way to get things done. Are they cutting costs? No, because costs are presently zero. They want to use outsourcing to get things done without having to hire employees back.
Having good software requirements are important, yet many companies try to outsource without them. In fact the most dominant requirement may be their limited budget and again outsourcing begins with a preoccupation with cost.
“What can you get done for $50K (or $25K, or even less)?” They ask. As one of our nearshore partners says, “Just because your budget is limited doesn’t automatically reduce the complexity of the software you need.”
Software development is not a “core competency” of many companies and outsourcing makes perfect sense for them. If there is pressure, it is to find the outsourcing vendors who can truly provide a professional software development service and not just a roomful of programmers in an exotic location. Of the thousands of vendors out there, smart companies want to outsource only to the good ones.
What are some of the things that stand out for you in terms of what Latin America offers in software development?
The obvious features of Nearshoring to Latin America are physical closeness to the U.S. and time zone overlap with our work day. The workday overlap enables more convenient implementation of Agile software development methodologies like Scrum which include a daily stand-up meeting (the Scrum) between all stakeholders in the software development process.
There is also a cultural closeness shared between North and South American countries too. Most professionals in Latin America are able to communicate in English and many share a passion for excellence and achievement with good companies in the U.S. They are often ready to challenge the assumptions a client brings to the table and as one of our partners says, “engage in the intellectual swordfight” over the best way to do things, with respect of course for the client and what they ultimately want to achieve.
How does the quality of software development in places like Chile, Colombia, Argentina and Mexico stand up to the rest of the world?
We touched on country culture above and all these countries you list here have many cultural similarities to the U.S. One aspect of this is the universities in these countries are very comparable to those in the U.S. and Europe, often granting a 5-year degree to engineers and programmers.
In contrast studies have raised questions about the quality of graduates from some higher educational institutions in China and India. There are excellent universities in these countries of course, but there are also a great many schools that are more akin to technical colleges here in the U.S. that provide training but not a well-rounded education leading to a Bachelor’s degree. Specifically the work of Vivek Wadhwa at Duke University has pointed out the lack of internationally accepted accreditation standards have led to the problem of many graduates not being prepared for multinational projects and the give and take (and sword fights) expected by many U.S. clients in the process of hashing out requirements. (Click her for an example.)
I see less of these issues in Latin America where it is also more common to find a corporate culture of recruiting talent graduating from the best local universities. Even so, it is important to select a partner in Latin America or anywhere else that has a corporate culture close to your own.
What are the biggest mistakes companies are making right now when it comes to sending work offshore?
Here are the three big ones:
(1) Selecting a vendor because of a single recommendation from a friend or relative. Referrals are a big source of business but too many vendors will say yes to any client. And just because they worked well for your brother-in-law doesn’t mean they have the skills needed for your software development.
(2) Buying primarily on price and not recognizing that software development is a creative process rather than just a financial transaction. Domain experience, technology, software development process, and above all , the ability of the team members to collaborate with you are all factors that need to be considered.
(3) Not knowing how to describe your software. There is no such thing as a perfect specification but there are tools and techniques that have proven effective over the years for describing the desired software behavior. The key is to describe the steps your software users will take to achieve their goals. Creating a clickable prototype is an invaluable technique to storyboard the software before heavy duty coding and testing takes place. It is a lot easier (and cheaper) to change a prototype than thousands of lines of source code. This is especially true for web applications that are so common these days.
(Latin American developers) are often ready to challenge the assumptions a client brings to the table and as one of our partners says, “engage in the intellectual swordfight” over the best way to do things, with respect of course for the client and what they ultimately want to achieve.
In your book, “Software Without Borders,” you talk about the need to “fiercely protect your intellectual property.” What specific steps do you recommend?
The chapter of the book dealing with IP protection describes the legal, physical & electronic measures your vendor should in place to protect your source code, assets and ideas. Even in countries with a limited history of IP protection you will find vendors who will provide IP protection you need. They understand it is a basic requirement of winning your business.
You should have a legal agreement describing the services to be provided. And your vendor should have door locks, guards and hacker-proof firewalls to keep out the bad guys.
Another recommendation in the book is that you deal with vendors who only provide custom software development services (and perhaps other IT services) and NOT vendors who also sell their own software products. This avoids the nightmare of having your code winding up in their products. And having code from their products winding up in yours is not good either when you some day want to sell your company and need to prove that you actually own the source code of your products!
After verifying these common security practices it ultimately comes down to having trust in your vendor to do the right things. That’s more of a gut feel than a legal agreement and gets back to finding a vendor with a corporate culture that fits well with yours.