Agile Nearshoring Solutions


Published on

Introduction to the concept of agile nearshore outsourcing.
The combination of agile processes with nearshore outsourcing offers a lot of benefits. This presentation explores the basic ideas of agile and nearshore outsourcing and how both approaches can be combined.

Published in: Business, Technology
  • Be the first to comment

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Agile Nearshoring Solutions

  1. 1. Agile Teams 2 Build Your Dreams!
  2. 2. Values, Focus, Transparency and fast results. Agile Processes
  3. 3. Agile Values – Agile Manifest Manifesto for Agile Software Development We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value: Individuals and interactions over processes and tools Working software over comprehensive documentation Customer collaboration over contract negotiation Responding to change over following a plan That is, while there is value in the items on the right, we value the items on the left more.
  4. 4. Bildquelle: This work is licensed under a Creative Commons Attribution 2.5 License, which means you can copy, distribute, and display the images including in commercial and derivative works as long as you include attribution to Mountain Goat Software.
  5. 5. Scrum Values  Openess (eg. in the retrospective)  Respect (eg. trust the team)  Focus (eg. team: Focus on the sprint goal, get not distracted. PO: Select the most important stories.)  Commitment (eg. Keep your promises)  Courage (eg. Have the courage to decide, not to accept bad work, keeping your estimate)
  6. 6.
  7. 7. Time to market, more flexibility, cost reductions and external know how Nearshoring
  8. 8. Definition: Nearshoring Europe eg. Asia Germany eg. Ukraine eg. Vietnam Same building / location. Inhouse Onshore Nearshore Offshore Onsite Continent own Resources of a resources external provider Country Source: IT-Near- und Offshoring in der Praxis (Nicklisch, Borchers, Krick, Rucks), Page 5
  9. 9. Inhouse Offshore NearshoreCosts are well known Significant cost reduction Significant cost reduction possible: Low labor costs, high possible: Low labor costs, transaction costs medium transaction costsEverybody shares similar Cultural differences exist Less cultural differences, teamCulture (cultural backgrounds) culture usually dominatesInteraction: Developer teams Developer teams are far away Developer teams usually can bework on-site or close by and visiting them requires a lot visited in one business day of time and money (including return flight)Same Rhythm Some regions do have huge time Only minor time zone zone differences, coordination differences, same rhythm can be gets more complicated establishedLess Flexibility because all High flexibility, high variance of Highly flexible for standardresources are fully allocated to quality of the assigned technologiessave costs developersEverybody speaks the same Depending on country English is English, Russian, some German,Language (...) well established as second French languageLegal security Depending on the country there Legal systems are quite similar, might be huge legal ramifications sometimes under EU law
  10. 10. Nearshore Outsourcing  Reducing Time to Market  Flexible developer resources with special skills  Significant Cost reduction possible, risks shared  Very good Education and know how  Only minor Cultural differences  Good language skills, English as second language  Experienced providers, customers from the US  Success rate using Nearshoring is higher then with Offshoring
  11. 11. Nearshoring – What to take into consideration? WHAT: Outsource the right tasks and processes Not every project and component can be successfully outsourced. Some issues to take into consideration:  Data privacy and intellectual property (Data and know how)  Degree of specialization & Dependencies between software systems and interfaces  Coordination effort WHO: Chose the right partner For the decission whether distributed development is possible the following issues should be taken into account:  Know how of the development team & Experience and willingness to work based on agile principles  Communication: Speaking the same language and allow intensiv cooperation between teams  Compatibiity between Processes of customer and provider (dev team)  Legal security: Minimize legal risks HOW: Be prepared and gain experience  Before starting there should be project plan and a vision how to work together  Be well prepared before starting a major project.  Start with a Pilot project - Gain experience and learn from that
  12. 12. Agile Methods and Nearshoring – does it work? Yes of course!
  13. 13. Risks “Outsourcing, when not managed properly, can be a dangerous and dare I say, deadly business. There are plenty of well documented near death experiences of outsourcing initiatives that ended in complete disaster fo both parties.”  Nick Krym, Pragmatic Outsourcing
  14. 14. Risks  No real partnership  If one side dominates the relationship problems will arise quickly.  Communication problems  Missing open communication is a major risk. Language barriers.  Interpretation of „Agile“  Tranferring the agile values and principles to the project reality. A lot of experience is required!  Dependency on the service provider  Absolut dependency should be avoided since you may lose flexibility  Assembling the Team / Team Members  A „bad“ team can‘t meet the expectations. Invest into senior members.  Cost increases & Attrition rates  Missing transparency of costs, wrong assumtions and high attrition rates are major risks.  The overal costs can be higher as expected due to process costs (communication, management) and lower productivity.  Law & Contract  Risks must be shared equally.  Software Engineering Risks  Even cheap rubbish is too expensive to buy.
  15. 15. Horror Stories “I stopped a development project by a team of five ‘very senior’ offshore engineers after 3 months due to quality issues. Two months later the project was completed by one in-house resource.”  Nick Krym, Pragmatic Outsourcing “We stopped a development project being delivered by an offshore senior developer and several mid-level ones due to quality and productivity issues. A single mid-level in-house developer later delivered the project with oversight from a senior developer in less time than it took us to ramp up the team in Bangalore.”  Nick Krym, Pragmatic Outsourcing
  16. 16. Success Factors  Partnership  Relationship between Customer and Provider is like a marriage  Business case exist, responsibilities are clarified  Openness & Trust  Communication  Continuous open communication  Close customer interaction, customer is available for answering questions  Focus & Reduced Complexity  Engineering Practices  Using industry best practices and standards, getting things done  Unit testing / Test Driven Development, Continuous Integration, Configuration and Release Management  Agile Values and Processes are used in daily work  Minimizing Risks  Short iterations with usable increments, reviews with the customer. Customer gets business value (usable software) while the project is running.
  17. 17. Best Practices & Tools  Visits / Co-Locating  At least key players must know each other in person and have met several times. This helps creating trust.  The more meetings in real – the better the results (worth the investment of time and money)  Hint: Meetings could and should include having some fun together.  Daily Meetings (Scrum Daily) and ongoing communication  Video Conferencing, Shared Desktop  Instant Messaging  Project Management Tools  Strong customer involvement  Transparency instead of obfuscation  Customer is able to really manage the project
  18. 18. Best Practices & Tools Kommunikation/Collaboration Knowledge database  VoIP, Skype, Netviewer, WebEx,  Wiki, Twiki, Confluence Instant Messaging, internal Twitter, Video Conferences, Security tools Configurations Management  SVN, CVS, Maven, Jam Project Management  Jira, MS Project, XPlanner (Agile), Continuous Integration ScrumWorks (Agile), TargetProcess(Agile), tinypm (agile),  Hudson, Quickbuild ExtremePlanner, IceScrum, SilverCatalyst (agile), Excel , Software Quality Agilefant , Agilo, VersionOne  UnitTest, Selenium, Metrics, Code Style checker… Requirements Engineering  Doors, IBM Rational Requisite PRO, Bug Tracking Enterprise Architect, Excel Liste  Jira, Bugzilla
  19. 19. Agile Methods and Nearshoring are a perfect match because ... Focus on Communication  Same time zone: Direct Communication (synchronous) possible, instant Feedback  Communication is a core practice (Focus) for agile methods Responsibility  Agile Methods based on sharing same culture and values  Taking responsibility encouraged by agile values Creating Trust by having Transparency  Nearshore location simplify visits – important for better transparency and building trust  Short cycles (iterations) result in usable software increments  Agile methods are based on transparency : Important for all distributed projects. Focus on Quality  Higher quality to fast Feedback  Using modern engineering practices (XP, TDD, ...) Experience  A lot of providers are very experienced with working in distributed projects.  Scrum is used a lot by Nearshoring providers, XP is well known, too
  20. 20. Contact  More information available on our web site   Get in contact with us for discussing further details:   0721-754069-85