Three Ideas to Consider When Implementing Agile with Distributed Development Teams Tres ideas para considerar la hora de aplicar ágil con equipos de desarrollo distribuidos

-->

The framework of software engineering has been redefined by introduction of Agile software development concepts.  Agile has prompted greater improvement in the life-cycle of a software project.  When implementing Agile with an offshore or distributed development teams, there are opportunities to address three aspects of the project.  We will cover these three items as well as provide a little background on Agile. El marco de la ingeniería de software se ha redefinido de Agile introducción de conceptos de desarrollo de software. Agile ha llevado a una mayor mejora en el ciclo de vida de un proyecto de software. Cuando la aplicación de Agile con un off-shore o distribuyen equipos de desarrollo, hay oportunidades para hacer frente a tres aspectos de el proyecto. Vamos a cubrir estos tres temas, así como proporcionar un poco de antecedentes sobre Agile.

There are several development tactics introduced by Agile.  Most tactics focus attempt to minimize and/or expose risk in developing software in short amount of time. Existen varias tácticas de desarrollo presentado por Agile. La mayoría de las tácticas se centran intento de minimizar y / o exponer a riesgo en el desarrollo de software en poco tiempo. Iteration is the development of software in one unit of time, and this may last from one to four weeks.  It includes planning, requirements analysis, design, coding, and testing. Iteración es el desarrollo de software en una unidad de tiempo, y esto puede durar de una a cuatro semanas. Incluye la planificación, análisis de requisitos, diseño, codificación, y pruebas. Software developed during iteration need not be functional enough to be released as a product in the market, but the objective is to have working software, without bugs, at the end of each iteration. Software desarrollado durante iteración no tiene por qué ser funcional suficiente para ser liberado como un producto en el mercado, pero el objetivo es contar con software de trabajo, sin errores, al final de cada iteración. The team re-evaluates the project priorities at the end of each iteration. El equipo de re-evalúa las prioridades de los proyectos al final de cada iteración.

Traditional outsource challenges are amplified and new challenges are created when software development is taken offshore. Externalizar los retos tradicionales se amplifican y los nuevos desafíos que se crean cuando el desarrollo de software se toma en alta mar. These new challenges are mainly in cultural differences, combined with the communication difficulty due to the difference in time and language comprehension. Estos nuevos desafíos se encuentran principalmente en las diferencias culturales, junto con la dificultad de comunicación debido a la diferencia en el tiempo y el lenguaje de comprensión. Most importantly, the biggest challenges remain in communicating, transfer of business logic understanding, demand in co-operation in poorly defined projects, unknown and imprecise requirements and lack of customer involvement, differences between customer and vendor, geographical distance, and many more. Lo que es más importante, los mayores desafíos sigue siendo en la comunicación, la transferencia de la comprensión lógica de negocio, la demanda en la cooperación en proyectos mal definidos, desconocido e impreciso requisitos y la falta de participación del cliente, las diferencias entre cliente y proveedor, la distancia geográfica, y muchos más. To be successful with offshore software development, these hurdles need to be overcome by both the onshore and offshore teams. Para tener éxito con el desarrollo de software offshore, estos obstáculos hay que superar tanto la tierra firme y costa afuera equipos.

In plan-driven and Agile as well, face to face communication is stressed to improve communication and understanding of the project. En el plan impulsado y ágil, además, cara a cara se hizo hincapié en la comunicación para mejorar la comunicación y la comprensión del proyecto. This type of face to face time takes place during each iteration, where plan-driven project is concerned and this took place essentially at the beginning of the project.   When face to face time is not possible with the offshore provider, it is beneficial to have each developer answer 3 daily questions: what you did yesterday?  what you plan to do today?  describe any roadblocks or obstacles in completing the iteration stories?  Each developer should answer these question and not simply the offshore project manager.  Perhaps the offshore project manager can help in translating the answers to these questions. Este tipo de cara a cara tiempo se lleva a cabo durante cada iteración, plan que impulsado por proyecto se refiere y esto se llevó a cabo esencialmente en el principio del proyecto. Cuando cara a cara el tiempo no es posible con el proveedor off-shore, es beneficioso tener cada desarrollador diario respuesta 3 preguntas: lo que hiciste ayer? qué tiene previsto hacer hoy? describir las barreras u obstáculos para completar la iteración historias? Cada desarrollador debe responder a estas preguntas y no simplemente el gestor de proyectos offshore. Tal vez el director del proyecto offshore pueden ayudar en la traducción de las respuestas a estas preguntas.

