Solve It Labs Offshore Project Management


Published on

This is presentation how SolveITLabs is using existing project management methodologies to manage offshore teams to delivery software development projects for US clients

  • Be the first to comment

  • Be the first to like this

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

No notes for slide

Solve It Labs Offshore Project Management

  1. 1. September 2, 2010 Your Global Application Development Partner
  2. 2. Corporate Facts Financially Rock-solid  $7 M in Revenues in 2008  Strong focus on fundamentals Offerings  Top-notch services  Flexible Engagement Model People  Over 200 employees  Strong Leadership Infrastructure  State-of-the-art & fail safe  Disaster recovery & Business continuity Delivery Capability  Onsite-offshore model  High level of technical skills & Domain competency Quality  ISO 9001:2001 Founded in 2001 in San Francisco, USA  2 continents, 2 offices, 2 offshore centers Clients  Global Leaders: France Telecom, Quest Software, InterContinental Hotel Group, Protective Life Insurance  Startups and mid-size product companies
  3. 3. Engagement Model Phase 4 Phase 1 Phase 3 Phase 2 CLIENT ENGAGEMENT TEAM 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
  4. 4. Project Intranet • 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)
  5. 5. Several factors strengthen the business case for outsourcing services in Russia...  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
  6. 6. Offshore Delivery Model Users, Customers Front Office Customer facing Back Office Russia 1stlevelSupport 2nd and 3rd Level Support Front Office Functional Responsibilities Back Office Functional Responsibilities Common tools and Processes Knowledge Base Service Management Quality Management Technical Infrastructure Development Center Of course, the split of work between front and back offices may change!
  7. 7. US/Offshore Work-Split 1 Client’s Business Users* Client’s Helpdesk Front Office Support Team Client’s Systems US Offshore 2 3 4 Client SolveITLabs US Office SolveITLabs Development Center Log ticket Ticket assigned Ticket assigned to Support Team Periodic face to face meetings Service Delivery Manager monitoring operations 3
  8. 8. Types of offshore projects 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)
  9. 9. Role of Onsite Coordinator Should take neutral position as much as possible Handles administrative tasks: Arrival/Departure administration (secure id card, email/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
  10. 10. Offshore Outsourcing - No Micromanagement Local Project Lead Developer Project Lead Developer Developer onsite offshore Project Manager Developer Developer Developer onsite offshore
  11. 11. Infrastructure VPN over internet Offshore firewallfirewall Onsite Source Repository Continuous releases Intranet (Build results, Issue tracker) DMZ reachable from offshore firewall
  12. 12. Communication Tools • Travel: Every 2 months • “Word” docs: 1 every month • Phone: 3 calls per week • Intranet: 1 topic modified per day • Email: several times per day • Through builds: every day, 2 times a week • Chat: continuously Valueinteamknowledgesharing Usage frequency Travels Word document Intranet Phone C Video Conference Chat Forum Email
  13. 13. How to share knowledge ? 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
  14. 14. Project Development Approach P1: Business Proposal P2: Requirement Clarification P3: Project Planning & Prioritization P4: Design and Prototype P5: Documentation P6: Development P7: Testing & Quality Assurance P8: Deploy Owner: Sponsor Approval Process Owner: Product Manager Requirement Approval Owner: Project Manager Owner: Project Team Project Review Design Review Code Review Acceptance Review Owner: Project Team Owner: Project TeamOwner: Operations Owner: Operations
  15. 15. P7 Release Mgmt & QA Regression Tests Performance Tests P8 Operations P6 - Back-end Development Integration Testing • HTML coding • Page Tagging • Page Validation Test • Compatibility Test • Implement Biz Logic • Implement Database • Implement Interfaces • Unit Testing • Functional Testing Security Audit Usability Tests Portal Validation Rollout Programs P9 Project Debrief P1 Business Proposal P2 Requirements Clarification P3 Planning P4 Design/Prototype • Conduct Technical Assessment • Review: – Content Quality – Usability Quality – Operational SLA • Update P1 through P4 documents • Refine Project Plan – Time lines – Resources P5 Finalize Product Spec Remedial Plan Lessons Learned Operation Procedures SLA Prototype Mockups Wireframes Business Flowchart Infrastructure Design Doc. Functional Specification Draft SLA Document P6 - Front-end 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 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 •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
  16. 16. Project Iterations • 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
  17. 17. Offshore/Onsite Testing Developer workstations Dev Server QA/Staging Server Production Environment Development platform Set up from offshore - 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 UAT Environment
  18. 18. Suggestions 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
  19. 19. Waterfall Development Model 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.