Client blends U.S. IoT tech agency with Eastern European data science firm

Our client designs lactation pods for breastfeeding moms on-the-go. I never used to see the pods, but now that we’ve worked together, I spot them everywhere, especially during my many travels through airports!

While maintaining a successful relationship with a U.S. based software & IoT agency to design and build their core technology, our client (with the agency’s support) was seeking an alternative provider for their business intelligence and data science needs.

Their goals were:

  • develop a trusted relationship with highly skilled and relatively lower-cost business intelligence and data engineering firm
  • contract business analysis, consultation, data engineering implementation and SLA support
  • implement a BI solution, create internal dashboards and client-facing reports, and automate report delivery
  • automate the early detection of irregularity in the operation of the hardware

A fundamental question asked by our client is, “can business analysis and BI / data consultation be accomplished with a remote data engineering firm across distance and time zones? Could they understand our business to effectively steer our data platform and operate efficiently?” Key questions indeed!

We suggested an experimental phase: focusing on select geographies where we’ve succeeded in the past, conduct first-round interviews with BI / data science firms. These firms are still nascent in locations such as Eastern Europe and C/S America. This first phase honed-in on the key requirement: state-of-the-art business analysis and data consultation. Could it be done remotely across distance and time zones? Three firms surfaced as potential candidates, and we gained enough confidence to recommend our client move forward to a full procurement process.

The results? Although it took an extensive search, both we and our client were impressed by the level of data science talent we found, particularly in one location. And when we kicked off the project, despite the different time zones, communication between our clients team and the chosen provider was exemplary.

The relationship began with a discovery workshop, followed by an agile process of daily, short standup meetings to enable our client to iteratively deepen the analyst’s and engineers’ domain knowledge, make quick directional verifications, provide feedback, share concerns, and plan the next stages.

Solutions were developed iteratively using Google’s data warehouse platform and tools, as well as open-source technologies. One year later, their relationship has continued very positively, with a high level of satisfaction by our client.

Here are a few of the criteria TeamFound injected into the procurement process:

  • we focused on two countries in Eastern Europe where the data science profession had greater maturity
  • we sought agencies with a data science focus, rather than large outsourcing providers with data science teams
  • their English language and communication skills must be as good as U.S. based options
  • the provider had to be working with significant and large-scale data science projects for prominent European clients
  • we queried the provider’s team’s individual professional experience and sought professional certifications in cloud and data engineering

Some of the data engineering capabilities we found were:

  • Cloud solutions, especially Google Cloud Platform and AWS
  • Hadoop distributions and fully-managed cloud services
  • Spark, Hive, Tez, Flink, Beam, GC DataFlow, Jupyter Notebook, Hue for processing and analytics of data
  • BigQuery, Presto, Impala, Hive LLAP, Druid, Kylin, Elasticsearch for low latency analytics, search and queries conducted on huge data sets
  • Kafka, Kafka Connect, Debezium, Pub/Sub, Flink, Dataflow, Beam, and Spark Streaming for real-time streaming analytics
  • NoSQL, Key-Value databases HBase and Cassandra
  • Spark MLlib, SparkR, Numpy, Scikit-learn for advanced analysis and machine learning
  • Kubernetes, Docker, OpenShift, Helm for containerization
  • Databases like BigQuery, PostgreSQL, Hive, Cassandra, Elasticsearch
  • BI technologies such as Tableau on-premises, Looker in the cloud, and open-source solutions

OE is a key differentiator among technology providers

Five years ago, my conversations with tech executives were mostly about augmenting and scaling their engineering teams with remote developers. We’re still talking about that. But now we’re talking about outsourcing for new product development, independent R&D, as well as advanced 3rd platform tech. It’s an interesting shift, coming from two directions. First the demand side, where hiring and retaining tech talent is grindingly difficult. Second, the supply side, where mid-size engineering providers, domestic and offshore, have evolved dramatically over the past 5 years with new levels of operational skill.

Operational Excellence (OE) is often taken for granted when evaluating providers. It’s the “execution” side of technology development, and it drives many factors that impact a successful project and provider relationship. For example, requirements traceability, quality standards, process standards, team performance, adherence to industry regulations, and interestingly, even innovation. In the past 5-years, I’ve observed OE as a key differentiator among technology providers.

Here are a few characteristics you’d find in a mid-size technology provider who’s seriously invested in OE.