In case of Agile, face to face meetings are held at all time, usually in the form of daily Scrums, pair programming, iteration retrospectives and iteration planning.  In distributed development teams, many times the onshore managers travel offshore to hold meetings with the offshore team, or in other circumstances, managers from offshore travel onshore for meetings. En caso de Agile, reuniones cara a cara se llevan a cabo en todos los tiempos, por lo general en forma de diario Scrums, par de programación, iteración y retrospectivas de iteración de planificación. Distribuido en equipos de desarrollo, muchas veces los administradores de viajes en tierra en alta mar para celebrar reuniones con los off-shore equipo, o en otras circunstancias, los gestores de viajes en alta mar en tierra para las reuniones. One important influence depends on the offshore person visiting the onshore team to absorb the project details and develop/foster relationships. Una importante influencia depende de la persona de visita en alta mar el equipo de tierra para absorber los detalles del proyecto y desarrollar y fomentar las relaciones. He should take this know-how from the onsite team in a way that he is knowledgeable enough to answer many questions raised by his offshore team. Él debe tener este know-how del equipo in situ de una manera que él tiene conocimiento suficiente para responder a muchas preguntas formuladas por su equipo en alta mar. In addition, he should be also capable of relating to his team members about the decisions that were taken in his meetings with the onsite team.  Depending upon the complexity of the project, a member of the onsite team, with good knowledge in business logic is often sent to work offshore. Además, debería también ser capaz de relacionarse con los miembros de su equipo sobre las decisiones que se tomaron en sus reuniones con el equipo in situ. Dependiendo de la complejidad del proyecto, un miembro del equipo in situ, con buen conocimiento en la lógica del negocio es a menudo enviados a trabajar al extranjero.

In implementing Agile projects, a series of processes are utilized. En la ejecución de proyectos de Agile, una serie de procesos que se utilizan. The development process is not just a single approach. El proceso de desarrollo no es sólo un enfoque único. In implementing software offshore development, there are some principles that are followed, which have been termed as Agile Manifesto. En la aplicación extraterritorial de desarrollo de software, hay algunos principios que son seguidos, que se han denominado como Agile Manifesto. These are as follows - Estos son los siguientes --

➢    Customer satisfaction is achieved by rapid and continuous delivery of useful software. ➢ La satisfacción del cliente se logra por el rápido y continuo suministro de software útil.
➢    Quick delivery of working software within weeks rather than months. ➢ rápida entrega de software de trabajo en semanas en lugar de meses.
➢    The principle measure of development progress is derived from the working software. ➢ El principio de medida del progreso de desarrollo se deriva del trabajo de software.
➢    Any changes in the software may be incorporated later. ➢ Cualquier cambio en el software pueden incorporarse más tarde.
➢    Necessity in having face to face communication for better understanding. ➢ Necesidad de tener cara a cara la comunicación para una mejor comprensión.
➢    Maintain close relationships between the business people and the developers. ➢ Mantener una estrecha relación entre la gente de negocios y los desarrolladores.
➢    Motivation and trust on the individuals make the project implementation successful. ➢ La motivación y la confianza en las personas que la ejecución de los proyectos con éxito.
➢    Apply continuous attention to the project design, and try to attain technical excellence. ➢ Aplicar continua atención a la concepción del proyecto, y tratar de alcanzar la excelencia técnica.
➢    Adapt fast to changing circumstances. ➢ Adaptar rápido a las circunstancias cambiantes.

It was found that the iterative framework brought benefits to Agile software development vendors. Se encontró que el marco iterativo aportado beneficios a Agile proveedores de desarrollo de software. By this approach, the customers could make payments after each iteration. En este enfoque, los clientes pueden hacer pagos después de cada iteración. By paying this way, the customer does not lose or be in a risk to pay the for the whole lot after the completion of the project. Mediante el pago de esta forma, el cliente no perder o estar en riesgo de pagar la la totalidad del lote después de la finalización del proyecto. This brought in commitment from the customer to provide the vendor with better business and motivates the vendor to consider each iteration important. Lo cual hizo que en el compromiso por parte del cliente para proporcionar el mejor vendedor que motiva a las empresas y el vendedor a considerar cada iteración importante. The method of continuous feedback and communication helps in the offshore development process, but the approach of short iterations has proved to be especially successful. El método de continua retroalimentación y la comunicación ayuda a la off-shore en proceso de desarrollo, pero el enfoque de corto iteraciones ha demostrado ser especialmente satisfactoria.
Another aspect of Agile development is the importance of testing in each iteration.  Each iteration should produce automated tests that can be used during each iteration and future iterations as well.  The benefits of automated testing is better covered in different articles.  However, in the context of this article, it is important for your offshore vendors to deliver automated tests with each iteration.  When considering new vendors, ask about their testing strategies.  It is better to go with a vendor who believes in automated testing, rather than trying to convince a vendor the benefits of automated testing. Otro aspecto de desarrollo Agile es la importancia de las pruebas en cada iteración. Cada iteración debe producir pruebas automatizadas que se pueden utilizar en cada iteración y el futuro así como las repeticiones. Las ventajas de pruebas automatizadas está mejor cubierto en los distintos artículos. Sin embargo, en el contexto de este artículo, es importante para sus proveedores extraterritoriales para entregar pruebas automatizadas con cada iteración. Al considerar nuevos proveedores, preguntar acerca de sus estrategias de experimentación. Es mejor ir con un vendedor que cree en pruebas automatizadas, en lugar de tratar de convencer a un Los vendedores de los beneficios de pruebas automatizadas.
So, in sum, when implementing Agile in distributed development teams, there are opportunities to address three aspects of the project:  communication, payment/deliverables and automated testing. Así que, en suma, al aplicar Agile distribuidos en equipos de desarrollo, hay oportunidades para hacer frente a tres aspectos del proyecto: la comunicación, pago y tareas y pruebas automatizadas.


