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.












