Offshoring Answers. Organizational Development Factor. Financial and Cost Factor. Skills and Technology Factor



Similar documents
Outsourced Testing: The future ahead

CPSC 491. Today: Source code control. Source Code (Version) Control. Exercise: g., no git, subversion, cvs, etc.)

How to choose the best CRM implementation partner for your call center

Managing Successful Offshore QA Delivery

Hybrid: The Next Generation Cloud Interviews Among CIOs of the Fortune 1000 and Inc. 5000

Gitflow process. Adapt Learning: Gitflow process. Document control

Anatomy of an Enterprise Software Delivery Project

Production Support Services

Closing the Business Analysis Skills Gap

Effective Enterprise Performance Management

Indo-Soft: Capacity Planning in Software Services

India USA South Africa

Version Control using Git and Github. Joseph Rivera

Moving toward unified communications

OPEN UP YOUR RESEARCH DESIGN CHOOSE THE DATA COLLECTION APPROACH THAT BEST FITS THE RESEARCH

The evolution. of the IT manager

Introducing Xcode Source Control

Agile Power Tools. Author: Damon Poole, Chief Technology Officer

TeamCompanion Solution Overview. Visual Studio

Faster, Easier and Cheaper Software Development: Is It Possible?

Optimizing Agile with Global Software Development and Delivery

Recruitment Process Outsourcing:

An RCG White Paper Ten Criteria for Offshore Outsourcing

Cisco Unified Communications and Collaboration technology is changing the way we go about the business of the University.

Managing the Risks When Outsourcing Offshore. An Industry Whitepaper By Anil Singh, Founder & CEO Hanu Software

The Spectrum of Data Integration Solutions: Why You Should Have Them All

WHEN INDIVIDUALS SUCCEED ORGANIZATIONS WIN

Essential Visual Studio Team System

Facing HR System and Vendor Challenges Effectively

FEEG Applied Programming 3 - Version Control and Git II

Service Development Lifecycle

Helping Midsize Businesses Grow Through HR Technology

Business Analysis Capability Assessment

Setting highest standards in recruitment, our people make the difference

BENEFITS OF SHAREPOINT ALM IN PRACTICE. whitepapers

Connected. 25 Ways to Create a Connected Culture The How-To-Guide for Video Conferencing

Getting Started on Unified Communications and Collaboration

Improving database development. Recommendations for solving development problems using Red Gate tools

WHITEPAPER. Improving database development

Why Competency-based Talent Management?

QUICK FACTS. Enhancing the Marketing Campaign Management Portal for an SaaS Provider. TEKsystems Global Services Customer Success Stories

IBM Certification White Paper. The value of IT Certification

Mineral Exploration Corporation Limited (A Govt. of India Enterprise) A Miniratna PSE. Engagement of ERP Consultant on Contract Basis

Competitor or Partner?

SOFTWARE LOCALIZATION FOR AGILE, WATERFALL, AND HYBRID DEVELOPMENT

One Trusted Platform. For all your software projects. Agile. Integrated. Simplified. Requirements brought to you the most

Tonse Telecom Knowledge Process Outsourcing

Attention B2B Marketing Professionals: Why you could be losing up to 80% of your sales (and what you can do to keep them.)

Implementing Continuous Integration Testing Prepared by:

Testing, What is it Good For? Absolutely Everything!

How To Benefit From An Automated Deployment

Workforce Diversity: The Fresh Face of Employment in Canada

BUSINESS ANALYSIS ANISAN TECHNOLOGIES (I) PRIVATE LIMITED

Recruitment and Selection

SaaS or On-Premise? How to Select the Right Paths for Your Enterprise. David Linthicum

Training and Coaching

Software Development In the Cloud Cloud management and ALM

/ WHITEPAPER / THE BIMODAL IT

Organisational Change Management

5 Essential Benefits of Hybrid Cloud Backup

Agile extreme Development & Project Management Strategy Mentored/Component-based Workshop Series

WHITE PAPER Risk, Cost and Quality: Key Factors for Outsourcing QA and Testing

See what cloud can do for you.