Firstly, we all know that distance is a factor that needs to be managed in any remote engagement, including software engineering. It doesn’t matter whether it’s across a city, or across an ocean. More operationally capable providers carefully manage their onboarding and integration into your team by assigning process and communication leads. These roles guide and monitor your experience and assure their team is onboarding efficiently and increasing its performance over time. Providers should also take initiative to assign quality advisors to every team, for a deeper look at how to assure that quality is integral to their delivery. For independent projects, devops engineers can structure test, integration and deployment pipelines, to speed and optimize the whole development and delivery process. What is notable in the best providers is that they strive to improve their clients’ software holistically, far beyond writing code.

OE is key to talent and retention as well – critical to bringing professional, skilled, and motivated people into your project. Engineers generally have a sense for the characteristics of employers in their region. Providers who excel at OE, relay a sense of confidence and professionalism and are generally more respected in the community. They consequently attract better talent. By contrast, poorly managed operations leave mid-level managers and leads struggling to meet client expectations, which often results in low employee satisfaction. No doubt, these issues have impact on the end results.

A new trend that I’ve observed in the past few years is providers innovating on their people pipeline, by going up the value chain and fostering talent with their own engineering boot camps and academies. I’m impressed by this initiative! Some of the best developers I’ve worked with have diverse backgrounds and don’t necessarily follow the traditional computer science academic path. Recognizing this, some providers seize the opportunity to transition smart tech enthusiasts across career paths. And it makes a lot of sense – managing their talent pipeline is do or die for them. My take is that outsourcing providers are much better equipped to do this than most businesses. They may get a call tomorrow to staff a product team of 6 developers. It takes a robust talent pipeline and a certain operational fortitude to say “yes” to that, and truly deliver.

Yet another characteristic of good OE in software outsourcing providers is their ability to “swarm” onto new challenging projects. I’ve often taken a two-page vision document for a new software product, and within 2-weeks had a team running workshops with business analysis, technology analysis, budget, timelines, risk assessments, to provide options and a tech roadmap to stakeholders. It’s not easy to do well. Providers get a lot more practice than most software product companies. And with architects and consultants in different domains, specific technology choices are no longer the focus – the technology solution is driven by the business objective – the way it should be.

There’s much more to OE. It would take a book. I hope this post at least helps broaden your picture of what is possible with today’s mid-size software providers.

Remote Software Developers Microsoft.NET, Team Foundation Server

Client: Vermont based SaaS technology business
Industry: Hospitality and Resorts
Technology: Microsoft .NET, Team Foundation Server
Remote Team: 8 Software Developers, 3 Testers
Location of remote team: Romania

Our Client: a SaaS solution offering ecommerce, business intelligence, and marketing for the travel, resort, and hotel industry.

Located in a region with a limited developer hiring market, our client sought to expand their product development team with distributed engineers.

In order to establish confidence in the new remote team, we structured a 3-month pilot project with a distributed team of 2 engineers, centralized and managed by a trusted partner, to develop a software component for the SaaS product. The development was managed independently by the distributed team, with guidance from the client’s senior engineer, and was completed with very positive feedback from our client’s engineering manager.

Having established the technical and communication capabilities of the distributed team, our client continued to utilize the team as an independent unit to work on the product backlog.

It’s worth noting that the software developed has many integrations with 3rd party systems, making development more complex. The architecture was a mixture of legacy and new design, and therefore a careful analysis was needed on new initiatives. Having a small team, analysis is an element of every engineer’s responsibility. Clearly, communication skills are very highly valued.

The success of the initial two phases of work, gave our client confidence to expand the team to 8 software engineers and 3 software testers. The distributed team was then integrated into four scrum units, to work along with U.S. engineers on the same product backlogs. Our client’s engineering leadership is very proficient in running Agile Scrum. This helped greatly in setting clear process and communication expectations. The distributed teams participated in all elements of the process, from sprint planning meetings, to retrospectives, and daily stand-ups.

The leadership and managers of the distributed team maintained monthly meetings with our client’s leadership, and visited in-person several times to check-in on the relationship and assure any issues were resolved swiftly.

Solutions to the Top 3 Resourcing Problems CEO’s Face in R&D

Most CEO’s of technology companies experience three major pain points in R&D:

  1. HR struggles to find local developers, often taking 3-6 months to hire
  2. More engineering hires adds to the risk of sustained long-term costs
  3. Scaling your team is difficult and expensive in the current marketplace

Traditional resourcing strategies alone, involving HR efforts and local centralized teams, may not suffice to address these challenges. In the past 10-years I’ve helped technology companies adopt alternative resourcing solutions that enabled them to break free from local hiring constraints, reduce their budget risk, and scale on-demand.

