Software Development Outsourcing Guidance

Creating software with an outsourced development team is so much more than just hiring the developers. I help my clients avoid common mistakes, reduce risk, and achieve better engineering and financial outcomes from outsourced software development teams.

I’ve worked with more than 95 software outsourcing companies around the world over the last 30 years. Clients hire me to facilitate engagement with these overseas companies—and get it right the first time.

I’m deeply technical, with the ability to dive into frameworks, software architecture, and best practices as required—but I also have the business and management chops needed to produce alignment uniting investors, product managers, and developers.

It is hard enough to create high-quality software when your team is in the same room. When you introduce global distances, time zones, and radically different work and family cultures, you need to be prepared. I can help your team prepare. I can also step into existing projects and help steer them back on course. I do this through in-depth cultural and technical knowledge, a risk analysis methodology, and more than two decades of practice.

Investing in outsourced software development is a significant and potentially high-risk decision. Picking the right trusted advisor and companies to work with is extremely important. I encourage you to check out my testimonials and see what my clients think about working with me.

What to look for in a trusted technical outsourcing advisor


Ensuring you work with an experienced technical advisor is essential. Having worked with more than 95 software outsourcing companies worldwide over the last 30 years, I know the ins-and-outs of offshore development. I can help guide you through the process efficiently and cost-effectively. Learn more about me, my experience, and my background.


A CTO or technical outsourcing advisor who can’t talk for hours about past failures is a red flag. Reviewing past failures helps you ensure you are working with someone who can identify the patterns you need to succeed and the anti-patterns you need to avoid.


Offshore software outsourcing is a bit like the wild west. There are great opportunities, but also spineless crooks and scammers. Do your research and make sure your outsourcing company and trusted advisor has high-quality, relevant, and verifiable testimonials.


An outsourcing advisor without extensive technical knowledge can do more harm than good when building an outsourced team or guiding software development. Don’t get pushed into using microservices or the latest JavaScript framework if that is not the best fit for your product or growth strategy. If you are a non-technical founder of a SaaS or mobile software product, please reach out and ask me about this!


After nearly two decades of living and working overseas, I’ve learned that misunderstandings can arise from clashing cultural assumptions. French, Dutch, Germans, and Israelis get directly to the point. Latin Americans and Asians are deeply hierarchical. Americans sugarcoat negative feedback with pleasant comments before the serious lambasting begins. An outsourcing advisor must be able to navigate these cultural differences to find clarity, build trust, and create team alignment.


Communicating complex product and technical ideas across cultures is the great challenge of offshore software development. It starts with building trust and alignment and grows as we learn to detect the invisible barriers between us—and develop systems to get past them. Getting this right will be the difference between success and failure.

Oya Celikbilek of VERO Healthcare Technologies

“Michael is very methodological in approaching startup ideas and has proven to be excellent in putting global teams together and getting them working.”

I met Michael through a software sourcing company in 2018. I was in the early stage of creating a software startup business centered around the use of augmented reality for the healthcare market. As an entrepreneur with a healthcare operations background, I needed to partner with a technology expert to design and build the product I envisioned. I had many challenges, including narrowing down the company’s scope to arrive at a Minimal Viable Product and sourcing the right solution partners. Michael did an incredible job guiding me as we defined the requirements for the product, created a development plan, and structured a statement of work to serve my company’s best interest. We met with teams of outsourced software engineers in different countries and ended up selecting two companies with different areas of expertise, both in Hungary. The software solutions team that Michael helped to assemble has been a critical asset for me. Michael is very methodological in approaching startup ideas and has proven to be excellent in putting global teams together and getting them working. He has a vast understanding of technology—both in technical and business terms. He has a great sense of humor, is very thoughtful and personable. Without Michael’s involvement and guidance over the last two years, I would never have successfully created the company and developed the first product.

Oya Celikbilek Founder – VERO Healthcare Technologies, LLC

Frequently Asked Questions

I’m not happy with my outsourcing company, but switching to a new one seems like a huge risk. What should I do?

In my experience, more than half the time, it is possible to fix existing relationships by improving processes, communications, and augmenting your current team with missing skill sets. This is the lowest risk, and often the best option if the situation will allow it.

Before you do anything else, make sure you have control of your software source code and documentation. You need to own and control the repository in which your intellectual property lives (often on services like GitHub, Bitbucket, GitLab, or on-premises systems.) I can help you navigate the waters to accomplish this. Then, we need to look at why a team change is necessary and work carefully to migrate work to a new, better-aligned team. Please contact me to discuss this situation. I will keep all details of our conversation private.

Do you work with specific software outsourcing companies, or will you work with any of them?

If you are already working with an outsourcing company that you are happy with, I can work with them. I can also help you vet and benchmark new companies to see how well they align with your needs and how they stack up relative to other companies that I know well. The only thing I will not do is work with a company where I have had a bad experience in the past. (I also don’t go back to restaurants where I have had food poisoning in the past!)

Why bother with offshore outsourcing if I also have to pay an American consultant like you to mitigate my risk?

