Transcript
Page 1: Beyond the Technical - Compatibility with your Software Engineering Team

Beyond the TechnicalCompatibility with Your Outsourced

Software Engineering Team

Software Engineering

Page 2: Beyond the Technical - Compatibility with your Software Engineering Team

Compatibility?• The partnership between a vendor of outsourced

engineering teams and their client isn’t a marriage…• But it is an important relationship – worth consideration

• Online service markets “simplify” the process of finding help for projects, trying to define the relationship as simple labor arbitrage• Narrows pool to a group of “qualified” vendors that are

available now and a price they are willing to accept• The 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?”

Page 3: Beyond the Technical - Compatibility with your Software Engineering Team

Compatibility?• Trade-Offs?

• The detail available in most situations includes:• Technical skills• Work Experience• Availability• Stability• Cost, Cost, Cost…

• Given 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 categories• If 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

Page 4: Beyond the Technical - Compatibility with your Software Engineering Team

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 product• In 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 Cost• Stability• Legal and Security Environment• Infrastructure

• Real-Time Availability• Human Resources• Cultural Compatibility

Page 5: Beyond the Technical - Compatibility with your Software Engineering Team

Real Cost• Beyond 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?

Page 6: Beyond the Technical - Compatibility with your Software Engineering Team

Real Cost• Costs not usually accounted for:

• Cost of unexpected weather and the need to heat or cool the working environment

• Equipment not up to spec for the technical needs of the project

• Travel cost and time to and from the team locations can be significant, especially if it is needed frequently

• Intermediaries necessary to assure team communication during working hours or because of language

• These 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

Page 7: Beyond the Technical - Compatibility with your Software Engineering Team

Stability• The stability of the

individuals on your team is an important issue but…• What about the vendor,

their business, the local and national institutions they depend on?

• If the members of your team aren’t paid on time – what they expect• They will move on to

something more stable

Page 8: Beyond the Technical - Compatibility with your Software Engineering Team

Stability• If the local and national

government institutions do not offer the kind of business environment, infrastructure, and/or political environment that will support global outsourcing & technology• It can make it very hard to

maintain consistent business operations on the vendor side

Page 9: Beyond the Technical - Compatibility with your Software Engineering Team

Stability• On one hand

• This is part of the trust relationship you need to have with your vendor

• On the other• This 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 indicates

• A vendor that is open about their situation and problems they face that could impact their service• Is 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.

Page 10: Beyond the Technical - Compatibility with your Software Engineering Team

Legal & Security Environment• Your intellectual property (IP)

• Protection from theft and the security required • Contractual agreements

• Supporting international agreements (Like NAFTA)• Technical standards

• Data 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 situation

• Compliance• You 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

Page 11: Beyond the Technical - Compatibility with your Software Engineering Team

Infrastructure• Virtualized infrastructure

is relatively inexpensive & ubiquitous• We shouldn’t have to

worry about local servers & technology like we once did

• There is a valid concern for the speed, stability & security of network access locally and over the internet

Page 12: Beyond the Technical - Compatibility with your Software Engineering Team

Infrastructure• The suitability &

maintenance of workstations, printers & office equipment impacts productivity• If 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

Page 13: Beyond the Technical - Compatibility with your Software Engineering Team

Infrastructure• The building infrastructure that

supports your team is also a concern• Do 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?

Page 14: Beyond the Technical - Compatibility with your Software Engineering Team

Real-Time Availability• You expect your team to have regular hours so you

can reach them and collaborate with them as you need to – but…• If they are located several time zones away• If 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 Asia• It isn’t unusual to have a 10-12 hour offset between your

teams• There are many stories of team members that have to be up

at 2am to assure issues will be cleared

Page 15: Beyond the Technical - Compatibility with your Software Engineering Team

Real-Time Availability• Experience suggests that you need at least a three hour overlap

between teams but…• If you use a lean/agile methodology with incremental releases and stakeholder

involvement – 3 hours may not be enough. • You don’t want your dev team sitting on their hands for extended

periods of time – waiting for an answer to a question• You don’t want your team spending hours or days going down the wrong path

before they can be called back• In 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.

Page 16: Beyond the Technical - Compatibility with your Software Engineering Team

Human Resources• Recruitment is just the

most visible part of the responsibility your vendor takes in HR• Just as important is the

training, incentives, assessment, and benefits that contribute to retention of your team over the long run

Page 17: Beyond the Technical - Compatibility with your Software Engineering Team

Human Resources• Most teams are composed of

relatively young professionals that are taking on the responsibilities of a working life, relationships and families• Do 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

Page 18: Beyond the Technical - Compatibility with your Software Engineering Team

Human Resources• If HR issues are not clearly

addressed and transparent to your team, they can create unexpected delays or downtime• No one can assure that team

members won’t get better opportunities or change their career at some point• But vendors can make it much

less likely and have contingency plans in place to mitigate problems

Page 19: Beyond the Technical - Compatibility with your Software Engineering Team

Cultural Compatibility• Language, organizational

culture, hierarchy, local customs, societal norms, knowledge of other cultures and work patterns• All these areas and more are part

of cultural compatibility but they are often ignored in basic team evaluations

• Initially – language skills are a recruitment issue• But over time skills require

practice and reassessment along with focus on other soft skills

Page 20: Beyond the Technical - Compatibility with your Software Engineering Team

Cultural Compatibility• Culture is an important issue in

team cohesiveness and the willingness of team members to step forward, ask questions and share experience• When used productively,

cultural differences can be an asset – bringing different points of view to the table• But if they create barriers and

moments of uncertainty they can present unexpected holes in communication and understanding

Page 21: Beyond the Technical - Compatibility with your Software Engineering Team

Cultural Compatibility• Without a shared

understanding of culture, misunderstandings can stifle collaboration• Usually language, the arts

(books, movies, TV, etc.) and travel remove a lot of barriers• The closer teams are

geographically – the more likely they are to share points of view and understanding

Page 22: Beyond the Technical - Compatibility with your Software Engineering Team

Consider Core Concerns• These 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 build• That ability is the core of compatibility that makes teams successful and

valuable outside the direct impact on software development they have• It takes time and discussion to arrive at a common understanding of

how a relationship should work• Hopefully 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.

• Don’t 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.

Page 23: Beyond the Technical - Compatibility with your Software Engineering Team

We’re Scio Consulting• We provide nearshore, outsourced

software engineering teams• We’re aware of and deal with the

compatibility issues in our partnerships with clients• We structure our teams, services

and engagements to make it easier to work together seamlessly

• We have experience across many industries and project sizes

• If you are interested in hearing more about how our approach could benefit your next project – Contact Us


Top Related