beyond the technical - compatibility with your software engineering team

Download Beyond the Technical - Compatibility with your Software Engineering Team

Post on 16-Apr-2017




2 download

Embed Size (px)


Beyond the Technical Compatibility with Your Outsourced Software Engineering Team

Beyond the TechnicalCompatibility with Your Outsourced Software Engineering TeamSoftware Engineering

Compatibility?The partnership between a vendor of outsourced engineering teams and their client isnt a marriageBut it is an important relationship worth considerationOnline service markets simplify the process of finding help for projects, trying to define the relationship as simple labor arbitrageNarrows pool to a group of qualified vendors that are available now and a price they are willing to acceptThe question they embody: How much will it cost to resource a basket of technical skills and experience that can begin work when needed and will continue to be available throughout the project?

Compatibility?Trade-Offs?The detail available in most situations includes:Technical skillsWork ExperienceAvailabilityStabilityCost, Cost, CostGiven these options if a team meets four out of five of the requirements, it is often possible to exchange a reduction in cost for a deficiency in one of the other categoriesIf the project is considered to be strategic & high value to core business, the pressure to find a lower price will be less and but pressure will increase on finding an exact requirements match

Is That All We Care About?When you consider the value of a software engineering team is that really all you should care about? As an agile team, they can carry a lot of responsibility and value in both the project and the development of the productIn addition to the soft skills of human interaction necessary for a successful team, consider the risks do you expect your outsourcing vendor to mitigate for you?Real CostStabilityLegal and Security EnvironmentInfrastructureReal-Time AvailabilityHuman ResourcesCultural Compatibility

Real CostBeyond evaluating the cost/hour of resources in a team what is the Total Cost of Engagement (TCE) of the outsourced team to the project?What costs is the outsourced team offsetting or absorbing as a part of their responsibility that you would otherwise have to bear?What additional costs are you incurring because of the relationship?

Real CostCosts not usually accounted for: Cost of unexpected weather and the need to heat or cool the working environmentEquipment not up to spec for the technical needs of the projectTravel cost and time to and from the team locations can be significant, especially if it is needed frequentlyIntermediaries necessary to assure team communication during working hours or because of languageThese issues and more are not part of a resource-based, cost-per-hour calculation but the are part of the real cost of a project

StabilityThe stability of the individuals on your team is an important issue butWhat about the vendor, their business, the local and national institutions they depend on?If the members of your team arent paid on time what they expectThey will move on to something more stable

StabilityIf the local and national government institutions do not offer the kind of business environment, infrastructure, and/or political environment that will support global outsourcing & technologyIt can make it very hard to maintain consistent business operations on the vendor side

StabilityOn one handThis is part of the trust relationship you need to have with your vendorOn the otherThis is part of what you need to evaluate as a part of vendor evaluation no matter where they are located, or what their past history indicatesA vendor that is open about their situation and problems they face that could impact their serviceIs a real asset, because you have the opportunity to mitigate risk and find a solution. No situation is perfect. Trust and an honest assessment of risk is key.

Legal & Security EnvironmentYour intellectual property (IP)Protection from theft and the security required Contractual agreementsSupporting international agreements (Like NAFTA)Technical standardsData encryption (as one example) is a good thing but in an uncontrolled physical environment it may not matter. Standards are only as good as the weakest link. No matter how good the legal protections, once your IP is compromised, it is gone. Closing the gate after the horse is gone will not rectify the situationComplianceYou should be able to trust that your vendor is complying with local laws & requirements to ensure that issues do not arise from enforcement actions or other situations

InfrastructureVirtualized infrastructure is relatively inexpensive & ubiquitousWe shouldnt have to worry about local servers & technology like we once didThere is a valid concern for the speed, stability & security of network access locally and over the internet

InfrastructureThe suitability & maintenance of workstations, printers & office equipment impacts productivityIf maintenance issues are not attended to, if hardware issues (monitors, CPUs, networks, etc.) are not managed by dedicated IT, the risks of downtime and lowered productivity rise

InfrastructureThe building infrastructure that supports your team is also a concernDo they have an environment where the temperature, air circulation, noise, lighting, distractions and cleanliness are conducive to their work?Do they have good access to water, facilities for eating away from their workstations, transportation, parking and the other amenities that remove obstacles to their availability & reliability?

Real-Time AvailabilityYou expect your team to have regular hours so you can reach them and collaborate with them as you need to butIf they are located several time zones awayIf their customary working hours include a late start or a long lunch (among other cultural practices) You may find it difficult to communicate with your team without long delays over email or through intermediaries. If your team is in AsiaIt isnt unusual to have a 10-12 hour offset between your teamsThere are many stories of team members that have to be up at 2am to assure issues will be cleared

Real-Time AvailabilityExperience suggests that you need at least a three hour overlap between teams butIf you use a lean/agile methodology with incremental releases and stakeholder involvement 3 hours may not be enough. You dont want your dev team sitting on their hands for extended periods of time waiting for an answer to a questionYou dont want your team spending hours or days going down the wrong path before they can be called backIn the case of maintenance projects, the time offset may not be so critical.But very project, team, & product has their own limitations and time shifts can make them much harder to deal with. In agile development, especially for new products, the closer teams can work together in real time, the better the outcomes will be.

Human ResourcesRecruitment is just the most visible part of the responsibility your vendor takes in HRJust as important is the training, incentives, assessment, and benefits that contribute to retention of your team over the long run

Human ResourcesMost teams are composed of relatively young professionals that are taking on the responsibilities of a working life, relationships and familiesDo they have any health benefits?Are childcare options available at a reasonable cost?Are family emergencies considered important? These are issues that should be addressed by vendor policies and programs in their organization

Human ResourcesIf HR issues are not clearly addressed and transparent to your team, they can create unexpected delays or downtimeNo one can assure that team members wont get better opportunities or change their career at some pointBut vendors can make it much less likely and have contingency plans in place to mitigate problems

Cultural CompatibilityLanguage, organizational culture, hierarchy, local customs, societal norms, knowledge of other cultures and work patternsAll these areas and more are part of cultural compatibility but they are often ignored in basic team evaluationsInitially language skills are a recruitment issueBut over time skills require practice and reassessment along with focus on other soft skills

Cultural CompatibilityCulture is an important issue in team cohesiveness and the willingness of team members to step forward, ask questions and share experienceWhen used productively, cultural differences can be an asset bringing different points of view to the tableBut if they create barriers and moments of uncertainty they can present unexpected holes in communication and understanding

Cultural CompatibilityWithout a shared understanding of culture, misunderstandings can stifle collaborationUsually language, the arts (books, movies, TV, etc.) and travel remove a lot of barriersThe closer teams are geographically the more likely they are to share points of view and understanding

Consider Core ConcernsThese areas should be responsibilities your vendor is able to take off your shoulders and free you to address the project and products you need to buildThat ability is the core of compatibility that makes teams successful and valuable outside the direct impact on software development they haveIt takes time and discussion to arrive at a common understanding of how a relationship should workHopefully you are able to visit the working environment of your outsourced team and experience it directly. You can learn a lot more in a couple of days on site than you can in weeks of shared emails, conference calls and documents. Dont allow yourself to have blind spots in y0ur relationship with your vendor. The time spent on addressing these areas is well spent and worth the effort.

Were Scio ConsultingWe provide nearshore, outsourced software engineering teamsWere aware of and deal with the compatibility issues in our partnerships with clients

View more