When I was an engineering manager at a fast-growing New England startup, we propelled ourselves to #1 market position in our industry in large part because our CEO drove significantly faster innovations than our competition. He could do so because of our hybrid model of local hires and remote contracted engineering teams.

After much research and learning, we engaged with a remote software development team in Eastern Europe. They augmented our internal staff, but also ran independent projects where we didn’t have the skills, for example in mobile development. Our in-house engineers appreciated their remote colleagues because of their talent and similarity of culture.

Our CEO was thrilled. We finally found a real talent pipeline, where we can expand or delegate projects, and ramp-up/down based on business demands. Since then, I started a consultancy to help other tech companies successfully execute a similar strategy. Using my experience, clients have been able to:

  • Select the right partners the first time
  • Leverage a culture that emphasizes proactive technical strength and taking ownership, just like your internal developers.
  • Receive guidance on making your internal and remote teams high-performing, with best practices in remote communication and engineering processes.

TeamFound guides you through the critical and complex process of selecting a trusted, vetted remote engineering team, and the communication and process adjustments that make your teams high performing. Contact us for more information.

Startup finds trusted remote agency: Android, iOS, React, Elixir mobile app

Our client is a 5-year startup located in Burlington, Vermont, approached TeamFound with a few goals:

  • To develop a cross-platform consumer facing iOS and Android mobile application, in order to evolve the existing web-only offering.
  • To transition from full-time allocated engineers to a project-based model, thereby lowering recurring costs, and placing the technology stack on a maintenance/monitoring plan.
  • Improve quality standards for deployments
  • Build a relationship with a provider whom they can trust to manage the technology platform end-to-end.

Similar to many startups we work with, our client grew into a new phase of their business, where technology needs stabilize and the business needs to focus more on sales and marketing. Often this new phase comes with operational changes. For a variety of reasons, a technology team “re-boot” was a necessary component of this change.

Our work began with a discovery phase in order to understand the scope of change needed, the current operational challenges, and the long-term goals. We then facilitated a collective risk assessment to surface existing and potential areas of concern to the business, and discuss mitigating options.

It was clear to us that a major component of the solution would be a technology agency with strong skills across Mobile, Elixir, and AWS, and who was able to offer flexible SLA terms enabling our client to (a) utilize a lower quantity of hours each month (than a full-time person), to fix bugs, tweak features, and maintain the system, plus (b) the ability to schedule and ramp-up development for larger chunks of work when the business needs to add features.

Our search for such a team began. The added complexity was that the backend was built using Elixir, a relatively new programming language built on the Erlang VM.

Key to the success of both our client and the provider was the agency business model. “Agency” in its true sense utilizes a pool of developers, testers, UX designers, and project managers to manage multiple clients and projects. This enables them to offer more flexible SLA’s. The focus on startups was critical too. Agencies who work with startups understand better their needs and are more effective in serving them. For example, often the client is a business person, not an engineer. So the ability to understand business needs, translate them into technology outcomes, and manage the whole technology roadmap are key skillsets.

Our effort involved researching providers in 4 different countries. We were able to bring-forward a few options. Our client ultimately chose an agency in Transylvania, Romanian, a major Eastern European technology hub, where TeamFound visits a few times/year.

Fast forwarding to the results… they were excellent! The climax was the release of our client’s first iOS and Android mobile apps built using React, enabling them to offer a more streamlined user experience and significantly expand their user base. Equally important, during the 3 months of the initial engagement, a lot of trust was built between our client and the agency. Although the agency is located in Romania, it feels as though they are local. Their communications and integrity are solid. Our client felt confident in enabling them to manage the technology platform.

We layered onto this solution a local east-coast managed services provider who would manage and monitor the AWS infrastructure and provide 24/7 emergency resolution.

TeamFound also timed an on-site visit to the agency during the first phase of work – how the photo of this article was taken.

Following the initial phase, our client significantly reduced its recurring costs, is working with a  highly skilled agency, established a trust relationship, and most importantly, can set aside concerns about the technology and focus on the business!

Technology: React Native, Android, iOS, Elixir, AWS
Location of remote team: Transylvania, Romania

500 Developers – A Savvy Way to Scale Your Engineering Team

On many tech business leaders’ minds is the question, “If we land these two customers at the same time, or if we acquire larger customers, how do we scale?”  And the two biggest challenges are (a) finding the talent on-time, and (b) managing the budget.

I’ve seen a trend lately among some savvy tech CEOs and recent clients of TeamFound that I thought you’d appreciate. Because I’m from Vermont and it’s maple tapping season, I’ll call it “Tapping 500 Developers.” It’s simple but powerful. Here’s the idea:

Engage with a software outsourcing company that specializes in providing dedicated remote engineering teams, to work with your internal team. Start with a small team. Key is that the remote developers be just as talented as your internal developers. Make sure the provider has a few hundred on staff.

“Wait!” you say. “Outsourcing? I thought that didn’t work.” – That’s what a super smart tech executive said to me 3 years ago, and today he has a team of 15 remote developers. When it’s done with careful provider selection and good internal processes, it can work extraordinarily well. Here’s what this will do for you:

ONE: You found a talent outlet
Once you establish a relationship with a provider, and you on-board a small team, a “tap” is created. It wouldn’t take much to add more capacity to fulfill the demands of that largest customer. You don’t have to start the whole process over again. Your work is leveraged.  The provider is responsible for managing the team, and scaling the team when you say “go”.

TWO: You gained speed
You picked a provider in a region with a large talent pool, and who has a prominent position in the marketplace. They can fill a new opening in 1 month, or less if one of their 500 comes off a project. Try that in your local market.

Only one more, because I know how busy you are…

THREE: You found a way to reduce your budget risk
Scale the team up for 6 months, or a year. Then scale it down if you need to. The software engineering provider is good with it – that’s what they’re there for. The developers move onto a different project. You can enjoy your Sunday morning pancakes with maple syrup a lot more, because you know that on Monday you can push the lever up or pull it down – that’s more control over your budget.

A remote team is about leverage, an assurance that you can tap into some serious capacity when you needed it, and about gaining budget flexibility. That’s why most of my clients are CEOs and CTOs.

It turns out that smart developers love to work with other smart developers, and when you can tap into some real talent, your internal team will appreciate the help and enjoy the new relationships!

If you have any friends who can use this message, please pass this along.

There’s a lot of myth around “outsourcing”. But if you look beyond this old word, and see the innovation that’s happening today in some of its successful derivatives, like remote engineering teams, you could open the talent valve, and gain real leverage that your competition doesn’t have.

[Ron Herman is an engineering management consultant, who specializes in making remote teams successful for technology businesses, the first time!]

Alternative talent strategies in software development – part 2 – Remote team models

In my last post, I discussed setting up a remote software development team as a pragmatic solution for resolving local technology talent constraints, and gaining budget flexibility. If your business is struggling with hiring developers or you are looking for more flexibility in managing budget and resources, then this topic will interest you.  In this article, I outline some distributed team models that I’ve worked with, along with their applications and best practices. Using this information, you may be able to envision which model best suites your organization.

Here are the models I’ll be covering:

  • Remote independent product team
  • Product team with local technology lead and remote developers
  • Product team with local and remote developers
  • SLA team

Note: Our customers utilize dedicated contracted development teams that manage their developers in one remote office, often in Eastern Europe or South America, as well as the U.S.

Remote independent product team

Independent Product Teams are units where members have a common set of product or systems responsibilities, and are not dependent on other teams to be productive.

In your organization you may have multiple teams, each focused on different systems. Or you may have one team that works on multiple systems. The Independent Team model entails carving-out a set of systems and making your remote team responsible for them.

This model has some distinct advantages:

  • The team can cycle more quickly through challenges. This is because the domain knowledge is structured to be available among this team (more below).
  • The team takes greater accountability and ownership. Being responsible for delivery and quality of these systems, the team is fully accountable. Every win is their win. Every loss is their loss.
  • The team is happier because they make more autonomous decisions, and their contribution to the business and its customers is more evident.

The highest value development teams I’ve worked with have frequent and well-structured access to business and domain experts.  They function in accord with business goals, and adjust quickly to ever changing product priorities and customer needs. When you have a central office with a small team, you can achieve this informally. But as your team grows, or if you take-on a remote team, structuring the right roles and processes to enable consistent alignment with business goals, is critical to achieving high value.

With remote teams, there are a few ways to accomplish this:

You position a Product Owner in the central office. As expressed in Agile Scrum, she is responsible for maximizing ROI by identifying product features, translating these into a prioritized list and continually re-prioritizing and refining the list. The Product Owner actively and regularly interacts with the development team, which is in a remote office. She executes Scrum inspired processes such as planning Sprints, conducting iteration reviews and attending daily stand-ups.

If you’re considering running a larger remote team, say 6 or more members, then adding a Business Analyst to the remote team can improve productivity. He works closely with the centralized Product Owner to keep the Development team operating efficiently. The Product Owner may focus more on higher-level Product Management activities, issuing general feature requests. Then the remote BA works closely with the development team to refine those requests into more detailed user stories and tasks, while performing other activities such as systems and data analysis or facilitating user experience design.