CP/ux. The 5 Key Steps to Hiring the Best UX Talent. A CLEAR/POINT White Paper. By Carol Szatkowski. Clear/Point. ux staffing consultants

can I customize my identity management deployment without extensive coding and services?

OVERCOMING THE CHALLENGES IN IMPLEMENTING EMR

Traditional BI vs. Business Data Lake A comparison

Software Configuration Management Best Practices for Continuous Integration

The key to success: Enterprise social collaboration fuels innovative sales & operations planning

Accenture Human Capital Management Solutions. Transforming people and process to achieve high performance

Recruitment Process Outsourcing Market Segment: Overall

Contact me personally at (941) (direct) or send me a message on the web form below.

ATS. The. The Staffing Agency s Guide to Buying an Applicant Tracking System

Fieldglass industry-leading Vendor Management System (VMS) powers the flexible workforce.

Empatsys - A Case Study in Managed Services

Call Center Services Buyer Guide

E-Guide. Sponsored By:

Embarcadero DataU Conference. Data Governance. Francis McWilliams. Solutions Architect. Master Your Data

Outsourcing HR: Advantages for Small Businesses

Five Reasons to Outsource Requirements

Nova Software Quality Assurance Process

Case Studies of Excellence through Management by Process

Novateur Web. Innovations Unlimited! Skype: novateurweb LinkedIn: novateur-web Tweeter: novateurweb

Novus. Investing in the future of software testing and development.

The Why & How of Managed Services

Infrastructure As Code: Fueling The Fire For Faster Application Delivery

Software Lifecycle Integration. A Quality Management Discipline

Beanbasket Help Desk User Guide

Managing Your Offshore Testing Team

Halloran Consulting Group Improves Productivity with PGi s Online Meetings

WHITE PAPER DEVELOPING A SUCCESSFUL WEBSITE RFP. Find the Right Web Development Partner through an Engaging and Informative RFP.

FLEXIBILITY AGILITY AVAILABILITY BOOST YOUR CREDIT UNION S I.T.

Distributed Development With Perforce Software. Tony Vinayak Perforce Software

Information Governance & Records Management for Today's World

A TYPICAL DAY WITH OFFICE 365. Office 365 is so much more than just an online version of and Office 2013.

AD-AUDIT BRANCH MANAGER

CONTINUOUS INTEGRATION. Introduction

FLEXIBILITY AGILITY AVAILABILITY BOLSTER YOUR BANK S I.T.

The ITIL Guide to DevOps

Transcription:

Offshoring Answers Factors that affect the offshore model, Overcoming offshore challenges, Project management tools and testing, & Managing a code repository by Sudesh Nadesan Factors that Affect the Offshore Model To begin, I ll do a brief overview for four major factors affect the offshore development model: Organizational Development Factor Software Applications play a major role in organizations which follow a defined business process. The requirements are different types, ranging from normal application, website, multimedia solutions, all the way to enterprise portals. Time, cost, and technical knowledge are the most important aspects, and impact the achievement of company goals. Often, there is a lack of qualified workforce to manage the software development activity, as the management is more concerned with business development activities. Adopting IT outsourcing methodology enables achievement in quality, availability of a large pool of expert software developers, and huge savings in labor costs. Financial and Cost Factor To sustain today s highly competitive market with short product lifetime, software development projects need to stay within budget, be innovative, and deliver according to the end-users expectations. As many projects run over budget, reducing production cost is essential. One popular and effective means to cut cost is outsourcing. An offshore-outsourced software development model is a frequently used means of cost reduction. However, certain company processes might have to change before incorporating an offshore vendor into the mix. Skills and Technology Factor Technical knowledge and the urge to complete the job faster is the bottom-line of any organization which requires a Software Solution. (Eg: When the Agile development methodology is followed and SCRUM practices are implemented, then it should be mandatory that at least the leader be a Certified SCRUM Master. Whether the certificate is a proof of the knowledge or not, it definitely proves that the leader is fond of learning and exhibiting latest processes and technologies.) Technology and business needs change dynamically; the offshore technical team should be well

