Trois idées de considérer en mettant en application agile avec les équipes distribuées de développement

-->

Le cadre de la technologie de la programmation a été redéfini par l'introduction des concepts agiles de développement de logiciel.  Agile a incité une plus grande amélioration du cycle de vie d'un projet de logiciel.  Quand mettre en application agile avec des équipes en mer ou distribuées de développement, là sont des occasions d'adresser trois aspects du projet.  Nous couvrirons ces trois articles aussi bien que fournissons un peu de fond sur agile.

Il y a plusieurs tactique de développement présentée par agile.  La plupart des tactique focalise la tentative de réduire au minimum et/ou exposer le risque dans le logiciel se développant dans la quantité de temps courte. L'itération est le développement du logiciel dans une unité de temps, et ceci peut durer d'une à quatre semaines.  Elle inclut la planification, l'analyse de conditions, la conception, le codage, et l'essai. Le logiciel développé pendant l'itération n'a pas besoin d'être assez fonctionnel pour être libéré comme produit sur le marché, mais l'objectif est d'avoir le logiciel fonctionnant, sans bogues, à la fin de chaque itération. L'équipe réévalue les priorités de projet à la fin de chaque itération.

Traditionnel externalisez les défis sont amplifiés et de nouveaux défis sont créés quand le développement de logiciel est pris en mer. These new challenges are mainly in cultural differences, combined with the communication difficulty due to the difference in time and language comprehension. 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. To be successful with offshore software development, these hurdles need to be overcome by both the onshore and offshore teams.

In plan-driven and Agile as well, face to face communication is stressed to improve communication and understanding of the project. 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.

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. One important influence depends on the offshore person visiting the onshore team to absorb the project details and develop/foster relationships. 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. 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.

In implementing Agile projects, a series of processes are utilized. The development process is not just a single approach. In implementing software offshore development, there are some principles that are followed, which have been termed as Agile Manifesto. These are as follows -

➢    Customer satisfaction is achieved by rapid and continuous delivery of useful software.
➢    Quick delivery of working software within weeks rather than months.
➢    The principle measure of development progress is derived from the working software.
➢    Any changes in the software may be incorporated later.
➢    Necessity in having face to face communication for better understanding.
➢    Maintain close relationships between the business people and the developers.
➢    Motivation and trust on the individuals make the project implementation successful.
➢    Apply continuous attention to the project design, and try to attain technical excellence.
➢    Adapt fast to changing circumstances.

It was found that the iterative framework brought benefits to Agile software development vendors. By this approach, the customers could make payments after each iteration. 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. This brought in commitment from the customer to provide the vendor with better business and motivates the vendor to consider each iteration 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.
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.
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.



Comments are closed.