IT Offshoring - Software Engineering II

advertisement
University of Southern California
Center for Systems and Software Engineering
Offshore, Outsource,
and Distributed Team
CS 577b Software Engineering II
Supannika Koolmanojwong
University of Southern California
Center for Systems and Software Engineering
Outline
•
•
•
•
Distributed Teams / virtual teams
IT Offshoring
Twenty practices for offshore sourcing
Offshore agile development
2
University of Southern California
Center for Systems and Software Engineering
Distributed Team
3
University of Southern California
Center for Systems and Software Engineering
Why distributed team?
• Your employees will love it
– flexible hours, no commute, a personal work environment, friends &
family
– especially “commute & cubicle” job
• Hire great people wherever you find them
• Use better communication tools
– A chat conversation can be archived, searchable, and visible to the
entire team
– online collaboration tools, IRC, P2, yammer
• Still be social
– Meetup every 6 months (hack week), hiking + 10 minute lightning
talks
• Your offices will be more fun
4
http://toni.org/2010/03/08/5-reasons-why-your-company-should-be-distributed/
University of Southern California
Center for Systems and Software Engineering
Challenges in distributed teams
• Failure to communicate and retain contextual
information
• Unevenly distributed information
• Difficulty communicating and understanding
the salience of information
• Differences in speed of access to information
• Difficulty interpreting the meaning of silence
5
Anil Hashia , John Whelan , Ruchi Shewaramani An Innovative Approach to Managing Distributed Teams
University of Southern California
Center for Systems and Software Engineering
Cross Cultural Communication
metrics
High IDV means that
everybody has the right of
his own opinion
Small PDI means that
subordinates participate
more in decision-making
activities
High UAI means that
everything needs to be
carefully planned
6
Anil Hashia , John Whelan , Ruchi Shewaramani An Innovative Approach to Managing Distributed Teams
University of Southern California
Center for Systems and Software Engineering
Best Practices in Distributed Teams:
Communication
1. Communication should be
in written form
Written communication helps avoid
accent/language issues and can be
archived for tracking purposes. Using tools
2. Create public forum for
discussion
Brings diverse ideas and viewpoints to the
project. Can be archived as a shared
depository of project wisdom.
3. Avoid private discussions
Private discussions obstruct team
consensus and hinders development by
creating gaps in communication.
4. Take advantage of the
latest
technology available
Collaboration tools are constantly
improving and evolving. Encourage use of
portals, wikis and blogs.
7
Anil Hashia , John Whelan , Ruchi Shewaramani An Innovative Approach to Managing Distributed Teams
University of Southern California
Center for Systems and Software Engineering
Best Practices in Distributed Teams:
Management
1. Practice people exchange
Send team members onsite for 4-6 weeks.
For larger co-located teams, this is a great
way for building team morale and bridging
cultural gaps.
2. Consensus based conflict
resolution
This works better than having an expert
make the final decision, unless it is
necessary.
3. Promote a sense of equality
All team members should feel their input is
important and equal to everyone else’s.
Treat all members alike, irrespective of
their location. Discourage favoritism.
4. Appreciate and reward good work
Participation and involvement should
determine status. Active participation is a
better way to measure someone’s abilities.
5. Participate in cross-culture training
programs
understand and respect different
cultures.
6. Encourage people skills
Working and reasoning on a personal level
allows people to interact more naturally.
8
Anil Hashia , John Whelan , Ruchi Shewaramani An Innovative Approach to Managing Distributed Teams
University of Southern California
Center for Systems and Software Engineering
Best Practices in Distributed Teams:
Schedule
1. Regularly spaced
deliverables
This helps determine if a team is on track
on a regular basis.
2. Release early, release
often
Releasing early exposes bugs sooner and
releasing often allows you to fix them
quickly. Working software is a good
measure of success.
3. Schedule all code reviews
to be open
Code reviews should be open to everyone
in the company.
9
Anil Hashia , John Whelan , Ruchi Shewaramani An Innovative Approach to Managing Distributed Teams
University of Southern California
Center for Systems and Software Engineering
Outline
•
•
•
•
Distributed Teams / virtual teams
IT Offshoring
Twenty practices for offshore sourcing
Offshore agile development
10
University of Southern California
Center for Systems and Software Engineering
11
University of Southern California
Center for Systems and Software Engineering
Outsourcing Trend in 2012
1. Sourcing Near Home
– Rural areas
– Native government incentives
– Domestic Sourcing
2. BRIC Surge
• Brazil
• Worldcup 2014
• Olympics 2016
• Russia
• India
• China
•
•
•
•
•
Malaysia
Mexico
South Africa
Romania
Bulgaria
http://www.outsourceoffshore.info/index.php/2011/12/outsourcing-trends-to-watch-for-in-2012/
12
University of Southern California
Center for Systems and Software Engineering
Outsourcing Trend in 2012
3. Collaborative and Strategic
–
shift outsourcing from the back-office and into
additional customer-facing techniques
4. Technology Convergence
–
social networking, mobile platform
5. Cloud Concerns
–
cyber-security and risks of eco-terrorrism
13
University of Southern California
Center for Systems and Software Engineering
The Most Expected IT
Outsourcing Trends in 2013
• Social Media Keeps Expanding Rapidly
– connect customers through Facebook, LinkedIn, Google+
• Nearshore Becomes Closer
– reduce costs, cultural similarity.
• Business Moves to Sky
– Google Drive, Drop Box, ServiceNow, SkyDrive
• Enhanced Data Security
– reliable firewall will become issue number one in outsourcing
• India and China Become Less Attractive for
Outsourcing (Salary)
– 10.7% for India and 8.8% for China
14
http://www.qarea.com/articles/most-expected-it-outsourcing-trends-in-2013
University of Southern California
Center for Systems and Software Engineering
IT Offshoring
Davis, Gordon; Ein-Dor, Phillip; R. King, William; and Torkzadeh, Reza (2006) Journal of the
Association for Information Systems: Vol. 7: Iss. 1, Article 32.
2 types of offshoring
• Outsource some of its activities to service
providers in other countries.
– In this case, the service provider hires, trains, supervises,
and manages its personnel.
– a contract specifies the services to be provided, as well
as time and quality measures
• Set up service operations in the other countries
– managed as a remote service site.
– Workers are hired, trained, supervised, and managed by
the organization rather than by an outside contractor
15
University of Southern California
Center for Systems and Software Engineering
6 popular offshore tasks
1. Programming, software testing, and software maintenance;
2. IT research and development;
3. High-end jobs such as software architecture, product design,
project management, IT consulting, and business strategy;
4. Physical product manufacturing – semiconductors, computer
components, computers;
5. Business process outsourcing/IT Enabled Services –
insurance claim processing, medical billing, accounting,
bookkeeping, medical transcription, digitization of
engineering drawings, desktop publishing, and high-end IT
enabled services such as financial analysis and reading of Xrays; and
6. Call centers and telemarketing.
16
University of Southern California
Center for Systems and Software Engineering
17
University of Southern California
Center for Systems and Software Engineering
18
University of Southern California
Center for Systems and Software Engineering
Nearshore
• Same continent offshoring
• Becoming a more common trend, instead
of offshoring
• US to Mexico and Canada
• Eastern Europe to Western Europe
19
University of Southern California
Center for Systems and Software Engineering
Issues from Offshoring
• 380,000 IT professionals are employed offshore
and will be more
• 3.3 million service jobs could be lost to offshoring
in the next 15 years
• by 2010, 102,000 IT and software jobs will have
been offshored from the UK =12% of today’s IT
workforce
• 40% of Western Europe’s 500 largest firms have
begun moving service operations offshore
20
University of Southern California
Center for Systems and Software Engineering
Benefits from offshoring
• Cost savings
• Job upgrading for countries sending work
abroad,
• Employment and income for the countries
performing the work
21
University of Southern California
Center for Systems and Software Engineering
Future of Outsourcing
• International economics
– offshoring benefits everyone in the long run
– Entire global system is better off when goods and
services are produced the most efficiently
– Even countries that lose jobs can benefit if they innovate
• IT offshoring will still expand
• Various HR activities will be outsourced
• For US
– programming and systems development jobs in the US
are being lost.
– new jobs focus on the management of vendor
relationships and the customizing of externally-developed
software.
22
University of Southern California
Center for Systems and Software Engineering
The Risks In Offshoring Information
Technology Activities
• Compare to manufacturing jobs, IT activities may
be less well understood and/or poorly documented
by the client firm
• Hidden structural, cultural, legal, and financial
risks and costs are often overlooked
• Deskilling the organization (will be able to maintain
over time)
• Disruptions arising from political upheaval or war
in an offshore host country
• Political stability risks of the offshores
• Disaster recovery in the developing countries
23
University of Southern California
Center for Systems and Software Engineering
New tasks of the CIO
• Monitoring an outsourcing contract -legal
requirements
• Managing accuracy and completion risks
associated with offshoring
• Managing the database and application software
risks – configuration management
• Managing knowledge required for systems –
documentation, back ups, training
• Considering a distributed computing solution
24
University of Southern California
Center for Systems and Software Engineering
Skills needed to manage offshoring
• Relationship and contract management
– client-vendor relationship; selecting a vendor, outsourcing
contract, monitoring of progress, control exerted over the
vendor, level of trust
• Risk assessment and management
– from political risk, to risks of natural disasters;
infrastructure, transportation, back up sites.
• Technology assessment and monitoring
– Maturity of the technology, standards
• Systems implementation and integration
– learn the skills that are necessary to perform these tasks
with lesser levels of outside help
25
University of Southern California
Center for Systems and Software Engineering
Skills needed to manage offshoring
• Business Process Redesign
– analysis and modeling skills must reside in internal
function ?
• Integrated business and IS planning
– Strategic IS planning should never be outsourced
• Mission-critical systems development and testing
– Retain in-house; clients often wish to perform their own
post-delivery testing
• Security
26
University of Southern California
Center for Systems and Software Engineering
27
University of Southern California
Center for Systems and Software Engineering
Twenty practices for offshore sourcing
Rottman, J., and Lacity, M. "Twenty Practices for Offshore Sourcing," MIS Quarterly Executive (3:3), 2004,
pp.117-130.
• Offshore market size : $10- to $30-billion by 2005
• Controversy
– Stealing domestic jobs / Cut down bonus
– Improving US economy
• 2003 – $36,000 service job went abroad = 0.25% of US
IT jobs (worth $130,000 in US)
• Cost saving 10-50% from offshoring, 68% -quality
improvement
28
University of Southern California
Center for Systems and Software Engineering
Risks of offshore projects
29
University of Southern California
Center for Systems and Software Engineering
Risks of offshore projects
30
University of Southern California
Center for Systems and Software Engineering
Outline
•
•
•
•
Distributed Teams / virtual teams
IT Offshoring
Twenty practices for offshore sourcing
Offshore agile development
31
University of Southern California
Center for Systems and Software Engineering
Offshore agile development
 Be Prepared

Daily scrums via Skype, standards and infrastructure
 Start Small
 Small team, small chunk, small timebox
 Consider a Hybrid Model
 Manage Actively
 Not totally hands-off, intervene when necessary
 Invest in Onsite Training
 Bring people over, learn the process
 Pick the Right Partner
 Account for Time Zones
32
7 tips to offshore agile development : Computer News Middle East, ISSN 1564-0078, 10/2012
Download