As a third option, in some organizations it makes sense for the Product Owner to be located with the remote team, and coordinate with stakeholders in the central office. This can be effective when stakeholders have more experience and comfort in managing by outcomes, as opposed to project iterations. The remote Product Owner takes on greater independence and responsibility, and has a high-degree of trust from stakeholders.

Challenges and best practices

  • Trust in the remote team is an absolute necessity. The reality is that trust takes time to develop. Sometimes a remote team will work in a staff-augmentation model for a while prior to spinning off as an independent project team. Some engineering contractors will assign a team manager, who can help develop trust and expedite the relationship. Quick tip: It helps greatly to have an annual in-person gathering with at least two members of the team.
  • Team composition is critical. Both local and remote managers need to work together to balance the team’s roles and skills.
  • Independent teams operate best with experienced Agile practitioners who leverage established methodologies for aligning team activities with stakeholder directives.
  • Stakeholders need to make a concerted effort to relay (a) the pulse of the business, and (b) product vision to the remote team. This communication can be built-into the Sprint Reviews when both have opportunity to engage with each other. Product vision enables the team to make better long-term decisions in their day-to-day engineering work.

Product team with local technology lead and remote developers

Consider this model when your system has legacy components where domain knowledge is needed to guide developers. Or if your team is modernizing your platform and your internal tech lead or architect wants to steer the execution. This model also assures that a local technical resource is at-hand.

Advantages

  • A pragmatic model when the software complexity is high. The internal tech lead can structure projects and tasks that enable the remote team to be productive early-on, while learning the intricacies of the platform.
  • Well suited for organizations that want to retain tighter control over engineering practices and execution.
  • Once the remote team has proven their ability to be productive, you can transition them to more independence. For example, you offer them greater flexibility to make architectural decisions, within constraints that you define.

Challenges and best practices

  • When the internal tech lead becomes the primary conduit of communications with the remote team, the team’s performance largely depends on his leadership capability. Careful selection of your internal lead is critical. Extroverted leads with strong people skills perform significantly better than introverted leads.
  • There’s often reluctance among internal tech leads to manage a remote team, mainly due to their concerns about the team’s technical skills. No one wants to struggle with a team that isn’t suitable for the project (including myself). The most important step is selecting the right team. Your remote developers need to be as talented, proactive, communicative, and passionate about their work as your centralized team. Otherwise you’re putting your project at risk. If you need assistance finding such a team, this is where TeamFound can help!
  • A best practice is to arrange in-person visits to build relationships and trust, for one or two weeks during the first 90-days of the project.
  • I’ve written a guide for leads of remote teams with further recommendations.

Product team with local and remote developers

When your internal development team simply needs additional developers on your project, this model may suite you. This is classic staff-augmentation. It’s also a common entry point to the more independent models.

Advantages

  • Simplest way of adding capacity to your team
  • Usually requires the least amount of internal changes.

Challenges and best practices

  • One challenge is when your internal development team has little or no working processes. If your team is well practiced in an Agile methodology such as Scrum or Kanban, then your team could be very well prepared.  But some teams function more informally, especially if they’ve been centralized for a long time. It’s a good sign if your team utilizes SDLC software, team communication software (such as Slack or Hipchat), and code repositories. Essentially, the better organized and more disciplined your team is internally, the easier it will be to work with distributed developers.
  • Agile trainers generally suggest keeping Scrum teams together in one geography, to facilitate easier “teaming” activities, for better team performance. I agree. This is a “best case” scenario. But it’s not the only way to run a Scrum team. I’ve worked with teams who function quite well across geographies and timezones. When team members have good “remote skills” – yup, that’s a real skill-set (see below) – they can perform quite well in a distributed model.  You don’t have to look far to find well known examples. Automattic (WordPress), Basecamp, Zapier, Github have written extensively about their distributed engineering teams.
  • “Remote skills” are a reality, and having them is proving to be a valuable asset to organizations. They are a combination of empathy, communication abilities, and team playing.  If your company offers the opportunity to work from home on occasion, or if you already have distributed team members, then it’s likely your team has developed these valuable skills, and can accommodate additional remote workers more successfully.

SLA Team

Agencies who structure their budgets on a per-project basis may prefer Service Level Agreements (SLAs) for each project or group of projects, rather than hiring or contracting dedicated developers. They may bundle other service requirements into these SLAs such as 24/7 managed services and incident management.

