Post on 11-Apr-2017
Path to successUsing Outsource for a Startup
Roman SmolgovskyHead of EngineeringSORT Financial
To Outsource or Not to Outsource?
❖ Benefits❖ Cost (Duh?)*❖ Talent attraction ❖ 24x7 development cycle
❖ Drawbacks❖ ‘Knowledge distribution’❖ Regulations compliance (Government, financial,
security, etc.)❖ Distributed team
“The road so far…”❖ Outsource 1.0 - “Give us a spec and we will build it
for you”❖ Charge per hour (disaster!) or per project (try to
get it!)❖ Requires:
❖ Very detailed and accurate specification - impossible to make!
❖ Coordination and alignment effort (often billable!!!)
❖ Project management and activity tracking - time consuming and boring!
“The road so far…” - Continued
❖ Outsource 2.0 - “Here is your team…”❖ Charge per person per month❖ Same personnel for long period of time❖ Has a Delivery Manager (may even not be
billable) that is responsible to assure your success ❖ Very often residing in US
❖ You manage the team any way you want (Agile - suggested, more about it later)
What to look for in Outsource 2.0 provider
❖ Personnel retention, no personnel rotation❖ Personnel is 100% dedicated to your project❖ Adequate development/testing equipment (at times
it is OK to pay extra for some testing stuff)❖ Facilities: conference rooms, videoconferencing
facilities, ability to easily reach the team (e.g. US phone numbers)
❖ Personnel engagement and interest❖ Teams training and intra-team knowledge sharing
Set your expectations…❖ “Out of the box” the team is not yours!
❖ They may (and will) see you as a ‘stranger’❖ They may not push back when needed ❖ They may take requirements and procedures literally!❖ They will not ‘fill the blanks’
❖ Language barriers (lots of funny stories)❖ Even the best speaking team may not understand all the subtleties
❖ Cultural differences❖ Amount of vacation time❖ Start time and working habits
Expected from you…❖ Strong engineering management at the home office
❖ Manages your remote team and represents them within your company❖ Establish connection with your team
❖ Meet them in person - periodically spend time at their facilities❖ Identify the key events (new release planning, etc.) and spend a few
weeks at their location working together❖ Establish daily call with a video
❖ Establish the right attitude towards the remote team in the home office❖ Eliminate ‘they’ attitude ❖ Establish collaboration outside engineering; e.g. QA-Product
Management, UX designers - UX developers, etc.
Expected from you…(Cont.)
❖ Figure out the mechanisms to motivate your outsourced team❖ ‘We are all in it together’ - work with your team in
their office❖ Cool technology/‘You can learn cool stuff’ -
exposure to the Silicon Valley new tech. Presentations, training, etc.
❖ US visits ❖ Souvenirs, team lunches, team dinners❖ Bonuses
Expected from you…(Cont.)
❖ Develop relatively formal processes. Clearly establish:❖ What is expected from the remote team❖ What is expected from the home office❖ Collaboration between the home office and remote
team: requirements, planning, artifacts, etc.❖ Measurements of performance and success
❖ Assure that requirements, artifacts, etc. are completely ready in advance way before the development effort is expected to start
Expected from you…(Cont.)
❖ Establish formal SDLC❖ Recommendations:
❖ New Development: ❖ Scrum, 2 weeks iterations❖ Planning in ideal time. You must assure relatively stable throughput after 2-3
sprints❖ Continuous integration (Unit, Integration, System Tests on every GitHub
merge)❖ Maintenance/Operations
❖ Kanban with the regular planning❖ Constant effort ❖ Clear understanding of the priorities❖ Automated deployment
Performance and Success Measurement
❖ Estimates Vs Actuals - delta should decrease❖ Steady throughout when nothing changes
❖ Investigate any deviation❖ Number of critical bugs post release - should be 0❖ Number of mid-air substantial requirements changes - should
be 0❖ Number of midair requests for the requirements clarifications❖ Number of deviation from the requirements❖ Number of re-opened bugs and number of the re-opening of
the same bug (per developer)
Thank you!Questions, Comments, Concerns