In the US market, it can take months to hire a small but highly skilled software team, and you are competing against thousands of companies who also want to hire (or hire away) comparable developers. Outsourced software development companies can build and scale overseas teams much more quickly and keep the team staffed over time. Overseas software engineers are generally less expensive than US-based, but the game today is about time-to-scale and time-to-market and less about cost arbitrage.

In the short term, hiring an experienced, independent, US-based advisor like me costs considerably more than depending solely on the resources provided by an outsourcing company. In the long run, my clients typically save many multiples of my consulting fees. In many cases, my clients can ship software that they would never have completed without my help. I encourage you to learn more about my background and see what my clients say about working with me.

Which countries have you worked with the most?

Since 1999 I have spent about half of my time overseas on various software development projects. I’m an American and a US citizen, but I have lived and worked in six Indian cities and the Himalayan country of Bhutan. Over the last fifteen years, there has been an accelerating shift in the global software outsourcing industry away from India and toward Eastern and Central Europe and Latin America. My career has followed this trend. In addition to extensive work in India, I have provided oversight for teams in Hungary, Moldova, Poland, Romania, Russia, Serbia, Slovenia, and Ukraine, as well as Argentina, Brazil, Colombia, Costa Rica, Mexico, and recently South Africa. I continue to develop relationships with Indian companies and companies in the broader Asia-Pacific region, including Vietnam, the Philippines, Sri Lanka, and Australia. I have the most experience in India, followed by Ukraine, Hungary, and Poland.

You do a lot of things. What is your core skill set?

Michael Marmor Consulting Services Puzzle Image
I improve software development outcomes by concentrating on a few interrelated services and specialties. The four skill sets illustrated above describe my four areas of expertise and how they connect. A deep grounding in software engineering and development practices are needed to manage software outsourcing successfully. Validation of security and code quality are needed to deliver robust products, provide feedback to developers, and provide objective controls for investors and founders. None of these things matter if you build the wrong product for the market, which is why an understanding of Product Development/Product Management is essential.

Said another way, you can’t select the right technology without understanding the product requirements. You can’t choose the right outsourced development team without knowing the technology stack. You can’t know if your team is implementing your product well without review. You need deep technology skills and experience to understand technical reviews and improve the entire process. The skill set I bring to the table includes these four interlocking elements used to improve software development outcomes. Over the years, as one area has become stronger, the others have also strengthened and matured since they are interconnected.

I use these four skill sets to deliver three services on a consulting basis: Outsourcing Guidance for medium to large-sized software businesses (described above), Consulting CTO for software startups, and Software Investor Services, including code reviews and due diligence.

Learn more about me and my background and check out my testimonials to see what my clients think about working with me.

Can you help me negotiate with a software outsourcing company?

Yes. Outsourcing engagement models can be complicated, and there are multiple ways to balance risk and value. I can work with your team to evaluate the impact of these models. Typical software outsourcing pricing models include time and materials, fixed cost, cost-plus, performance-based, shared risk-reward, and various hybrids. It is also critical to know cost benchmarks for the different markets in Asia, Eastern Europe, and Latin America, where most software outsourcing now occurs.

How do you get paid?

I provide services as an independent consultant. My clients engage me either on a project basis or on a retainer basis. Most companies hire me to work on a project-basis initially and then switch to an ongoing retainer model once we have worked together successfully through multiple projects. Projects have fixed fees based on achieving objectives that we agree on in advance. A retainer allows unlimited access to me for advice or consultation by designated people at your organization.

I encourage (and assist) my clients in engaging and paying their outsourced software development firms directly. I do not act as a financial pass-through to outsourcing companies. Companies pay me directly either for specific projects or on retainer.

After many years of consulting, I have stopped accepting work on a time-and-materials basis. Here’s why: I don’t want my clients to feel like they are making an investment decision every time they may need my help, and I don’t want to be seen as self-aggrandizing when I realize that I need to put in more time to get the best outcome. My clients are always best served by a fast improvement or resolution, not a slow one. After completing dozens of time-and-materials-based projects, I have come to realize that pricing by time unit is a fundamental misalignment. So I’ve stopped doing it.

Here is how the process now works: You reach out to me via my contact page. We have a video conference and possibly follow-up calls to determine if we are a good fit for each other. When I have enough information, I’ll make a project proposal that typically has multiple options, each with a fixed fee based on the value delivered. Want to learn more? Give me a shout!

Jim Marascio of Accelerance

“Michael brings extensive technical and international business experience and has become a trusted advisor to our clients.”

Hiring and implementing an outsourced software development team to work on a critical software project comes with some risk and trepidation. Accelerance has helped companies to successfully outsource for the past two decades. To do so, we utilize technology leaders who have extensive experience with leading offshore and nearshore teams. Michael joined our team more than two years ago and was able to contribute from the start. His experience has been leveraged working with companies ranging from startups to rapidly scaling midsize businesses to Fortune 500 enterprises. Michael brings extensive technical and international business experience and has become a trusted advisor to our clients. I’ve found him to be very intelligent, an effective communicator, up-to-date with current technologies and tools, and transitions well from business conversations into the details of the technology.

Jim Marascio Chief Delivery Officer & Chief Information Officer – Accelerance, Inc.

Ready to Work Together?

I’d be happy to discuss your project!