Establishing and Managing Risk factors in Offshore Software Development El establecimiento y manejo de factores de riesgo en Desarrollo de Software Offshore

Outsourcing software development is usually done with the intention of lowering the cost of a project. Outsourcing de desarrollo de software normalmente se hace con la intención de reducir el costo de un proyecto. The decision to outsource is also taken to redirect and conserve the competent skills of a particular business, or to utilize the more efficient skills of the outsourced company, its technology, and its resources. La decisión de externalizar es también adoptado para reorientar y conservar las habilidades de una empresa, o para utilizar las habilidades más eficiente de la empresa subcontratada, su tecnología y sus recursos.

In outsourcing a software project, traditionally, the onsite company hands over the management and the day-to-day functions of the project to be developed to a company established offshore. En la externalización de proyectos de software, tradicionalmente, el sitio la empresa manos en la gestión y el día a día las funciones del proyecto a ser desarrollado para una empresa establecida en alta mar. The onsite and the offshore companies enter into a contractual agreement. El sitio y las sociedades off-shore entrará en un acuerdo contractual. This agreement provides the terms and conditions agreed between the two companies related to the transfer of services. Este acuerdo establece los términos y condiciones que se acuerden entre las dos empresas relacionadas con la transferencia de los servicios. By this agreement, the offshore company acquires from the onsite company the documentation of the project to be executed, along with transfer of people, assets, and other resources. Por este acuerdo, la empresa offshore adquiere el sitio de la empresa la documentación del proyecto para ser ejecutado, junto con la transferencia de personas, bienes y otros recursos. Such project outsourcing usually includes: La externalización de estos proyectos por lo general incluye:

1. Information Technology. Tecnología de la Información.
2. Human resources. De los recursos humanos.
3. Facilities. Instalaciones.
4. Real estate management. La gestión inmobiliaria.
5. Accounting. Contabilidad.

There are many onsite companies who outsource customer support, and call center activities, such as, telemarketing, customer services, market research, manufacturing and engineering. Hay muchas empresas que el sitio subcontratar servicio de atención al cliente y call center actividades, tales como, telemarketing, servicio al cliente, investigación de mercado, la industria manufacturera y de ingeniería.

The decision to outsourcing a project is usually taken by the high level management of an organization, and at some instances, the decision requires to be endorsed by the Members of the Board. La decisión de externalización de un proyecto usualmente se toma por el alto nivel de gestión de una organización, y en algunos casos, la decisión requiere ser aprobado por los miembros de la Junta. The contract entered into by the onsite and the offshore companies brings about a sort of divestiture of a particular business function, in this case software development, made by the onsite company to the one situated abroad. El contrato entró en el sitio de los y las sociedades off-shore trae consigo una especie de cesión de una empresa función, en este caso el desarrollo de software, realizados in situ por la empresa a la que se encuentra en el extranjero. Once the decision is taken in the matter of outsourcing, the search for an offshore partner would start. Una vez tomada la decisión se adopte en materia de subcontratación, la búsqueda de un socio offshore se iniciaría.

The most important criteria in setting milestones offshore software development is to take care of the risks involved. Los criterios más importantes en el establecimiento de hitos de desarrollo de software offshore es cuidar de los riesgos implicados. The management of risks should start at the very initial stage, and as such, there are several risk factors to be taken into account. La gestión de riesgos debe comenzar en la fase inicial y, como tal, hay varios factores de riesgo que deben tenerse en cuenta. Risk management is as follows: La gestión de riesgos es el siguiente:

➢ Take early actions on identifying the risks. ➢ Tome las medidas tempranas en la identificación de los riesgos.
➢ Determine the ways to mitigate those risks. ➢ Determinar los modos de mitigar esos riesgos.
➢ Decide on when to mitigate the risks. ➢ Decidir en cuando para mitigar los riesgos.
➢ Assign responsibilities to your staff to manage the various risks. ➢ Asignar responsabilidades a su personal para gestionar los diversos riesgos.

Usually, the teams involved in software development are “can do” groups, and it is not advisable to talk to them about process failures. Por lo general, los equipos que participan en el desarrollo de software se "puede hacer" grupos, y no es aconsejable hablar con ellos sobre el proceso de fracasos. There will be likely resistance from such groups, and you would need to overcome this attitude of resistance. Habrá probablemente la resistencia de esos grupos, y usted tendría que superar esta actitud de resistencia. You would need to plan for contingencies and also identify potential risk areas. Usted tendría que plan de contingencias y también identificar posibles zonas de riesgo. In establishing such a procedure, the approach will yield the following: Al establecer este procedimiento, el enfoque producirá los siguientes:

➢ You will have a prioritized listing of all the risk that you envisage. ➢ Usted tendrá un orden de prioridades lista de todos los riesgos que usted.
➢ You will have estimation of the probability of each of the risks occurring. ➢ Usted tendrá la estimación de la probabilidad de que cada uno de los riesgos que puedan ocasionarse.
➢ You will be able to gauge the potential impact of the risks as regards the project or company. ➢ Usted será capaz de medir el impacto potencial del riesgo en relación con el proyecto o empresa.
➢ Contingency plans. ➢ planes de contingencia.
➢ Assigning responsibilities to individuals or groups for managing risks. ➢ Asignación de responsabilidades a los individuos o grupos para la gestión de riesgos.

