successful outsourcing csfs

12
Successful Software Development Outsourcing What are your Critical Success Factors?

Upload: michael-dunham

Post on 29-Jan-2018

320 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: Successful Outsourcing  CSFs

Successful Software Development Outsourcing

What are your Critical Success Factors?

Page 2: Successful Outsourcing  CSFs

Background

• Software Development Outsourcing isn’t new so…– A great deal of reference material including

best practices, case studies, field experience is available online.

– It is a rich subject, that continues to be relevant to service buyers and providers. Current experience is always in demand.

• Who is Scio Consulting?− Scio is a provider of nearshore outsourcing for software development projects

with over 12 years of experience in the field. We’re focused on the North American market, but we’re interested in advancing improvements in outsourcing and the software development industry in general.

− As a part of our work in the field, we are offering this and similar information as a service to our customers and practitioners throughout the industry.

− This presentation is based on an article available on our blog – Haut Tech.

Page 3: Successful Outsourcing  CSFs

Common Industry Terms in Context

• Outsourcing: The term stems from what was called, “outside resourcing” –simply meaning the use of service vendor resources for business needs inside a company. In the context of our work, it refers only to the outsourcing of software development, but the resources can be utilized inside the client’s offices, in the same city, state or country, just as they can be located in a different country or continent.

• Information Technology (IT) Outsourcing: Generally considered to be a subset of Business Process Outsourcing (BPO) involves operation, management and maintenance of IT services and infrastructure within an organization. Although it requires technical skills, it is more focused on the processes and services provided by IT within an organization and generally it does not require significant software development.

• Offshore or Offshoring: Has different contextual meanings in different industries. For our purposes, it refers to the outsourcing of software development with service providers on different continents and without a significant working hour overlap with their clients.

Page 4: Successful Outsourcing  CSFs

Common Industry Terms in Context

• Nearshore or Nearshoring: In our context refers the contracting of work to providers in a different country that shares significant working hour overlap and often shares a border, region or continent. Scio is a nearshore provider of software development services to North American clients.

• Agile Software Development: A methodology that is widely used across the software development industry. It is based on the idea that software development projects should be composed of short, iterative cycles producing valuable software incrementally while allowing for evolution of the results based on constant consultation and interaction with the client and user base.

Page 5: Successful Outsourcing  CSFs

Common Industry Terms in Context

• Scrum Software Development: An extension of the agile framework for software development down to the team level. It includes descriptions of roles, processes and ceremonies that strengthen agile principles and give structure to the software development process.

• Distributed Agile Teams: A part of outsourcing of software development when you use either nearshoring or offshoring of a part of your agile team. In agile/scrum methodology, a premium is placed on open and frequent, face-to-face interactions between the development team and the product owner from the client side. But, agile is also practical and adaptable, so there are practices that help to overcome the team isolation and improve interaction when parts of your team are remote. Scio is a provider of distributed agile teams for software development and integrates the practices necessary to assure success in these situations in all our projects.

Page 6: Successful Outsourcing  CSFs

What is Success for You?

• In the simplest terms, for software development projects, it is providing software on time, on or under estimated costs and that delights users.

− But that simple definition leaves a lot of unresolved issues on the table

− In general, critical success factors (CSFs) should be discussed and agreed upon before a project begins by all members of the client and development team and reviewed during the course of a project to insure it continues to be on track.

− But, what CSFs are considered important in the industry?

Page 7: Successful Outsourcing  CSFs

An Industry Study of CSFs for Successful Outsourcing

• An IEEE literature reviewprovides the following insight:

• Top 5 - Contract flexibility, Trustworthy relationship management, Competitive bidding, Consultation and negotiation & Quality management

Page 8: Successful Outsourcing  CSFs

5 Top CSFs for Successful Outsourcing• The IEEE CSF list is probably not what

you expected – but consider:• Contract Flexibility – like agile allows

contracts to be based on the objectives of the project and relationship, rather than operational details.

• Trustworthy Relationship Management – insures everyone can bring up issues and changes in open discussion without fear or mistrust of motives.

• Competitive Bidding – when it is done on a range of weighted factors and not just price, increases the understanding of the project and outcomes between the client and provider

• Consultation & Negotiation – are a realization that constant communication is a necessary part of software development projects and when opportunities are discovered or issues arise, a framework of trust and process is necessary to insure that negotiations can take place easily.

• Quality Management – is not a set of detailed requirements. Instead, everyone needs to be constantly engaged in a continuous process of quality assessment for both “bugs” and outcome alignment.

Page 9: Successful Outsourcing  CSFs

Your Project CSFs

• Critical Success Factors can and should be different for every outsourced software development project but…– Considering the IEEE list, include factors that relate to the

relationship of the parties involved and how they will interact during the project.

– Consider weighting factors that will contribute to success so a priorty can be seen and aggreed on by participants.

– Insure all participants in the project discuss and contribute to the development of project CSFs from the beginning. It is good to start from a proposed list, but allow them to be added to and evolve during discussions to ensure everyone can “buy into them.”

Page 10: Successful Outsourcing  CSFs

Nearshore? Offshore?

• Outsourced software development projects have a common set of problems that can be traced back to:– A less than clear understanding of project goals and critical

success factors within the project– Poor communication between team members, client and

vendor, throughout the project– Agile and scrum practices that are not fully implemented

or used in a closed environment without full collaboration and trust between team members, client and vendor on a daily basis

– Distributed teams and team members that are not enabled to participate fully in discussions and cannot easily raise issues to product owners

Page 11: Successful Outsourcing  CSFs

Nearshore? Offshore?

• Nearshore is not a panacea for communication problems, but when it is used in conjunction with best practices, it can help eliminate some of the root issues– Distributed teams have shared working hours in nearshore projects,

giving them a more natural opportunity to interact with product owners and other team members, in real time.

– Teams can more easily meet face to face at predetermined points in the project to build understanding and shared vision

– Generally, there are more points in common between members of a nearshore team and the client team. They share view points and cultural insight on more levels.

– If agile and scrum practices are properly implemented for distributed teams, the opportunities for success are multiplied.

• Offshore teams can adapt agile to their situation and overcome the issues of distance and cultural expectations – but it requires more flexibility and planning from both the client and service vendor.

Page 12: Successful Outsourcing  CSFs

In Summary

• The procedures and processes needed for successful software development are not one-offs, that magically appear for a project– They need to be planned and practiced. In the best case,

the teams have a base that they always use in all projects that they are familiar with and that scale to distributed team situations easily.

– It is very important to consider the development team relationship with the client team in the CSFs negotiated at the start of the project. Understanding that it is the lack of communication and trusted interaction that causes most project failures and prevents teams from recovering from problems, should be enough incentive to insure it stays at the top of your priorities.