By Jim Marascio, CTO, Portrait Innovations
Four months ago, I made a change. I left a business I had been involved with for more than eight years, which was a subset of a larger industry I’d been working in for more 20 years. The transition was smoother than anticipated. I credit that, in part, to the fact that I inherited a very good team and a foundationally sound technology operation from my predecessor, who was retiring.
Of course, being an outsider gave me a different perspective of the business landscape and opportunities. Within just a few weeks, I had identified a number of initiatives that, in my opinion, were critical to the evolution of the business and included these in my annual budget request. Fortunately, my opinion was shared by the rest of the management team, and I was given the green light to proceed.
Software Development: To Hire, Contract or Partner?
Of the five major initiatives, four involve software development. Yes, I am undertaking that many significant projects. And yes, I realize that number breaks some rules and beliefs of what’s reasonable. It’s also one of the reasons I think it’s necessary for me to get on a plane to Central America.
That “very good team” I inherited includes two teams of developers that account for about two-thirds of my overall team. While they’ll be involved with each one of these four software development projects, they are only taking the lead on one. We simply couldn’t deliver everything necessary in the timeframe needed with existing resources.
Our choices were simple if we were to get the remaining projects out the door: hire, contract with freelancers or partner with a software development company. For the largest project, I chose to partner, and here’s why.
The time necessary to identify candidates, screen and interview, hire, train and assimilate them into the existing team – then determine if we did each of those steps successfully – was both time- and cost-prohibitive.
Contracting was marginally better. We could lean on another organization’s expertise and existing work to identify, screen and even do a degree of interviewing for us. But we still had to perform individual and team interviews, and then go through the onboarding process. It helped a bit with the time element, but not enough. And the cost, even assuming that the result was a “better” developer (or at least one of the same quality, but delivered sooner), was higher.
Don’t misunderstand. There are times for each of these scenarios. In fact, we just entered a contract engagement for a project manager. This large project simply isn’t one of those times.
It’s different. For this project, we need a team that:
- Is already working together;
- Has experience with the skills, tools and (more importantly) results we needed;
- Has a proven system for coordinating with our existing development teams on a common project; and
- Is elastic in the ability to cycle on and off members to best fulfill our needs and meet the tight deadline we have.
Essentially, they need to compliment my existing team and do so quickly.
A partner was the way to go. Now to choose that partner.
Narrowing the Software Partner Criteria
My team is already supplemented by three partner organizations. One focuses on telecom systems monitoring, maintenance and centralized invoicing. Another is responsible for database monitoring and maintenance and some deployments. The final one is a software development partner. While that last partner is doing good work, the scope of their expertise (#2 above) is where they fell short.
I have experience working with software development partners throughout my career. Some of these have been local. Others were elsewhere in the United States. Some have been offshore and halfway around the world. And a couple were “nearshore,” a term used for countries that operate on similar time zones and are relatively easy to get to when compared to those in more distant locations.
We developed a prioritized list of criteria we wanted in our new partner. First was expertise with developing projects similar to what we were doing. That included working with clients similar to our profile and with deliverables that had similar attributes.
Next, we felt strongly that they needed to have an operating schedule that overlapped with ours well. We didn’t want to handoff work to be done overnight and communication mostly via email or late night calls.
If going offshore, we wanted a team that had strong English and excellent communication skills, as well.
Of course, cost and the ability to deliver in our timeframe were significant considerations.
Accelerance Helped Match Our Software Development Needs
After sorting through about a dozen options, four were seriously considered. Accelerance brought a global software development partner network of more than 50 organizations to the table. Ultimately, we thought they were the best match for several reasons. The most significant was that as experts in the area of outsourcing, we trusted them to help us navigate the waters of filtering partners based on our requirements and choosing the one that was the best fit for our needs.
While we had all of our proverbial eggs in a single basket with each of the other organizations, with Accelerance, we were able to spread that risk over a larger group of organizations and choose what best matched our needs at every level. Ultimately, we didn’t choose one partner, but a group of three within a single ecosystem. Two are based in the U.S.; the third is in Central America.
The Accelerance process partner evaluation and selection was excellent. It resulted in a high degree of confidence in our final decision. Coincidentally, the nearshore company is led by someone I worked with on another project a decade and two companies ago. This wasn’t anticipated and provided added comfort in our decision.
Not coincidentally, the Accelerance software development outsourcing solution provided us a balance of capability, flexibility and cost that we didn’t find with the other options being considered. Utilizing this process also resulted in the lowest cost of the final four contenders and provided us with a platform that offers the capability to augment our existing team on future projects as well.
So off I fly to Central America, to kick off a new project with a team I already have a high level of confidence in, and to meet someone I had a positive business experience with a decade ago. Now that the tough decisions are made, we can focus on getting the work done.
Do you find yourself in Jim’s shoes with several software development projects that you need to get out the door quickly and too few internal resources to handle them? Contact Accelerance to see how we can help you create, narrow down and vet a list of potential partners.