Further to the above, the following would make your risk management more efficient, minimizing and resolving the risk factors as identified by you in your offshore software development project: En relación con lo anterior, la siguiente haría su gestión de los riesgos más eficiente, minimizar y resolver los factores de riesgo señalados por usted en su off-shore proyecto de desarrollo de software:

➢ The software development life-cycle (SLDC) should be well defined between you and your offshore partner, remembering that SLDC is not only a project management tool, but also a risk management tool as well. ➢ El desarrollo de software del ciclo de vida (SLDC) debe estar bien definida entre usted y su socio en alta mar, recordando que SLDC no es sólo una herramienta de gestión de proyectos, sino también una herramienta de gestión de riesgo también. Establishing the development life-cycle enables both the sides to set the time of completion of the project, and identify quality goals, deliverables and key milestones. Establecer el desarrollo del ciclo de vida permite a ambos los lados para fijar la hora de terminación del proyecto, e identificar objetivos de calidad, prestaciones y los principales hitos.

➢ Two project managers need to be identified, each from both the sides, who will be responsible to maintain the process as laid down in SLDC. ➢ Dos directores de proyectos deben ser identificados, cada uno de los dos lados, que será responsable de mantener el proceso tal como se establece en SLDC.

➢ For the critical areas in the project, you would need to set up the groundwork for “critical path management”, and front end load. ➢ Para las áreas críticas en el proyecto, usted tendría que establecer las bases para la "ruta crítica de gestión", y finales de carga frontal. This needs to be established as much as possible, for the critical path as identified in the project, becomes a crucial factor. Para ello es necesario que se establezca la medida de lo posible, por el camino crítico que se señalan en el proyecto, se convierte en un factor crucial.

➢ As you define the milestones, you would need to define perceptive goals for each one of them. ➢ Como usted definir los hitos, usted tendría que definir objetivos perceptivos para cada uno de ellos. If this task is taken at the end, there could be drastic set back in the whole process of the development activity. Si esta tarea se tome al final, podría haber un retroceso drástico en todo el proceso de desarrollo de la actividad.

➢ You would need to plan for any deviations that can occur in the process of development. ➢ Usted tendría que cualquier plan de desviaciones que pueden ocurrir en el proceso de desarrollo. This is an important task, which allows you and your offshore team to highlight deviations, track the deviation properties, and learn from it. Esta es una tarea importante, que te permite a ti ya tu equipo en alta mar para poner de relieve las desviaciones, realizar seguimiento de la desviación propiedades, y aprender de ella.

➢ It is important that IP protection is in place and is mentioned in the contract drawn up between you and your offshore partner. ➢ Es importante que la protección de la propiedad intelectual está en su lugar y se menciona en el contrato establecido entre usted y su socio en alta mar. When making a decision to outsource your software development, this is one important factor to be taken into that decision. Al tomar la decisión de externalizar su desarrollo de software, este es un importante factor a tener en esa decisión.

➢ The implementation of the enactment and enforcement of IP laws are different in different countries, and even if you adopt US related laws, enforcement still becomes difficult. ➢ La aplicación de la promulgación y aplicación de leyes de propiedad intelectual son diferentes en los distintos países, e incluso si EE.UU. adoptar leyes conexas, la aplicación todavía se hace difícil.

➢ Effective business relation and partnering would be the best way to mitigate the IP enforcement and enactment law. ➢ efectiva relación comercial y la asociación sería la mejor manera de mitigar el período de investigación encargados de hacer cumplir la ley y la promulgación. This could be done by effective maintenance of disciplines and auditing features. Esto podría hacerse por mantenimiento efectivo de disciplinas y funciones de auditoría.


Using Open Source in Offshore Software Development El uso de Open Source en el desarrollo de software offshore

The term open source software, OSS in short, may not be known to everyone. El término software de fuente abierta, el OSS en definitiva, no pueden ser conocidos por todos. In your IT career, you must have heard of the Linux operating system. En su carrera de TI, usted debe haber oído hablar del sistema operativo Linux. This is the operating system that has made a huge impact in the data center. Este es el sistema operativo que ha hecho un enorme impacto en el centro de datos. Though LINUX has made its name as OSS, there are several others that fall under the category of open source software, some of these been developed by large organizations, such as SUN, IBM, and others. Aunque Linux ha hecho su nombre como OSS, hay varios otros que caen bajo la categoría de software de código abierto, algunos de estos sido desarrollado por las grandes organizaciones, tales como SUN, IBM, y otros. There are others from smaller companies which you might not ever hear about. Hay otros de las empresas más pequeñas que usted puede ser que nunca oyó hablar. There is a difference between what we call OSS and other software like the one from Microsoft, which is essentially proprietary software. Hay una diferencia entre lo que llamamos el OSS y otros programas como el de Microsoft, que es esencialmente software propietario. Open source software allows free distribution of its copies. Software de fuente abierta permite la libre distribución de sus ejemplares. Not only that, you get to receive the original code that makes up the program. Y no sólo eso, llegar a recibir el código original que constituye el programa. On the other hand proprietary software can only be distributed under license, and the original codes are never made available to you. Por otro lado el software propietario sólo puede ser distribuido bajo licencia, y los códigos originales nunca se pone a disposición del usuario.