equipped with the latest framework, methodologies, and technologies which could prove to be one of the core reasons for success of the offshore software development team. 2 Revenue Factor The ultimate goal of any business or new product is to generate revenue for the organization. Your offshore partner should be providing you with solutions that deliver the first phase of your product with minimum features to meet business goals. This way your revenue can be started the earliest possible. Onsite teams use multiple tools and techniques to measure development productivity. Similar Tools and Techniques will do well for the Offshore Development Team also. Within these factors, I mentioned a change in processes, methodologies, and helpful tools which can contribute to success in offshoring. The upcoming parts of this series will cover these topics and provide insights into best practices for a successful offshore relationship. Overcoming Offshore Challenges Selecting the right offshore partner, the right developer, and managing time differences. Selecting the right offshore development partner The offshore software service provider needs to understand the organization s expectations and project needs for offering user-oriented services and maximum benefits. This way, they help you gain the leading edge over competitors. When a company is looking for an offshore software development company, they should first know to identify the company which follows process and the advanced tools and techniques. The company should also have a strong IT recruiting team to cater immediate requirements. The three major aspects development, innovations and implementation are main keys of success and growth. By considering all three factors, they offer excellent offshore software development services to the customers. For your challenging project requirements, you can outsource your needs to a software company in India which has the infrastructure, and ability to hire software developers and handle the niche technologies. It will not only save overall development cost, but will also save your valuable time and money in setting up a new infrastructure. Indeed, many offshore IT outsourcing companies mainly focus on business scope, size, target market, customer needs and product delivery time. With better monitoring and controlling system, they apply the latest technologies and deep market insights while implementing profitable business solutions. The best part of development services from a good offshore company is that it provides cost effective application development solutions without compromising with the level of quality. Moreover, expert developers of such companies provide better maintenance services to solve project-related queries as well as promote the solutions according to the requirement Selecting the right developer Conduct the interview of the offshore developer to not only assess his or her technical skills, but also the ability to communicate with people who use different accent and pronunciation.

3 One of the core areas which the interviewer should concentrate is the whether or not your candidate has a good attitude about an adjusted schedule to better fit with U.S. time zones. You may have to spend a little more time scrutinizing the candidate, but this will enable you to get a resource with more durability and strong technology skill. Interviewing this way will eventually create a pool of dedicated software developers. A certification in the technology or methodology could be set as a criteria for your candidates. By understanding the work culture of his/her previous organization, one could judge if the candidate would be able to adapt to the work culture followed by yours. Fortunately, the problems associated with an offshore time difference can be mitigated to some degree. The onshore work scheduled may be pushed up to increase the time for interactions. A 7:00 AM meeting may not be your ideal start to the day, but it would start you off on the right foot with an update on the progress of your offshore team. Managing time differences This is we operate at EC Group: at 11:00 PM EST, your colleagues in India will be arriving to work at 9:30 AM their time.the development work continues while you sleep soundly. However, to make this happen you have to follow a predefined process. If this happens, you can leverage the time differential for a non-stop operation that runs day and night. Different stages of a software development life cycle require different levels of communication. It can be difficult getting the answers you need right when you want them. A query that can be answered within a few minutes by someone in the next cubicle might take until the next day with offshore. If your query is not understood or communicated clearly, the back and forth might result in days passing before a problem is resolved. Project Management Tools and Testing In general, emails, instant messaging tools and project management tools are main modes of communication. However, you ought to take into account the weekly status updates for working progress, face-to-face video conferencing, daily standups and even onsite conferences. One effective solution to overcome task handling and monitoring difficulties is to follow agile methodology. The latest project management tools and techniques are great for offshore project supervision.the deployment of Certified Scrum Masters to handle sprint planning ensures the Scrum process is practiced spiritually to align with the timeline and quality of delivery. Project Management Tools and Techniques There are several project management tools available as open source or paid service, but what really matters for most of the companies offshore development practice is whether or not those tools are a complete solution for their problems. A particular tool might be the best solution for communicating with the offshore development team, but may not be ideal for sharing the tasks or monitoring the development activities. Other tools may be ideal for monitoring and sharing tasks, but have no feature for communications.

