Presentation is loading. Please wait.

Presentation is loading. Please wait.

Your Global Application Development Partner September 2, 2010.

Similar presentations

Presentation on theme: "Your Global Application Development Partner September 2, 2010."— Presentation transcript:

1 Your Global Application Development Partner September 2, 2010

2 Content Engagement Model
Offshore Software Development Engagement Model Project Intranet to support information flow and access Several factors strengthen the business case for outsourcing Offshore Delivery Model US/Offshore Work Split 2 Types of Offshore Projects (Fixed-price or Collaborative/Agile) Role of Onsite Coordinator Offshore Outsourcing - No Micromanagement Suggestions Communication Tools How To Share Knowledge Project Development Approach Project Iterations Offshore/Onsite Testing

3 Corporate Facts People Financially Rock-solid
Offshore Software Development People Over 200 employees Strong Leadership Financially Rock-solid $7 M in Revenues in 2008 Strong focus on fundamentals Founded in 2001 in San Francisco, USA 2 continents, 2 offices, 2 offshore centers Offerings Top-notch services Flexible Engagement Model Quality ISO 9001:2001 Infrastructure State-of-the-art & fail safe Disaster recovery & Business continuity Clients Global Leaders: France Telecom, Quest Software, InterContinental Hotel Group, Protective Life Insurance Startups and mid-size product companies Delivery Capability Onsite-offshore model High level of technical skills & Domain competency

4 Engagement Model Phase 1 – Assess Client Goals
Offshore Software Development Phase 1 – Assess Client Goals Prepare Set a Baseline Identify Recommend Phase 2 – Plan/Set Tuning Parameters Goals Time-frame Milestones Resources Phase 3 – Launch Engagement Execute plan Phase 4 – Review and Correct Pilot Project Compare with baselines Adjust team, approach Phase 4 Phase 1 Phase 3 Phase 2 CLIENT ENGAGEMENT TEAM

5 Project Intranet Offshore Software Development Project Intranet to support information flow and access Consolidated project status Access to all project results, documents, interfaces Collaborative environment for Client and Vendor Distribution of information between project’s stakeholders (“active” information) Centralized repository (“passive” information) Access – in time, permanent, full volume Security Information (metrics, reports, documents for entire project areas)

6 Several factors strengthen the business case for outsourcing services in Russia...
Offshore Software Development Factor cost differential – Wage costs about 20% of US levels; real estate costs about 30% of US levels Time zone advantage – The nearly 11-hour time zone difference between US and Russia enables ‘follow the sun’ 24x7 coverage Robust telecom infrastructure – Russia’s telecom infrastructure today is world-class and cost- competitive, with various long-distance connectivity options, high-bandwidth local loop networks and high-speed Internet access Government incentives – Russian government is actively promoting offshore services, by setting up technology parks and other infrastructure, speeding up investment approvals and providing attractive tax incentives

7 Offshore Delivery Model
Offshore Software Development Of course, the split of work between front and back offices may change! Front Office Customer facing Back Office Russia Users, Customers Development Center 2nd and 3rd Level Support 1st level Support Front Office Functional Responsibilities Back Office Functional Responsibilities Common tools and Processes Knowledge Base Service Management Quality Management Technical Infrastructure

8 US/Offshore Work-Split
Offshore Software Development Periodic face to face meetings Service Delivery Manager monitoring operations SolveITLabs Development Center Client SolveITLabs US Office Client’s Business Users* Establish 2-way communication with user and work collaboratively till the ticket is closed 4 1 Log ticket Manage Contingencies Ticket assigned to Support Team Ticket assigned Client’s Helpdesk Front Office Support Team 2 3 3 Manage Contingencies Access Client’s Applications for Problem Resolution Client’s Systems US Offshore

9 Types of offshore projects
Offshore Software Development There are 2 main types of offshore projects Fixed-price projects Black box for the customer Well-defined specifications Not at heart of Customer’s Information System Or highly risky if they are! Collaborative/Agile projects Moving specifications IT teams on both sides Possibly developers on both sides Possibly Architects/QA on one side and development team on the other side Minimal project duration required For processes/tools/communications to set up on place For people interactions to reach a satisfactory level Can tackle complex projects (and with higher satisfaction levels)

10 Role of Onsite Coordinator
Offshore Software Development Should take neutral position as much as possible Handles administrative tasks: Arrival/Departure administration (secure id card, /access account, intranet account, mailing lists, etc) Organization of visits (identification of requirement, dates, agendas, people) in both directions Visa handling Infrastructure for offshore team: Infrastructure coordination + improvements (monitor performances, tune tools) - with help from customer’s IT team Organizational Role: Weekly technical and management conf calls with all the teams (dev team +Customer team) + follow up from these calls Management Status Meetings Communication facilitating + related communication improvements Crisis escalation investigation + handling Accompany Onsite members during offshore visits, ensuring success of agenda/visit. Methodology/Expertise: Definition of Project Development Process with “offshore in mind” and continuous improvements (e.g. short iterations introduction, detailed planning, acceptance criteria for code delivery, intranet setup, etc). Work inside the teams to implement the collaborative development process. Quality suggestions + improvements (testing strategy / build improvements for quality + measurements) Continuous build + testing + collaborative development processes Architecture + implementation of regression testing