The combination of OSS and offshore development, yield high quality, and cost effective software, which is more easily available. La combinación del software de código abierto y en el mar el desarrollo, rendimiento de alta calidad, rentable y software, que es más fácilmente disponible. As it is it is a good idea in having OSS as a part of the software development project that you want to outsource. Como lo es, es una buena idea contar con OSS como parte del proyecto de desarrollo de software que desea subcontratar. However that is a different topic all together, but covered in a previous article No obstante que es un tema diferente todos juntos, sino que abarca en un artículo anterior Open Source and Offshore Development Open Source y el desarrollo off-shore .

In choosing to outsource your software development project, it is not only the pure coding skill that should be considered as far as the offshore company is concerned. Al elegir a subcontratar su proyecto de desarrollo de software, no es sólo la pura habilidad de codificación que deben tenerse en cuenta en lo que respecta a la sociedad offshore se refiere. A decision to outsource your project involves many other aspects to be considered before that decision is taken. La decisión de externalizar su proyecto involucra muchos otros aspectos que deben considerarse antes de que se adopte una decisión. There is obvious trust that you should have on the offshore company, who you wish to partner with, and this trust would develop over time. Es evidente la confianza que usted debe tener en la empresa offshore, que usted desea asociarse con, y esta confianza se desarrollaría con el tiempo. However establishing trust needs to have a beginning. Sin embargo el establecimiento de la confianza debe tener un comienzo. First of all the offshore company should be having good references of their previous work. En primer lugar, la empresa offshore debe tener buenas referencias de su anterior trabajo. There should be case studies that you can go through, which would reflect their professionalism in the work that they have done so far. No debe haber estudios de caso que puede pasar, que reflejan su profesionalidad en el trabajo que han realizado hasta la fecha. At the same time the applicable skill set that the team has, needs to be evaluated. Al mismo tiempo, el conjunto de habilidades aplicables al equipo que tiene, necesita ser evaluado. Even after all these, there could be those nagging doubts that you may have in trusting the offshore company in the way you would want to, since the company concerned is not a referral from one of your previous contracts. Incluso después de todos estos, podría haber acuciante esas dudas que usted pueda tener confianza en la empresa offshore en la forma que lo haría quiero, desde la empresa en cuestión no es una derivación de uno de sus contratos anteriores.

OSS source is the foundation of trust and confidence when you choose to outsource your software development. OSS fuente es el fundamento de la fe y la confianza cuando usted decide externalizar su desarrollo de software. It provides you with the trust in the software being developed. Se le proporciona la confianza en el software que se están desarrollando. It provides insurance in the worst case the project has not been delivered in the way you wanted. Proporciona seguros en el peor de los casos el proyecto no ha sido entregada de la manera en que usted quería. You still have the code and your infrastructure based on open source architecture which can be resumed or modified by a different software development partner. Aún tienes el código y su infraestructura basada en arquitectura de fuente abierta que puede ser reanudado o modificadas por otro socio de desarrollo de software. In other words, you still have the opportunity to engage other programmers to update the software much faster, since it is based on open source. En otras palabras, usted todavía tiene la oportunidad para comprometer a otros programadores para actualizar el software mucho más rápido, ya que se basa en código abierto. If open source was not used as the base of the software being developed, it would have been more difficult to replace the programmers, in the event of worst case scenarios. Si de fuente abierta no fue utilizado como la base del software está desarrollando, habría sido más difícil de reemplazar los programadores, en el caso de escenarios peor de los casos.

There are different interpretations to the term open source. Existen diferentes interpretaciones para el término de código abierto. In the previous example, open source would mean the complete product, which includes, tools, libraries, etc. Delivery of the developed software would not just mean delivery of the source code with the solution. En el ejemplo anterior, de código abierto significaría el producto completo, que incluye, herramientas, bibliotecas, etc Entrega del software desarrollado no sólo significa la entrega del código fuente con la solución. It has to include the open source product, tools, library, and others which need to have some established resources. Tiene que incluir los productos de fuente abierta, herramientas, biblioteca, y otras que necesitan tener algunos recursos establecidos. This reduces the time and effort of the new programmers in analyzing the software. Esto reduce el tiempo y el esfuerzo de los nuevos programadores para analizar el software. The new programmers would take much more time to get on to the speed, if the software development is not based on community based open source software. Los nuevos programadores tomaría mucho más tiempo para llegar a la velocidad, si el desarrollo de software no está basado en la comunidad basada en software de fuente abierta.

When you choose to outsource your software development, chose developers who would use open source architecture in developing the software. Cuando usted decide externalizar su desarrollo de software, los desarrolladores decidieron que utilizará la arquitectura de código abierto en el desarrollo del software. In such outsourced projects, open source provides the confidence and trust in much shorter time. En estos proyectos subcontratados, de código abierto proporciona la confianza y la confianza en mucho menos tiempo. In a decision to outsource, open source takes a positive approach to your risk management system. En una decisión de externalizar, de código abierto tiene un enfoque positivo a su sistema de gestión de riesgos. You can obtain the most competitive cost in choosing a vendor who would use community established open source architecture with appropriate license. Puede obtener la más competitiva de costos en la elección de un proveedor que utilice la comunidad de código abierto creado la arquitectura con licencia apropiada. This would provide you with the quality that you require. Esto daría a usted con la calidad que usted requiere.


