Three Ideas to Consider When Implementing Agile with Distributed Development Teams Trois idées à prendre en compte lors de la mise en œuvre souple avec les équipes de développement distribuées
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. Le cadre de génie logiciel a été redéfini par l'introduction de Agile Software concepts de développement. Agile a suscité une plus grande amélioration dans le cycle de vie d'un projet de logiciel. Pour l'application de Agile offshore avec une ou des équipes de développement distribuées, il est possible d'aborder trois aspects de le projet. Nous allons couvrir ces trois éléments, ainsi que fournir un peu d'information sur 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. Il existe plusieurs tactiques de développement présenté par Agile. La plupart des tactiques se concentrer tentative pour minimiser et / ou exposer des risques dans le développement de logiciel en peu de temps. 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. Itération est le développement de logiciels dans une unité de temps, et ce de mai dernier une à quatre semaines. Il comprend la planification, l'analyse des besoins, la conception, de codage et de test. 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. Les logiciels développés au cours de l'itération n'a pas besoin d'être suffisamment fonctionnel pour être libéré à un produit sur le marché, mais l'objectif est d'avoir un logiciel fonctionnel, sans les bugs, à la fin de chaque itération. The team re-evaluates the project priorities at the end of each iteration. L'équipe réévalue les priorités des projets à la fin de chaque itération.
Traditional outsource challenges are amplified and new challenges are created when software development is taken offshore. Traditionnel externaliser défis sont amplifiés et les nouveaux défis sont créés lorsque le développement de logiciels est pris au large. These new challenges are mainly in cultural differences, combined with the communication difficulty due to the difference in time and language comprehension. Ces nouveaux défis sont principalement dans les différences culturelles, combinée avec la difficulté de communication en raison de la différence dans le temps et compréhension du langage. 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. Plus important encore, les plus grands défis restent à relever dans la communication, le transfert de comprendre la logique, la demande la coopération dans les projets mal définis, des inconnus et imprécise exigences et le manque d'implication du client, les différences entre le client et le vendeur, la distance géographique, et bien d'autres encore. To be successful with offshore software development, these hurdles need to be overcome by both the onshore and offshore teams. Pour réussir en mer avec le développement de logiciels, ces obstacles doivent être surmontés par les deux à terre et en mer équipes.
In plan-driven and Agile as well, face to face communication is stressed to improve communication and understanding of the project. Dans le cadre du plan axé sur Agile et ainsi, face à face accent est mis sur la communication pour améliorer la communication et la compréhension du projet. 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. Ce type de face à face temps a lieu au cours de chaque itération, où plan-projet est axé concernés et ce essentiellement a eu lieu au début du projet. Lorsque face à face le temps n'est pas possible avec le prestataire offshore, il est utile d'avoir des chaque développeur de réponse 3 questions tous les jours: ce que vous aviez fait hier? ce que vous envisagez de faire aujourd'hui? décrire les barrages routiers ou des obstacles dans la réalisation du itération histoires? Chaque développeur doit répondre à ces question et pas simplement le chef de projet offshore. Peut-être la mer chef de projet peut nous aider en traduisant les réponses à ces questions.
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 cas d'Agile, les rencontres ont lieu à tous les temps, généralement sous forme de mêlée quotidienne, la paire de programmation, des rétrospectives d'itération et de planification d'itération. En équipes de développement distribuées, nombre de fois où les gestionnaires de terre au large de voyage à tenir des réunions avec la mer équipe, ou dans d'autres circonstances, les gestionnaires de terre au large de voyage pour les réunions. One important influence depends on the offshore person visiting the onshore team to absorb the project details and develop/foster relationships. Une grande influence dépend de la personne en mer visitant le équipe à terre pour absorber les détails du projet et de développer / encourager les relations. 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. Il doit prendre ce savoir-faire de l'équipe sur place d'une manière qu'il est bien suffisant pour répondre à de nombreuses questions soulevées par son équipe 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. En outre, il doit être aussi capable de relation avec les membres de son équipe sur les décisions qui ont été prises lors de ses réunions sur place avec l'équipe. En fonction de la complexité du projet, un membre de l'équipe sur place, avec de bonnes connaissances dans le monde des affaires est logique souvent envoyés au travail au large des côtes.
In implementing Agile projects, a series of processes are utilized. Agile dans la mise en œuvre des projets, une série de procédés sont utilisés. The development process is not just a single approach. Le processus de développement n'est pas seulement une approche unique. In implementing software offshore development, there are some principles that are followed, which have been termed as Agile Manifesto. Dans la mise en oeuvre du développement logiciel offshore, il ya certains principes qui sont suivies, qui ont été qualifiées de Agile Manifeste. These are as follows - Ceux-ci sont comme suit --
➢ Customer satisfaction is achieved by rapid and continuous delivery of useful software. ➢ La satisfaction du client est atteint par une rapide et ininterrompue de logiciels utiles.
➢ Quick delivery of working software within weeks rather than months. ➢ livraison rapide de logiciels de travail en quelques semaines plutôt qu'en mois.
➢ The principle measure of development progress is derived from the working software. ➢ Le principe de mesure des progrès du développement est dérivé du logiciel de travail.
➢ Any changes in the software may be incorporated later. ➢ Les modifications dans le logiciel mai être intégrée plus tard.
➢ Necessity in having face to face communication for better understanding. ➢ Nécessité d'avoir en face à face de communication pour une meilleure compréhension.
➢ Maintain close relationships between the business people and the developers. ➢ Maintenir des relations étroites entre les gens d'affaires et les développeurs.
➢ Motivation and trust on the individuals make the project implementation successful. ➢ La motivation et la confiance sur les individus faire la mise en œuvre des projets couronnés de succès.
➢ Apply continuous attention to the project design, and try to attain technical excellence. ➢ demande une attention continue à la conception du projet, et essayer d'atteindre l'excellence technique.
➢ Adapt fast to changing circumstances. ➢ adapter rapidement à l'évolution des circonstances.
It was found that the iterative framework brought benefits to Agile software development vendors. Il a été constaté que l'itératif cadre a apporté des avantages à Agile Software Development vendeurs. By this approach, the customers could make payments after each iteration. Par cette approche, les clients peuvent effectuer des paiements après chaque itération. 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. En payant cette façon, le client ne perd pas ou être dans un risque de payer le pour l'ensemble du lot après l'achèvement du projet. This brought in commitment from the customer to provide the vendor with better business and motivates the vendor to consider each iteration important. Cela a porté à l'engagement du client à fournir au vendeur une meilleure entreprise et motive le vendeur à examiner chaque itération important. 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. La méthode de rétro-information continue et de la communication contribue à la large processus de développement, mais l'approche de courte itérations a révélé particulièrement fructueux.
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. Un autre aspect du développement agile est l'importance des tests dans chaque itération. Chaque itération doit produire des tests automatisés qui peuvent être utilisés au cours de chaque itération et futures itérations ainsi. Les prestations de tests automatisés est mieux traités dans différents articles. Toutefois, dans le contexte du présent article, il est important pour votre offshore fournisseurs de livrer tests automatisés avec chaque itération. Lors de l'examen de nouveaux fournisseurs, renseignez-vous sur leurs stratégies de dépistage. Il est préférable de faire affaire avec un fournisseur qui croit en tests automatisés, plutôt que d'essayer de convaincre un les avantages des fournisseurs de tests automatisés.
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. Donc, en résumé, lors de l'application Agile dans les équipes de développement distribuées, il est possible d'aborder trois aspects du projet: la communication, le paiement / des produits à livrer et les tests automatisés.