11 Offshore Outsourcing - No Micromanagement
Offshore Software Development Developer Developer Project Lead Developer Project Manager Local Project Lead Developer Developer Developer onsite offshore onsite offshore

12 Intranet (Build results, Issue tracker)
Infrastructure Offshore Software Development Intranet (Build results, Issue tracker) Continuous releases Source Repository DMZ reachable from offshore VPN over internet firewall firewall firewall Onsite Offshore

13 Communication Tools Offshore Software Development
Travel: Every 2 months “Word” docs: 1 every month Phone: 3 calls per week Intranet: 1 topic modified per day several times per day Through builds: every day, 2 times a week Chat: continuously

14 Travels in both directions
How to share knowledge ? Offshore Software Development Travels in both directions Especially before new subjects Functional training for Project Leads Have Project Leads do the business conception As much as possible Have Project Leads do the detailed design Open chat channels with functional persons Should have dedicated onsite persons. 1 per team => 1 person per 10 developers roughly. decrease over the time. Helpful to have onsite coordinators Send functional tests along with use cases Have separate team writing scripts and running them

15 Project Development Approach
Offshore Software Development Owner: Sponsor Owner: Product Manager Owner: Project Manager Owner: Project Team Owner: Project Team P4: Design and Prototype P5: Documentation P2: Requirement Clarification P3: Project Planning & Prioritization P1: Business Proposal Approval Process Requirement Approval Project Review Design Review Owner: Operations Owner: Project Team Owner: Operations P7: Testing & Quality Assurance P8: Deploy P6: Development Acceptance Review Code Review

16 P5 Finalize Product Spec
P1 Business Proposal P2 Requirements Clarification P3 Planning P4 Design/Prototype P5 Finalize Product Spec Offshore Software Development Define Business Goals Determine Project Expectations Core Competency ROI Time to Market Define Critical Success factors Review Project Key Players Estimate costs Project Approval Identify all Requirements Define Project Scope, Objectives, and Budget Design Business Flow Process Evaluate business benefit and Project COST Prepare Marketing Doc and Plan Feature/Benefit Positioning Promotion tactics Negotiate Contract Define User Experience Conduct User Focus groups Project Approval Develop Use Cases Develop Conceptual Design Infrastructure User Interface Create Project Plan Document all assumptions Define: Issues Milestones Resources Identify Content needs Create marketing material Plan Pilot, if required Technical Assessment Operational Assessment Alpha Beta Create Visual Design Build: UI Prototype Back-end Prototype Finalize Content Prototype Usability testing Design Data Schemas Detailed Application design Identify API’s Detail Infrastructure design Define Data Elements Define Images QA for Content&UI Create Test Plan and Cases Develop Usability testing Protocols Conduct Technical Assessment Review: Content Quality Usability Quality Operational SLA Update P1 through P4 documents Refine Project Plan Time lines Resources Document P6 - Front-end Development Draft SLA Rollout Programs Security Audit Integration Testing HTML coding Page Tagging Page Validation Test Compatibility Test Functional Specification Lessons Learned SLA Portal Validation Performance Tests Infrastructure Design Doc. Remedial Plan Operation Procedures Usability Tests Regression Tests Business Flowchart Implement Biz Logic Implement Database Implement Interfaces Unit Testing Functional Testing P9 Project Debrief P8 Operations P7 Release Mgmt & QA Wireframes P6 - Back-end Development Prototype Mockups

17 Project Iterations Offshore Software Development Fixed iteration delivery dates (Must not be changed, content can change) Iterations must list *all* tasks taking ½ day or more To prevent misunderstanding To allow easy progress follow up To generate release notes automatically Done using Issue Driven Development

18 Offshore/Onsite Testing
Offshore Software Development Set up from offshore Development platform QA/Staging Server UAT Environment Production Environment Developer workstations Dev Server - Unit tests (mocks) - Some integration tests - Integration testing (manual) - Functional tests by developers (manual) - Technical / Functional tests (manual) - Performance testing (manual) - Functional tests by end users (manual) - Client customers

19 Suggestions Requires good onsite coordinators
Offshore Software Development Requires good onsite coordinators To solve communication issues due to language and cultural differences To act as “harmonizers”, improve communication To shield teams from the wearing effect of working from a distance Requires a lot of travel, communication Hard to work with someone you didn’t see - leads to misunderstanding At all levels – Project Managers, Team Leads, Architects Share activities between onsite/offshore Not just development, but also Business Requirements, Architecture Design, System Testing, etc Allow offshore people to participate actively in the development process Share the project knowledge among all project team members Write functional test cases before development starts Helps transfer business knowledge Helps to catch misunderstanding early Can be automated by QA Developers

20 Waterfall Development Model
Offshore Software Development A waterfall model with feedback can be very effective choice to design a system that is clearly described. In this case only a few minor changes can be made in system design or its requirements. Also Waterfall model creates completed results in each phase being done and forever.

Download ppt "Your Global Application Development Partner September 2, 2010."

Similar presentations

Ads by Google