Offshore Software Development Dynamics Offshore dinámica de desarrollo de software

Imagine the following article is software code.  Sure, it’s English and it somewhat comprehensible, but it’s going to take an investment to make it informative, clear and useful. Imagine el siguiente artículo es un software de código. Claro que es Inglés y que en cierta medida comprensible, pero que va a tener una inversión para que sea informativo, clara y útil.

This is a continuing post on the series of outsourcing article writing. Este es un puesto en la serie de subcontratación artículo escrito. Outsource Article Content Part I Externalice artículo contenido Parte I , Outsource Article Content Part II Externalizar parte de contenido el artículo II .  There are many parallels in outsourcing software development.  Sure, you receive Java, Ruby, PHP code back, but many times it requires a significant investment in making the code comprehensible.  Many people and organizations have experienced this missing of expectations when offshoring software development.  It takes time and effort to find good partners. . Hay muchos paralelismos en la externalización de desarrollo de software. Claro, usted recibe Java, Ruby, código PHP, pero muchas veces se requiere una inversión importante en hacer que el código comprensible. Muchas personas y organizaciones que han experimentado este desaparecidos de la deslocalización, cuando las expectativas de desarrollo de software . Se necesita tiempo y esfuerzo para encontrar buenos socios.
--

Developing software is an activity that requires intensive knowledge in the field of its expertise. El software es una actividad que requiere gran intensidad de conocimientos en el ámbito de su competencia. The differences in cultures, languages, development practice, power structure within organization, quality standards, documentation, time zones, and software updates and estimations hinder outsourcing of software development to other countries in more ways than one. Las diferencias en las culturas, los idiomas, las prácticas de desarrollo, estructura de poder dentro de la organización, las normas de calidad, documentación, zonas horarias, y las actualizaciones de software y las estimaciones de externalización de obstaculizar el desarrollo de software a otros países en más de una forma. As it becomes a widespread practice for organizations, in outsourcing of software projects, it becomes increasingly important to understand the environment which affects these practices for an effective development activity. Como se convierte en una práctica generalizada para las organizaciones, en la externalización de proyectos de software, se convierte cada vez más importante para comprender el entorno que afecta a estas prácticas para un eficaz desarrollo de la actividad. The key drivers in software development outsourcing, which mostly affects the effectiveness of the development, have evolved through the past experiences of organizations, while outsourcing their projects to companies in other countries. Los factores clave para el desarrollo de software externa, que afecta principalmente a la eficacia del desarrollo, han evolucionado a través de las experiencias pasadas de las organizaciones, mientras que la externalización de sus proyectos a las empresas en otros países.

Offshoring of software development is relatively new, and the various procedural aspects in this activity, such as, quality control, project management, faster development cycle, etc. have yet to be evolved fully, which understandably would provide a better confidence level. La deslocalización de desarrollo de software es relativamente nuevo, y los diversos aspectos de procedimiento en esta actividad, tales como, control de calidad, gestión de proyectos, más rápido ciclo de desarrollo, etc todavía no se han desarrollado plenamente, lo que, comprensiblemente, proporcionaría un mejor nivel de confianza. Constant research work is going on for the success of software development outsourcing. La constante labor de investigación que está pasando para el éxito del desarrollo de software outsourcing. This is being done through understanding of the various models, while investigating into the factors of its success. Esto se lleva a cabo a través de la comprensión de los diversos modelos, mientras que en la investigación de los factores de su éxito. These models have evolved through the interactions between the onsite and the outsourced organizations, and that’s how the learning curve has been derived out of years of experience. Estos modelos han evolucionado a través de las interacciones entre el sitio y las organizaciones subcontratadas, y que la forma en que la curva de aprendizaje se ha derivado de años de experiencia. In order to make outsourcing a success, the offshore sourcing needs to be taken up as a serious effort, with the stakeholders needing to learn more quickly through the experiences that they have had, bringing out the best practices that could be achieved. Con el fin de hacer un éxito de externalización, las necesidades de abastecimiento en alta mar que deben considerarse como un esfuerzo serio, con las partes interesadas que necesitan para aprender más rápidamente a través de las experiencias que han tenido, con lo que las mejores prácticas que podrían ser alcanzados. Offshoring projects involve various socio-cultural processes inherent in the system of knowledge transfer, including the explicit and implicit, formal and informal exchanges of knowledge between the onsite and the offshore companies. La deslocalización envuelven varios proyectos socio-culturales inherentes a los procesos en el sistema de transferencia de conocimientos, incluidos los explícitos e implícitos, formales e informales intercambios de conocimientos entre el sitio y las sociedades off-shore.

