If offshoring is often driven by short term considerations and economical drivers, there are better reasons to externalize software development. And why not coming to Switzerland?. Over the past two years, we have reversed the offshoring flow, pursuing ambitious IT projects for US companies, from the Swiss mountains.
The Agile Tour conference in Lausanne is the occasion of the lessons learned during adventures and to reflect on how we can improve the development of inhouse digital products.
Offshoring in Switzerland Risks and Success Factors
1. Offshoring in Switzerland?
You can do it!
Experience and lessons learned
Alexandre Masselot
midwatch, Switzerland
http://bit.ly/alex-mass
alex@midwat.ch
Food for thoughts:
A)Why offshoring?
B)What are the main risks?
2. Offshoring in Switzerland?
You can do it!
Experience and lessons learned
Alexandre Masselot
midwatch, Switzerland
http://bit.ly/alex-mass
alex@midwat.ch
Food for thoughts:
Why offshoring?
A)What are the main risks?
3. Offshoring in Switzerland?
You can do it!
Experience and lessons learned
Alexandre Masselot
midwatch, Switzerland
http://bit.ly/alex-mass
alex@midwat.ch
4. Offshoring in Switzerland?
You can do it!
Experience and lessons learned
Alexandre Masselot
midwatch, Switzerland
http://bit.ly/alex-mass
alex@midwat.ch
6. Offshoring in Switzerland?
You can do it!
Experience and lessons learned
Alexandre Masselot
midwatch, Switzerland
http://bit.ly/alex-mass
alex@midwat.ch
7. Offshoring in Switzerland?
You can do it!
Experience and lessons learned
Alexandre Masselot
midwatch, Switzerland
http://bit.ly/alex-mass
alex@midwat.ch
9. Offshoring: many observed setups
Failures
• Multiple worldwide setups
• Outsourcing the whole technical/
development pole
• “Proximity” offshoring
• Goal less delocalised teams
Successes
• San Francisco/Poland
• Yverdon/East Europe
10. Offshoring in Switzerland: 2 projects
Dallas
• Blockchain for the “Tulipe” business
• Complex problem
• Hyperledger
• AWS multi-availability zones
• Legal, auditing
• Performance, security
• iOS
• 9 months - 8 persons in Switzerland
• PO in US + “tech” PO here
11. Offshoring in Switzerland: 2 projects
San Francisco
• Life Science research (genomics,
biochemistry…)
• An initial internal attempt
• Complex project
• directly coupled with the research in the lab
• A tool to assist and not dictate
• Daily & occasional users
• Google Cloud + Instrument agents
• 2-4 dev in CH
• PO in SF
Dallas
• Blockchain for the “Tulipe” business
• Complex problem
• Hyperledger
• AWS multi-availability zones
• Legal, auditing
• Performance, security
• iOS
• 9 months - 8 persons in Switzerland
• PO in US + “tech” PO here
12. Offshoring in Switzerland
• Expensive (1400-1800 CHF/day)
• We take over development and methodology
• A vision but no clear details about the valuable features to be built
• Thinking about the longer term: a product is never done
17. TECHNOLOGY
ORGA METHODO
• Turning keystrokes into features (or bugs)
• Ensuring the longer term product quality/
maintainability and hand over
• Highest cost center in developing a product
• Scarcest human resources on the market
18. TECH
ORGA METHODO
• Languages/frameworks
• The most stable, fit for the job
• Cloud: use managed services (Kubernetes, databases)
• Is NoSQL a real need? PostgreSQL can go far
• Avoid big names: “Big Data”, “AI” etc.
Choosing Dev Tools
19. TECH
ORGA METHODO
• To address a problem, several options are often possible (cheap/expensive, quick win/
future proof etc.)
• Use an architecture diary to explicit several possibilities
• Tech shall explain the the cost and benefit of each
• Decide with the PO
Making choices
20. TECH
ORGA METHODO
• Testing strategy
• TDD
• End to end
• System, performance, data etc.
• Security must be in the loop since day 1
• Keep up with stacks/tools evolution
You go for the long run
21. TECH
ORGA METHODO
• Doing repetitive tasks manually
• Expensive
• Boring
• Error-prone
• Eventually skipped
• CI/CD
• Gitlab CI (and the likes) is your best friend
• Invest in speed and reliability
• Use containerisation (Kubernetes, Docker) for development and multiple deployments
• Prod deployment should be a click button
• Investing in automatisation has the shortest ROI
Automate!
22. TECH
ORGA METHODO
• Rotate the team members over the components/stacks
• Lower the bus factor
• Get team mates insights
• An efficient complement to code review
• Spread the know-how
• It is “The code”, not “Your code”
• Pair-program on critical tasks
• Measure the level of global code ownership
Team Life
23. TECH
ORGA METHODO
• The vision is not only on some managers slide deck: it mut be taken up by all team
members
• Be transparent about larger tool considerations (corporate strategy, competition…)
• A simply recipe: have developers talk to users
• Turn motivation on delivering value instead of
playing with fancy tech for the sake of it
Team Spirit
TECH
ORGA METHODO
24. ORGA METHODO
METHODOLOGY
• The set of rules and processes to ensure we build
a usable and useful product in an iterative fashion
25. METHODO
ORGA METHODO
• Development team is collocalized in Switzerland
• Continuous communication
• Product Owner setup
• Dallas: “tech” PO in Switzerland (80%)
• San Francisco: PO in the lab site (25% - everyday)
• PO roles
• Serves as navigator, keeping the product align with the vision and corporate strategy
• Makes the call on tactical choices
• Accountable, but have decision power (trust from the stakeholders)
• PO does not need to have any prior knowledge of the job, but the right attitude
The team
26. METHODO
ORGA METHODO
• Several off-the-shelf method exists (SCRUM, Kanban etc.)
• They shall be mastered before being tuned
• Use the one which is applied to your team and environment
• We usually quickly turned to ScrumBan
Which Agile Flavour?
27. METHODO
ORGA METHODO
• Continuous delivery:
• Twice a day in validation env
• once a week in prod
• Daily
• Dallas: 15’ + ~30’ of architecture discussion face to face
• San Francisco: 20’ remote at 4PM CET
• Demo: biweekly + a shorter dedicated weekly
• Roadmap: 2-3 months
Cycles
<
28. METHODO
ORGA METHODO
• The root of human interactions
• Build a common understanding
• Shape the next roadmap iteration
• Develop trust
• Celebrate! Party!
Face to Face Time
29. METHODO
ORGA METHODO
• Communications tools: anything with a
good quality
• Digital Agile tools (Jira, Leankit, Smart
sheets etc…) are no match for a wall with
PostIt
• Lack of flexibility & omnipresence
• Daily send a picture
Tools
30. METHODO
ORGA METHODO
• Mockup tools (XD) are shiny but are only tools.
• Paper drawing on paper and short video call are more efficient.
• Emphasize on short implementation/feedback
• Just in Time!
About lean UX
Propositions to the user Answer
31. METHODO
ORGA METHODO
• Production do bugs happen
• Addressing such critical situations is a root to build the trust
1.Wave the flag
2.Solve the issue
3.Give a feedback
•What happened (timeline)
•The cause
•Resolution steps
•What is plan for the problem not appear again.
Post Mortem
33. ORGA
ORGA METHODO
• On a single project
• 80% billable
• 20% of slack for training & side projects - a true investment
• Communication with the customers
• Across all the hierarchy
• Direct access to users
• Avoid irrelevant intermediaries
The Dev team
34. ORGA
ORGA METHODO
• An agile contractualisation:
• No upfront specifications
• Reconductible by default
• Stop for the end of next month
• Project start with a 2-3 week of scoping:
• Get to know each others
• Share a common understanding of the project and methods
• On site visit:
• Deluxe treatment
Offshoring: the Contract Side
36. ORGA
• Value team achievements (user +
stakeholder + dev) over tracking
individual metrics
• Get rid of “hero” and “toxic”
players
• Limit middle management and
intermediaries
• Do not try to cut cost where
competencies are required: “you
pay peanuts, you get monkeys”
• “La confiance est une prise de
risque” Julia de Funès
METHODO
• Start with a 360 scoping
• Shorten feedback loops: dev in
the lab, continuous deploy to
user and remove unnecessary
brokers
• A Product Owner shall truly own
the product
• Do not over engineer the process
for the sake of it (do you really
need a SCRUM master?)
• Reconsider using digital tools
• Do not forget continuous
improvement
TECH
• “You build it, you own it”
• Engage the team in the product
value
• Automatise everything
• Rotate developers over the code:
increase know-how, tech
empathy, stability, resilience
• Hire the best (“junior cost less”)
• Promote software craftsmanship
over playing with the latest piece
of tech.
38. METHODO TECH
ORGA
CULTURE
Culture eats strategy
for breakfast
Peter Drucker
You can’t
change culture, but you
can influence behavior and
behavior becomes
culture
Damon Edwards
39. METHODO TECHORGA
• Value team achievements (user +
stakeholder + dev) over tracking
individual metrics
• Get rid of “hero” and “toxic”
players
• Limit middle management and
intermediaries
• Do not try to cut cost where
competencies are required: “you
pay peanuts, you get monkeys”
• “La confiance est une prise de
risque” Julia de Funès
• Start with a 360 scoping
• Shorten feedback loops: dev
meet users, continuous deploy
and remove unnecessary brokers
• A Product Owner shall truly own
the product
• Do not over engineer the process
• Reconsider using digital tools
• Do not forget continuous
improvement…
• “You build it, you own it”
• Engage the team in the product
purpose
• Automatise everything
• Rotate developers over the code:
increase know-how, tech
empathy, stability, resilience
• Hire the best
• Promote software craftsmanship
over playing with the latest piece
of tech.
Alexandre Masselot - midwatch, Switzerland - http://bit.ly/alex-mass - alex@midwat.ch