Advantages

  • Project based budgeting
  • Can be utilized by companies with small budgets

Challenges and best practices

  • Finding the right provider. It’s not easy to find a match of both technology skills and provider service model.
  • Good knowledgebase and procedural documentation has greater importance because the remote team is not dedicated to your project.

In conclusion, there’s a lot of diversity in remote or distributed team models – they take many shapes. This post is an attempt to structure and express to you some of their differences. Feel free to reach out to me if you have questions or would like to discuss your project.

Alternative talent strategies in software development – part 1 – Introduction

Software development talent shortage is a reality most tech leaders grapple with. The Harvey Nash / KPMG CIO Survey of 2016 reports that 65% of CIOs say skills shortage is holding their projects back. 89% of CIO’s are concerned about talent retention, and nearly nine in ten IT leaders (89%) have ‘some’ or ‘great’ concern about holding onto their best staff.

In this post, I’d like to begin addressing these challenges with some pragmatic solutions. My perspective is as a software engineering manager, later a CTO, and today a consultant at TeamFound. I help business and technology leaders find smart, tactical methods to resource and manage R&D and technology execution.

There are a few factors that influence talent acquisition in software engineering: geography, hire or contract, skills needed, culture fit, cost, and your engineering team’s process methodology. Let’s begin with the first two:

Geography and the employee vs. contractor question

Quick story: when I was a software engineering manager at a fast-growing New England SaaS startup, we had planned to develop a ground-breaking mobile application. We wanted to be first to market. Time was ticking, and we couldn’t hire the right people. Our problem was obvious: we were stuck pursuing the same old talent acquisition tactics, and they simply weren’t serving us.  We needed to think differently. Our CEO was readily willing to adopt alternative options. He just wanted to get our innovations to market fast.

My story illustrates a common situation. (1) Businesses cannot afford to fall behind in their markets, and limiting our options to local hires is holding back key initiatives. And (2) CEO’s lack the budget flexibility they need to adapt to changing markets.

Our solution was two-fold: to find a second geographic location with more available talent, and to use contracted resources.  We began working with a remote engineering team in Eastern Europe, essentially a second hub of developers. It’s not a new idea. Large companies have been doing it for decades. But the difference we found is that it can be done very cost effectively and by a much smaller organization.

Contractors often get a bad rap as “temporary” workers who are not engaged enough or committed to the organization. We found this perception entirely wrong. On the contrary, the culture at our partner’s organization (and in their geography) emphasized proactive decisions, taking ownership, and quality. The developers we worked with were dedicated and highly skilled.

Here are gains we found:

  1. We didn’t have to wait 3-6 months to hire.  We were bringing on new developers within 4 to 6 weeks.
  2. We could match the skills we needed more easily.
  3. We were also running remote independent projects where we had no internal skills, such as Android and iOS development.

And what our CEO loved:

  1. We could ramp-up the team and ramp-down the team based on business and project demands.
  2. As we scaled the remote team, we found significant cost savings
  3. Speed!

The hybrid team model

I work mostly with businesses that have a centralized engineering or business team. A hybrid team model refers to local hires and remote contracted engineering teams. Here are a couple of hybrid structures I’ve had success with:

Two hubs

These are your central office and a remote location. Developers in the remote location sit together in physical proximity. Many managers prefer this model because it does not require a different management style. It retains a lot of the same elements of physical proximity in terms of on-boarding, communication, retention, and culture. A key point is that you don’t have to setup and manage a new office.  You can take a much simpler approach of dedicated contracted teams where a software provider offers management support, including HR activities such as hiring, retention, and training. There are a few surprising benefits to this arrangement:

  1. You’re more free to focus on developing software, rather than managing overhead.
  2. Adapts to business needs. Enables you to more easily control costs based on business demand. In other words, you can ramp-up/down the team as your project demands.
  3. Your acquisition costs are minimal because providers will either allocate developers coming off existing projects, or they have a well developed HR operation with a pre-existing pipeline of candidates.

Central hub and distributed members

You add geographically distributed members to your centralized team. They can be located anywhere. They work from home or a co-work space, or a software provider if contracted. I’ve had success with this model for teams where they have a well practiced process methodology, such as Agile Scrum, along with product management and communication tools that enable remote members to work effectively together. If your team has the flexibility today to work from home at least some of the time, then they’ve probably developed some remote skills and are therefore more likely to succeed in working with other distributed members. Nevertheless, it’s a more challenging model to manage.

In Part 2, I discuss working models for distributed teams, their practical applications, and best practices.