Some of the emphatic declarations that have been so far derived at, from the experience and previous results out of software development outsourcing, provide an understanding of the variables affecting the success of offshore software development. Algunas de las declaraciones enfática que se han derivado hasta ahora en, a partir de la experiencia y resultados previos de desarrollo de software externa, facilitar la comprensión de las variables que influyen en el éxito del desarrollo de software offshore. Some of these assertions include: Algunas de estas afirmaciones incluyen:

  • The essential components of offshore software development success are the various dimension of the project itself, which are on-time completion, within-budget completion, costs and effort, meeting system requirements, system quality, user satisfaction, system use, and net system benefits. Los componentes esenciales de desarrollo de software offshore éxito son las diversas dimensiones del proyecto en sí, que están a tiempo de realización, dentro de la realización del presupuesto, los costes y el esfuerzo, reunidos los requisitos del sistema, sistema de calidad, la satisfacción de los usuarios, el uso del sistema, y sistema de beneficios netos .
  • The process performance is a measure of assessing the functioning of the offshore partner. El proceso de rendimiento es una medida de evaluar el funcionamiento de la pareja en alta mar. These performances could be classified as on-time and within-the-budget completion of the project by the offshore company, effectiveness of communication, etc. The performance of the software product implemented is also a measure in assessing the efficiency and capability of the offshore company. Estas actuaciones podrían ser clasificados como sobre-tiempo y en el presupuesto de realización del proyecto de la empresa offshore, la eficacia de la comunicación, etc El rendimiento de los productos software aplicado es también una medida para evaluar la eficiencia y la capacidad de la alta mar compañía.
  • Understanding of the project being outsourced is one of the vital aspects of any project success. Comprensión del proyecto están subcontratados es uno de los aspectos vitales de todo el éxito del proyecto. The offshore company would need to have adequate relationship management and engagement staff, who would be skilled to understand the process of outsourcing, there-by helping the onshore company to navigate through the complexity. La empresa offshore tendría que tener relación adecuada gestión y el compromiso personal, que serían capacitados para entender el proceso de contratación externa, por lo tanto, de ayudar a la compañía en tierra a navegar a través de la complejidad.
  • A disciplined software project management is success by itself. Un disciplinado software de gestión de proyectos es el éxito por sí mismo.
  • The major issue regarding communication between the onsite organization and its offshore partner company has been identified as the most important aspect in any outsourcing of software development projects. El principal problema respecto a la comunicación entre la organización y el sitio de su empresa asociada en alta mar ha sido identificado como el aspecto más importante en cualquier contratación externa de proyectos de desarrollo de software.

In outsourcing your software development, you would need to take care of the complex processes that it involves. En su contratación externa de desarrollo de software, usted tendría que tener cuidado de los complejos procesos que implica. These are further complicated by the ever changing business scenario, when requirements still remain fluid. Estos se complican aún más por la siempre cambiante escenario de negocios, cuando las necesidades siguen siendo fluido. Offshoring a software development project is not simply handing over a set of documents to the partner company. Offshoring un proyecto de desarrollo de software no es simplemente la entrega de una serie de documentos a la empresa colaboradora. It needs a careful interactive session between the onsite and offshore company, discussing the project threadbare, providing the required detailed information possible for the project to be taken up by the partner company. Es necesario un cuidadoso sesión interactiva entre el sitio y la empresa offshore, discutiendo el proyecto threadbare, los dispositivos de información detallada posible para que el proyecto pueda ser adoptada por la empresa colaboradora. The offshore company on the other hand would need to comprehend fully regarding the project implementation, taking into account all the possible pitfalls that may come up during execution. La empresa offshore, por otra parte tendría que comprender plenamente en relación con la ejecución del proyecto, teniendo en cuenta todos los posibles peligros que pudieran surgir durante la ejecución.

The time zone separation, the cultural differences, communication, etc are all pitfalls in any outsourcing of projects. La zona horaria de separación, las diferencias culturales, comunicación, etc son todos los escollos en cualquier externalización de los proyectos. In addition, the geographical boundaries, and the changing definitions and relationships in the development effort are all part of the game of offshore software development. Además, los límites geográficos, y cambios en las definiciones y las relaciones en las actividades de desarrollo son todos parte del juego de desarrollo de software offshore.


Challenges in Offshore Software Development Desafíos en el desarrollo de software offshore

In this day and age, with globalization setting in, organizations are constantly looking for benefits derived from outsourcing software development to other countries. En este día y edad, con la globalización en el establecimiento, las organizaciones están constantemente buscando los beneficios derivados de la externalización de desarrollo de software a otros países. There is skilled software teams distributed all over the world, which are increasingly being made available to organizations as partner companies, collaborating on offshore software development projects. Hay equipos cualificados software distribuido en todo el mundo, que son cada vez más se puso a disposición de organizaciones como empresas asociadas, colaborando en el mar proyectos de desarrollo de software.

Organizations have been distributing their work all over the world, outsourcing their software development projects to different countries. Las organizaciones han sido la distribución de sus trabajos en todo el mundo, la externalización de sus proyectos de desarrollo de software a diferentes países. The motivations of these organizations, as well as the process they follow in distributing projects, continues to evolve. Las motivaciones de estas organizaciones, así como el proceso que siguen en la distribución de proyectos, continúa evolucionando. There have been significant management process changes adopted by companies in dealing with offshore companies and their software teams. Se han producido importantes cambios en el proceso de gestión adoptadas por las empresas para hacer frente a las empresas extranjeras y sus equipos de software.

