Three Ideas to Consider When Implementing Agile with Distributed Development Teams Três ideias a considerar aquando da execução ágil com o desenvolvimento distribuído equipes
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. O quadro de engenharia de software foi redefinida a introdução de conceitos Agile desenvolvimento de software. Agile levou a uma maior melhoria no ciclo de vida de um projeto de software. Ao implementar Agile com uma offshore ou distribuído desenvolvimento equipas, há oportunidades para abordar três aspectos da o projeto. Vamos cobrir esses três elementos, bem como proporcionar um pouco de fundo 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. Existem várias desenvolvimento tácticas introduzidas por Agile. A maioria das táticas foco tentativa de minimizar e / ou expor risco no desenvolvimento de software em curto período de tempo. 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. Iteração é o desenvolvimento de software em uma unidade de tempo, e isto pode durar de uma a quatro semanas. Inclui o planejamento, análise de requisitos, design, codificação e testes. 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 desenvolvido durante iteração não precisam de ser funcional o suficiente para ser lançado como um produto no mercado, mas o objectivo é o de ter trabalho software, sem bugs, no final de cada iteração. The team re-evaluates the project priorities at the end of each iteration. A equipe reavalia as prioridades do projeto, no final de cada iteração.
Traditional outsource challenges are amplified and new challenges are created when software development is taken offshore. Tradicional terceirizar desafios são amplificados e os novos desafios são criadas quando é tomada desenvolvimento de software offshore. These new challenges are mainly in cultural differences, combined with the communication difficulty due to the difference in time and language comprehension. Esses novos desafios são principalmente nas diferenças culturais, combinada com a dificuldade da comunicação devido à diferença de tempo e de língua espanhola. 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. Mais importante ainda, os maiores desafios permanecem na comunicação, transferência de compreensão lógica empresarial, procura em matéria de cooperação em projetos mal definidos, desconhecido e imprecisa exigências dos clientes e da falta de envolvimento, as diferenças entre cliente e fornecedor, a distância geográfica, e muitos mais. To be successful with offshore software development, these hurdles need to be overcome by both the onshore and offshore teams. Para ser bem sucedido com offshore desenvolvimento de software, estes obstáculos devem ser superados por ambas as equipas onshore e offshore.
In plan-driven and Agile as well, face to face communication is stressed to improve communication and understanding of the project. No plano de condução da Agile e tão bem, face a face com a comunicação é sublinhado para melhorar a comunicação ea compreensão do projeto. 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. Esse tipo de cara a cara momento tem lugar durante cada iteração, onde plano de condução da causa e este projecto é essencialmente teve lugar no início do projecto. Quando frente a frente tempo não é possível com o fornecedor offshore, é positivo ter cada promotor responder diariamente 3 perguntas: o que você fez ontem? o que você pretende fazer hoje? descrever quaisquer barreiras ou obstáculos na realização dos iteração histórias? Cada desenvolvedor deve responder a essas perguntas e não simplesmente o gerente de projeto offshore. Talvez o gerente de projeto pode offshore ajudar a traduzir as respostas a estas questões.
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. No caso da Agile, face a face com as reuniões são realizadas em todos os tempos, geralmente sob a forma de diário Scrums, par programação, retrospectivas iteração e iteração planejamento. Em desenvolvimento distribuído equipes, muitas vezes os gestores de viagens onshore offshore a realização de reuniões com o offshore equipa, ou, em outras circunstâncias, os gestores de viagens onshore offshore para reuniões. One important influence depends on the offshore person visiting the onshore team to absorb the project details and develop/foster relationships. Uma importante influência depende da pessoa offshore visitando a equipe em terra para absorver e desenvolver o projecto detalhes / fomentar relacionamentos. 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. Ele deve tomar este know-how da equipe no local de uma forma que ele é entendido suficiente para responder a muitas questões levantadas pela sua equipa offshore. 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. Além disso, ele também deve ser capaz de a sua equipa respeitantes aos membros sobre as decisões que foram tomadas em suas reuniões com a equipa local. Dependendo da complexidade do projeto, um membro da equipe no local, com bons conhecimentos em lógica empresarial é frequentemente enviadas para o trabalho offshore.
In implementing Agile projects, a series of processes are utilized. Na execução da Agile projectos, uma série de processos são utilizados. The development process is not just a single approach. O processo de desenvolvimento não é apenas uma única abordagem. In implementing software offshore development, there are some principles that are followed, which have been termed as Agile Manifesto. Na execução do desenvolvimento de software offshore, existem alguns princípios que são seguidas, as quais foram designados como Agile Manifesto. These are as follows - Estas são as seguintes --
➢ Customer satisfaction is achieved by rapid and continuous delivery of useful software. ➢ A satisfação do cliente é alcançada pelo rápido e contínuo fornecimento de softwares úteis.
➢ Quick delivery of working software within weeks rather than months. ➢ Rápida entrega do software dentro de semanas de trabalho em vez de meses.
➢ The principle measure of development progress is derived from the working software. ➢ O princípio do desenvolvimento medir o progresso é derivado do trabalho software.
➢ Any changes in the software may be incorporated later. ➢ Quaisquer alterações no software podem ser incorporados mais tarde.
➢ Necessity in having face to face communication for better understanding. ➢ Necessidade de ter cara a cara comunicação para melhor compreensão.
➢ Maintain close relationships between the business people and the developers. ➢ manter relações estreitas entre os empresários e os desenvolvedores.
➢ Motivation and trust on the individuals make the project implementation successful. ➢ Motivação e confiança em fazer as pessoas de execução do projecto bem sucedido.
➢ Apply continuous attention to the project design, and try to attain technical excellence. ➢ Aplicar contínua atenção à concepção do projeto, e tentar atingir a excelência técnica.
➢ Adapt fast to changing circumstances. ➢ Adapt rápidas à evolução das circunstâncias.
It was found that the iterative framework brought benefits to Agile software development vendors. Verificou-se que o quadro iterativo trouxe benefícios para a Agile desenvolvimento de software vendedores. By this approach, the customers could make payments after each iteration. Por esta abordagem, os clientes poderão fazer pagamentos após cada iteração. 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. Ao pagar, desta forma, o cliente não perder ou estar em um risco para pagar o para todo o lote após a conclusão do projecto. This brought in commitment from the customer to provide the vendor with better business and motivates the vendor to consider each iteration important. Isso nos trouxe o compromisso de fornecer ao cliente o melhor negócio com o vendedor e motiva o fornecedor de considerar cada iteração 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. O método de feedback contínuo e comunicação contribui para o processo de desenvolvimento offshore, mas a abordagem de curto iterações tem-se revelado particularmente bem sucedida.
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. Outro aspecto da Agile desenvolvimento é a importância do teste em cada iteração. Cada iteração deve produzir testes automatizados que podem ser utilizadas durante cada iteração iterações e futuro também. Os benefícios de testes automatizados é melhor abordada em diferentes artigos. Contudo, no contexto deste artigo, é importante que os seus fornecedores de software offshore emitir testes automatizados a cada iteração. Ao considerar novos vendedores, perguntar sobre as suas estratégias testes. É melhor para ir a um vendedor que acredita em testes automatizados, em vez de tentar convencer um vendedor as vantagens de testes automatizados.
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. Portanto, em suma, aquando da aplicação Ágeis em desenvolvimento distribuído equipas, há oportunidades para abordar três aspectos do projeto: comunicação, pagamento / prestações e testes automatizados.