You’re welcome to view case studies and interviews of businesses that launched distributed software teams. If you’d like to discuss your project, feel free to reach out to me.

If you’re a technology lead and you’re looking for the nuts and bolts of distributed team management, have a look below.

Thank you to the stellar software team pictured above.

Guide for Leads of Distributed Teams

Remote Developers in Microsoft.NET, ASP.NET, and Mobile Technologies

Client: Atlanta based national home improvement services company
Industry: Home Improvement & Retail
Technology: Microsoft .NET, ASP.NET, Mobile Technologies
Remote Team: 5 Software Developers, 2 Testers
Location of remote team: Eastern Europe

What were the reasons you sought a remote team?

Our development office is located in a challenging market for hiring software engineers, and we had difficulty in finding the skill-level we needed to develop our next-generation technology.

How skilled was your remote team?

Their software engineering skills are top grade and include programming, user interface design, software architecture, and project management. We couldn’t ask for a better set of talented engineers. And their communications are exceptional, akin to working with U.S. developers.

How would you characterize the remote engineering provider?

After working with them for two years, I can say that they are very professional and experienced in our technology set, and have been very supportive throughout our projects. We see our engineers in Romania as an extension of our internal team, and we feel we have a trusted relationship with the provider’s management. They came highly recommended by TeamFound.

Can you describe your daily engagement with the remote developers?

We run an Agile process, with daily scrums that include several members of our internal staff. Our remote team is dedicated to us, and includes a technical lead who takes the role of Scrum Master and organizes the backlog and sprints. They are involved from the early stages of requirements analysis to developing use cases and designing the UI, to writing the user stories in JIRA. The level of engagement and communication was excellent. They function as an extension of our internal team.

What kind of guidance did TeamFound provide?

Bringing forward a vetted set of providers was a huge help. TeamFound has a wealth of experience, and we didn’t have time for trial and error. After helping us establish the relationship with a Romanian provider, Ron stayed on the project to offer support and guidance in managing the team, until we were comfortable with running an Agile process and had a solid working relationship with them.

2016 Romania Software & IT Industry Report

Over the last 15 years, Romania has achieved and maintained a lead position as one of the main outsourcing countries of not only Eastern Europe, but also the world, being a preference for many multinational companies in terms of project relocation and department setting in the region. With a strategic position within Europe and human capital with high potential, Romania has gained momentum in the IT industry, being recognized and advanced by Western and domestic market demands[1].

This competitiveness emerged as a result of Romanian technical and proactive operational capabilities, which allow businesses to have quick access to qualified personnel, technical experts, cost reduction, increased flexibility, greater effectiveness and speed. Romania has been providing such services for a decade now and its professional maturity is increasingly visible. Although it does not offer the lowest prices in Eastern Europe, clients and partners highly value the IT services there[2].

As Catalina Dodu, country manager at Atos stated at the Romanian Outsourcing Summit, 2016 “[…]The number of resources is limited, but the results that we have are unlimited. When we show people what competence centers we have, everyone is amazed. We have competence centers delivering services from Romania, worldwide”[3].

So why Romania? According to A.T. Kearney’s 2016 Global Services Location Index, Romania ranked 13th, advancing 5 positions since the previous year, because of financial attractiveness, people skills and availability and business environment.

The economic situation of Romania seems to have finally shaken off the consequences of the global financial crisis of 2008 and has started to flourish. The country’s growth is among the highest in the EU in 2016 and will probably continue in 2017 at the same pace. If 2013 and 2014 brought a small economic comeback, it was because of exports and rich agricultural harvests combined with consistent industrial production. 2014 was the year when the IT&C sector surpassed agriculture, booming among all other economic sectors in Romania.

In 2015, the Romanian IT&C sector contributed 5.6% to the national GDP. But in the first quarter of 2016 alone, its share increased to 6.1%, according to the National Statistics Institute (INS). At such a pace, by 2020, the turnover may well surpass 4 billion EUROS[4]. This IT&C industry growth rate places Romania on one of the lead positions within the European Union.

Romania - Total SITS Industry - Market Destination - Volumes and Growth Rate
Romania – Total SITS Industry – Market Destination – Volumes and Growth Rate. Source of Image and Data.

Romania is still behind in technology startup activity, and business investment in R&D has not yet reached a well developed stage. This is however an opportunity for the Romanian IT sector, with a specific reference to the offshore and nearshore investments through services on specific niches that are yet to be exploited[5]. Moreover, the Romanian government has created and successfully implemented a law on tax exemption for “software development activities”, a strong incentive to trigger and support the IT sector’s development, which made Romania a true fiscal paradise, especially for investors. The reason behind the tax exemption law was to be able to ensure economical growth. The higher the salaries, the more interest for an IT career and Romania’s pool of talents has just started to develop at Western standards[6].