Offshore software development offers several benefits, but at the same time distribution of projects to distributed team of software engineers offer more challenges than the collected team. "Offshore" de desarrollo de software ofrece varias ventajas, pero al mismo tiempo la distribución de los proyectos para trabajar en equipo de ingenieros de software ofrecen más retos que el equipo de recogida. The question is how to address these issues, and as these evolve, there would be finally a set of critical factors that would ensure the success of offshore software development. La cuestión es cómo abordar estas cuestiones, y como estas evolucionan, habrá finalmente un conjunto de factores críticos que garanticen el éxito del desarrollo de software offshore.

The trends in the market: Las tendencias en el mercado:

There is a continued global expansion of companies, and this expansion has resulted in distribution of their teams around the world in several ways, whether be it offshoring, acquiring, partnering, or outsourcing. Hay una continua expansión global de las empresas, y esta expansión se ha traducido en la distribución de sus equipos en todo el mundo de varias maneras, ya sea se trate de la deslocalización, la adquisición, asociación, o la subcontratación. As this practice becomes prevalent, there is a constant evolvement of approaches and practices, taking the offshoring to a matured level. Como esta práctica se convierte en predominante, hay una evolución constante de enfoques y prácticas, teniendo la deslocalización a un nivel de maduración.

The decision factor: El factor de decisión:

Many organizations are moving their work to one single destination, and frequently in India. Muchas organizaciones se están moviendo su trabajo a un único destino, y con frecuencia en la India. In the present days there are trends in transferring projects to China, and the Eastern European countries. En la actualidad hay tendencias en la transferencia de proyectos a China, y los países de Europa oriental. In transferring the work, the main motive was the En la transferencia de la obra, el principal motivo fue la cost factor factor de coste , where the decision to move offshore was influenced mainly by the availability of the skill at a much cheaper rate than the US or Western European countries. , Donde la decisión de pasar el mar fue influenciado principalmente por la disponibilidad de la habilidad en una tasa mucho más barato que los EE.UU. o los países de Europa occidental.

Organizations in the US and Western Europe are increasingly setting up their own development centres in several locations in the world. Organizaciones en los EE.UU. y Europa Occidental son cada vez más la creación de sus propios centros de desarrollo en varios lugares del mundo. The decision to set up such center in Asia, and Eastern European countries are mostly motivated by the availability of the right skill at low rates, and there are other motivation factors which has prompted organizations to move offshore. La decisión de crear tal centro en Asia, y países de Europa oriental son en su mayoría motivados por la disponibilidad del derecho habilidad con tarifas baratas, y hay otros factores de motivación que ha impulsado a las organizaciones a trasladarse mar adentro.

Having centers all over the world, organizations now have a pool of talents from which they can draw from. Habiendo centros en todo el mundo, las organizaciones tienen ahora un grupo de talentos a partir de la cual podemos extraer de. Having set up the teams in different time zones, the organizations can now have extended working hours. Habiendo creado los equipos en diferentes zonas horarias, las organizaciones pueden ahora han ampliado las horas de trabajo. The team in the eastern zone hands over the job to the western team at the end of their day. El equipo en la zona oriental manos sobre el trabajo a la occidental del equipo al final de su día. The team in the western region starts to work on the same project, there-by extending the time extensively, saving cost and time of completion. El equipo en la región occidental comienza a trabajar en el mismo proyecto, por lo tanto, de ampliar el tiempo ampliamente, el ahorro de costes y el tiempo de finalización.

There is increasing number of outsourcing providers growing in the world, which has made outsourcing popular for quite some time. Cada vez es mayor el número de proveedores de externalización creciente en el mundo, que ha hecho la externalización popular durante bastante tiempo. Initially, the organizations used to select outsourcing vendors who made sense at that time. Inicialmente, las organizaciones utilizan para seleccionar los proveedores de externalización que tenía sentido en ese momento. The decision could also have also have been based on the project itself, which was perhaps found to be suitable for outsourcing, or the organizations might have based their decision on such projects which were short of funding. La decisión también podría tener también se han basado en el propio proyecto, que fue tal vez declarados aptos para ser externa, o las organizaciones han basado su decisión en este tipo de proyectos que se corta de fondos.

The pitfalls: Los escollos:

In order to successfully accomplish project completion, the offshore companies need to be flexible in adapting to new methodologies, life-cycles, and specifications in order to meet the outsourced project requirements. Con el fin de lograr con éxito la finalización del proyecto, las sociedades off-shore tienen que ser flexibles para adaptarse a las nuevas metodologías, los ciclos de vida, y las especificaciones con el fin de satisfacer las necesidades de los proyectos subcontratados. In each case, the methodology applied for projects are usually different. En cada caso, la metodología aplicada para los proyectos suelen ser diferentes. There are other factors which may affect the offshore software development processes, and these could be the existing communication and co-ordination variables, cultural differences, requirement deficiencies, relationship management, quality process, project management tools for project evaluation, and more importantly the turn-over of skilled people attached to the project. Hay otros factores que puedan afectar a la off-shore procesos de desarrollo de software, y estos podrían ser los actuales de comunicación y la coordinación de las variables, las diferencias culturales, requisito deficiencias, gestión de relaciones con el, proceso de calidad, gestión de proyectos herramientas para la evaluación de proyectos, y que es más importante el cambio - más de personas calificadas adjunta al proyecto.