4 In most of my recent engagements I have seen both the internal teams and the client side teams facing problems due to the incomplete availability of features in the readily available tools. When the situation of identifying the right project management tool occurs, the offshore partner should be capable of giving the right solution. Perhaps a better solution is to develop a customized tool which can be integrated with the readily available project management software to have all the required features a complete project management tool should have. This enables us to work on the basis of a complete management system which manages productivity, timeline and cost. The methodologies of utilizing a customized tool may differ but it should serve its purpose. One of my teams was using a readily available tool for their project management activities as suggested by the client. However, like all the other less-complex project management tools, this one also had limited benefits. The tool was good for for communication, interactions, and project activity updates (as outlined by the diagram to the right.) However, what it really missed was the task list, time estimation and task status update. A custom tool was developed keeping in mind the features which are required but not available in the current tool. That piece of developed tool was integrated with the current tool, bridging the gap between what was available and what was required. The diagram below will give a pictorial view of the benefits which the integration of the developed tool brought in. Any offshore development team should have the exposure to work with different types of project management tools. In my current engagement, I have observed that almost all the team members have exposure to different project management tools, and when the available tools don t fulfill

5 needs of the clients, customized tools redeveloped and integrated with the client s current tool. This can put an end to the incompleteness of the existing tools. Managing a Code Repository Apart from monitoring and handling the offshore team, the major setback in offshore software development normally occurs when handling, delivering, or merging the developed code with the existing code. The challenge arises when the security of the current code which has already gone for production has to be re-written for the sake of new features in the application, or when bugs in the existing application need fixing. Before the new code is merged with the existing code, we have to ensure whether it works and whether proper QA at all levels of testing has been done. The best process to overcome these challenges is to use the advanced code repository tools, process and methodologies. A good repository tool and its workflow could help distributed teams to work in a very organized manner. One of our teams in EC Group uses Visual Studio Online with Git repositories or GitHub for all the code repository. This team follows a systematic process to merge their modified code using Git repository management very similar to what is mentioned here (Reference:nvie.com) When developers access the code repository the first time, he clone s it to create a local develop tracking branch for him as this is the default branch in the repository. He also creates his own local master tracking branch (based from origin\master) and a local tracking branch for any release branches out there (based from origin\release). He should have at least a local develop tracking branch, a local master tracking branch, and a local release branch. The release branch is always denoted by its version number, for example release-15.1. After a release goes to production he can delete his local release-15.1 and wait for the next release branch to be created on the repository to create his next local release tracking branch. He will regularly keep these tracking branches in sync with the repository since he may have to create new branches as well as merge codes into branches he has created (to be on top of the conflicts if any).

6 A Workflow Step-by-Step: 1. When a developer is assigned a feature to work on (from Visual Studio Online or GitHub or any other project management tool) he creates a branch off of his local develop tracking branch, name it ###-FeatureName (### will be the task number and FeatureName is a descriptive name for the feature developer is working on). 2. Developer will see the ###-FeatureName branch listed as an unpublished branch, he will then publish this branch (to maintain safety of having his changes saved in the central repository as you commit them). 3. He will then make his changes, commit and push them as many times as needed to his ###-FeatureName branch. 4. Once he is done with his feature he will execute a pull request so one of team member or senior team member here can review his changes. 5. Once accepted, one of senior team member will merge his changes into the develop branch, if any conflicts are encountered during the merge senior team member may ask that developer to synch his develop tracking branch and merge it with his ###- FeatureName branch and resolve any conflicts encountered. 6. Once merged the developer will be informed and he can then unpublish (which deletes it from the central repository) and then delete his ###-FeatureName branch (which removes it locally). (For assigned bug fix the process is very similar except that developer may be creating his branch from the master (for a hotfix) or the release tracking branches instead.) These insights are based upon my experience at EC Group and previous engagements. However, I will say that all these are merely general best practices; specific solutions are available if I understand your exact business needs and requirements. In the meantime, I hope these insights provide clarity for those considering partnering with an offshore vendor. Sudesh Nadesan is the Senior Project Manager at EC Group Datasoft. Onsite in India, he observes all EC Group development teams and supports them with tasks, project delivery, planning, and makes technology suggestions. EC Group International, Inc. 835 West River Center Dr., Suite B, Comstock Park, MI 49321 616-647-8622 office@ecgroup-intl.com