Its strategic position and a high availability of resources make Romania a powerful outsourcing partner, given the technical proficiency and software abilities of employees. Occupying a top 10 position in both Europe and worldwide in terms of certified IT specialists[7], Romania now has around 120,000 employees in the IT industry, of which 60,000 are presently engulfed in the outsourcing sector[8].

Education plays an essential role in preparing the future generation of developers and the Romanian higher system of education is adapting to this new perspective. Since 2015, a new Strategy for tertiary education was adopted, aiming to improve the participation in tertiary education, to develop and implement high-standard study programs that are relevant to the labor market and ensure the business and IT&C sectors’ involvement[9].

As a result, some IT&C companies have been actively involved in cooperation with major universities, especially targeting the Information Technology, Automation and Computer Science, Telecommunications and Electronics departments, where they implement Mentoring Programs for students, right from their first years of university. Such programs involve practical workshops, training sessions, prep courses, summer internships and professional supervision of BSc and MSc dissertations.

3 cities in Romania are host to over 220 service centers, with 5 others emerging as hubs for another 45 companies
3 cities in Romania are host to over 220 service centers, with 5
others emerging as hubs for another 45 companies. Source of Image and Data.

The top universities in Romania include 5 polytechnic universities, 59 domain-specific universities and 174 private colleges, over 70% of Romania’s IT&C specialists having a tertiary education[10]. Romania’s geographic position and Latin heritage make it easier for professionals and graduates to develop and use linguistic skills that cover English, French, Italian, Spanish, German, and Russian, bringing that extra notch of competitiveness that many other outsourcing areas lack. This strong pool of educated talent is another mark of Romania’s outsourcing potential, Romanian developers and programmers being resourceful, open-minded and creative individuals, specialized in various technologies.

Romania is becoming one of the most sought-after nearshore and offshore locations in the IT&C business. Putting a high stress on transparency and secured IT services and capitalizing on solid education combined with thinking outside-the-box, Romania is truly consolidating a lead position in the outsourcing European and global markets.

In a 2016 report produced by ABSL and KPMG[11], most of the outsourcing companies operating in Romania have already set a 2-year plan for expansion, stabilization and optimization of services and activities. Besides the talent pool, the Romanian legal and fiscal branches also strive to trigger changes that support and encourage the outsourcing market through various incentives, subsidies and grants, government support, reduced taxes and other facilities. Albeit with a slow start, constant operational advancement and clear desire for growth has given Romania its thrust in the IT&C industry, capitalizing on niche technologies and strengthening foreign client relationships. A trait of maturity has become visible in the information technology and communication domain through the quality of outsourcing services provided. Hence, during the last few years, ongoing nearshore and offshore collaborations have been very promising and sustainable, meeting the customer’s demands and even exceeding expectations.


References:
[1] Outsourcing Advisors, Romania http://www.outsourcingadvisors.ro/ro-economy-info/
[2] The Diplomat, Bucharest http://www.outsourcing-today.ro/articol.php?id=6732
[3] The Diplomat, Bucharest http://www.outsourcing-today.ro/articol.php?id=6732
[4] Romania-Insider.com http://www.romania-insider.com/romanias-it-sector-gdp/
[5] European Commission, Country Report Romania 2016 http://ec.europa.eu/europe2020/pdf/csr2016/cr2016_romania_en.pdf
[6]Romania-Insider.com http://www.romania-insider.com/romania-expands-tax-incentives-software-programmers/
[7] IBP Group Business Digest, Romania http://rbd.doingbusiness.ro/articles/the-outperforming-romanian-it-c-market-gaining-momentum/4178/
[8] ANIS Employer Association of the Software and Services Industry, Romania IT Industry Key Points http://priaevents.ro/wp-content/uploads/2016/10/TBlidarus-_-ANIS-_-Software-and-IT-Services-in-Romania_Overview.pdf
[9]European Commission, Education and Training Monitor 2016 https://ec.europa.eu/education/sites/education/files/monitor2016-ro_en.pdf
[10] Brainspotting, IT&C Talent Map Romania 2016 http://www.brainspotting.ro/wp-content/uploads/2015/10/Brainspotting_ITC_Talentmap_2015-2016.pdf
[11] ABSL Outsourcing Industry Report 2016 http://www.absl.ro/sites/default/files/absl_romania_industry_report_2016.pdf