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.


Establishing and Managing Risk factors in Offshore Software Development D'établir et de gérer les facteurs de risque en Offshore Software Development

Outsourcing software development is usually done with the intention of lowering the cost of a project. La sous-traitance de développement de logiciels est généralement fait avec l'intention d'abaisser le coût d'un projet. 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 décision d'externaliser est également prises pour réorienter et de conserver les compétences compétentes d'une entreprise, ou à utiliser plus efficacement les compétences de la sous-traitance, sa technologie et ses ressources.

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. Dans la sous-traitance un projet de logiciel, traditionnellement, les mains sur place entreprise sur la gestion et au jour le jour les fonctions du projet à développer pour une société établie au large des côtes. The onsite and the offshore companies enter into a contractual agreement. Sur place et les sociétés offshore entrer dans un accord contractuel. This agreement provides the terms and conditions agreed between the two companies related to the transfer of services. Cet accord prévoit les modalités et conditions convenues entre les deux sociétés liées au transfert des services. 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. Par cet accord, la société offshore acquiert de l'entreprise sur place la documentation du projet à exécuter, ainsi que le transfert des personnes, des biens, et d'autres ressources. Such project outsourcing usually includes: L'externalisation de ces projets comprend généralement:

1. Information Technology. Technologies de l'information.
2. Human resources. Des ressources humaines.
3. Facilities.
4. Real estate management. La gestion immobilière.
5. Accounting. Comptabilité.

There are many onsite companies who outsource customer support, and call center activities, such as, telemarketing, customer services, market research, manufacturing and engineering. Il existe de nombreuses sociétés sur place qui sous-traiter l'assistance clientèle, centre d'appels et les activités, comme le télémarketing, services à la clientèle, des études de marché, la fabrication et l'ingénierie.

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 décision d'un projet d'externalisation est généralement prises par la haute gestion au niveau d'une organisation, et à certains cas, la décision doit être approuvée par les membres du Conseil. 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. Le contrat conclu par le sur place et les sociétés offshore entraîne une sorte de cession d'une fonction commerciale, dans ce cas le développement de logiciels, faites sur place par l'entreprise à l'un situé à l'étranger. Once the decision is taken in the matter of outsourcing, the search for an offshore partner would start. Une fois la décision prise dans ce domaine de l'externalisation, la recherche d'un partenaire offshore allait commencer.

The most important criteria in setting milestones offshore software development is to take care of the risks involved. Les critères les plus importants jalons dans la mise en offshore de développement de logiciels consiste à s'occuper des risques encourus. 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 gestion des risques devrait commencer au tout premier stade, et en conséquence, il existe plusieurs facteurs de risque à prendre en compte. Risk management is as follows: La gestion des risques est la suivante:

➢ Take early actions on identifying the risks. ➢ prendre rapidement des mesures sur l'identification des risques.
➢ Determine the ways to mitigate those risks. ➢ Déterminer les moyens d'atténuer ces risques.
➢ Decide on when to mitigate the risks. ➢ Décider de la date à atténuer les risques.
➢ Assign responsibilities to your staff to manage the various risks. ➢ Attribuer des responsabilités à votre personnel pour gérer les divers risques.

Usually, the teams involved in software development are “can do” groups, and it is not advisable to talk to them about process failures. Habituellement, les équipes impliquées dans le développement de logiciels sont "peut faire", et il n'est pas conseillé de parler avec eux sur le processus échecs. There will be likely resistance from such groups, and you would need to overcome this attitude of resistance. Il sera probablement la résistance de ces groupes, et vous devez surmonter cette attitude de résistance. You would need to plan for contingencies and also identify potential risk areas. Vous devrez plan pour les imprévus et également d'identifier les zones à risque potentiel. In establishing such a procedure, the approach will yield the following: En établissant une telle procédure, l'approche de rendement suivants:

➢ You will have a prioritized listing of all the risk that you envisage. ➢ Vous aurez une liste par ordre de priorité de tous les risques que vous envisagez.
➢ You will have estimation of the probability of each of the risks occurring. ➢ Vous aurez l'estimation de la probabilité de chacun des risques survenant.
➢ You will be able to gauge the potential impact of the risks as regards the project or company. ➢ Vous serez en mesure d'évaluer l'impact potentiel des risques en ce qui concerne le projet ou l'entreprise.
➢ Contingency plans. ➢ Les plans d'urgence.
➢ Assigning responsibilities to individuals or groups for managing risks. ➢ Attribution des responsabilités à des individus ou des groupes de gestion des risques.

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: Outre ce qui précède, on rendrait votre gestion des risques plus efficace, réduire et de résoudre les facteurs de risque identifiés par vous dans votre offshore projet de développement de logiciel:

➢ 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. ➢ Le développement des logiciels du cycle de vie (SLDC) doivent être bien définis entre vous et votre partenaire en mer, en rappelant que SLDC est non seulement un outil de gestion de projet, mais également un outil de gestion du risque ainsi. 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. La mise en place le développement du cycle de vie permet aux deux parties de fixer la date d'achèvement du projet, et d'identifier des objectifs de qualité, des résultats attendus et les étapes clés.

➢ 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. ➢ Deux gestionnaires de projet doivent être identifiés, chacun des deux parties, qui sera responsable de maintenir le processus tel que défini dans SLDC.

➢ For the critical areas in the project, you would need to set up the groundwork for “critical path management”, and front end load. ➢ Pour les domaines critiques dans le projet, vous devez configurer le terrain pour "la gestion du chemin critique", et avant la fin de charge. This needs to be established as much as possible, for the critical path as identified in the project, becomes a crucial factor. Ce doit être établie autant que possible, pour le chemin critique mentionnés dans le projet, devient un facteur crucial.

➢ As you define the milestones, you would need to define perceptive goals for each one of them. ➢ Comme vous définir les étapes, vous aurez besoin de définir les objectifs de perception pour chacun d'entre eux. If this task is taken at the end, there could be drastic set back in the whole process of the development activity. Si cette tâche est prise à la fin, il pourrait être drastique en retrait, dans l'ensemble du processus du développement.

➢ You would need to plan for any deviations that can occur in the process of development. ➢ Vous devrez, pour toute écarts qui peuvent se produire dans le processus de développement. This is an important task, which allows you and your offshore team to highlight deviations, track the deviation properties, and learn from it. C'est une tâche importante, qui permet à vous et votre équipe en mer pour mettre en évidence les écarts, de suivre l'écart propriétés, et en tirer des leçons.

➢ It is important that IP protection is in place and is mentioned in the contract drawn up between you and your offshore partner. ➢ Il est important que la protection de la propriété intellectuelle est en place et est mentionné dans le contrat établi entre vous et votre partenaire offshore. When making a decision to outsource your software development, this is one important factor to be taken into that decision. Lorsque vous faites une décision d'externaliser votre développement de logiciels, il s'agit d'un facteur important à prendre en cette décision.

➢ 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 mise en oeuvre de l'adoption et l'exécution des lois de propriété intellectuelle sont différentes dans les différents pays, et même si vous adopter des lois concernant les États-Unis, l'application devient difficile encore.

➢ Effective business relation and partnering would be the best way to mitigate the IP enforcement and enactment law. ➢ efficace relation d'affaires et de partenariat serait le meilleur moyen d'atténuer la période d'enquête mise en œuvre et l'adoption loi. This could be done by effective maintenance of disciplines and auditing features. Cela pourrait se faire par l'entretien efficace des disciplines et des fonctions d'audit.


Using Open Source in Offshore Software Development En utilisant Open Source dans le développement de logiciels offshore

The term open source software, OSS in short, may not be known to everyone. Le terme logiciel à code source ouvert, l'OSS en bref, mai pas être connue de tous. In your IT career, you must have heard of the Linux operating system. Dans votre carrière, vous devez avoir entendu parler du système d'exploitation Linux. This is the operating system that has made a huge impact in the data center. C'est le système d'exploitation qui a fait un énorme impact sur le centre de données. 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. Bien que Linux a fait son nom que l'OSS, il existe plusieurs autres qui relèvent de la catégorie des logiciels open source, certains de ces été développé par les grandes organisations, telles que Sun, IBM et autres. There are others from smaller companies which you might not ever hear about. Il en est d'autres de petites entreprises que vous pourriez ne jamais entendu parler. There is a difference between what we call OSS and other software like the one from Microsoft, which is essentially proprietary software. Il ya une différence entre ce que nous appelons l'OSS et d'autres logiciels comme celui de Microsoft, qui est essentiellement le logiciel propriétaire. Open source software allows free distribution of its copies. Le logiciel libre permet la libre distribution de ses exemplaires. Not only that, you get to receive the original code that makes up the program. Non seulement cela, vous pouvez recevoir le code original qui fait le programme. On the other hand proprietary software can only be distributed under license, and the original codes are never made available to you. D'autre part le logiciel propriétaire ne peut être distribué sous licence, ainsi que l'original codes ne sont jamais mis à votre disposition.

The combination of OSS and offshore development, yield high quality, and cost effective software, which is more easily available. La combinaison des logiciels libres et développement offshore, le rendement de haute qualité, rentables et logiciel, qui est plus facilement 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. Comme il est c'est une bonne idée d'avoir l'OSS dans le cadre du projet de développement de logiciel que vous souhaitez externaliser. However that is a different topic all together, but covered in a previous article Mais c'est un sujet différent tous ensemble, mais qui sont visés dans un précédent article Open Source and Offshore Development Open Source et développement offshore .

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. En choisissant d'externaliser votre projet de développement de logiciel, ce n'est pas seulement le codage pur compétences qui devraient être étudiées dans la mesure où la société offshore est concerné. A decision to outsource your project involves many other aspects to be considered before that decision is taken. Une décision d'externaliser votre projet implique de nombreux autres aspects à prendre en considération avant que la décision ne soit prise. 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. Il est évident confiance que vous devriez avoir sur la société offshore, qui vous souhaitez partenaire, et cette confiance se développera au fil du temps. However establishing trust needs to have a beginning. Cependant l'établissement de la confiance doit avoir un début. First of all the offshore company should be having good references of their previous work. Tout d'abord, la société offshore doit avoir de bonnes références de leur précédent travail. There should be case studies that you can go through, which would reflect their professionalism in the work that they have done so far. Il faudrait des études de cas que vous pouvez parcourir, qui reflètent leur professionnalisme dans le travail qu'ils ont accompli jusqu'ici. At the same time the applicable skill set that the team has, needs to be evaluated. Dans le même temps les compétences que l'équipe a besoin d'être évalués. 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. Même après tous ces domaines, il pourrait y avoir des doutes ces lancinante mai que vous avez confiance dans la société offshore dans la manière dont vous le souhaitez, depuis l'entreprise concernée n'est pas une saisine de l'un de vos précédents contrats.

OSS source is the foundation of trust and confidence when you choose to outsource your software development. OSS source est le fondement de la confiance lorsque vous choisissez d'externaliser votre développement de logiciels. It provides you with the trust in the software being developed. Il vous donne la confiance dans le logiciel en cours d'élaboration. It provides insurance in the worst case the project has not been delivered in the way you wanted. Il prévoit d'assurance dans le pire des cas, le projet n'a pas été rendu dans la manière dont vous vouliez. 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. Vous avez encore le code et votre infrastructure basée sur l'open source l'architecture, qui peut être reprise ou modifiée par un autre logiciel partenaire de développement. 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 d'autres mots, vous avez toujours la possibilité de faire participer d'autres programmeurs à mettre à jour le logiciel beaucoup plus rapidement, car elle est fondée sur l'open source. 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 open source n'a pas été utilisé comme la base du logiciel en cours d'élaboration, il aurait été plus difficile de remplacer les programmeurs, en cas de pires scénarios.

There are different interpretations to the term open source. Il existe différentes interprétations du terme "open source". 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. Dans l'exemple précédent, open source signifierait le produit complet, qui comprend, des outils, des bibliothèques, etc livraison des pays développés logiciel signifie pas seulement la livraison du code source avec la solution. It has to include the open source product, tools, library, and others which need to have some established resources. Il doit inclure le produit open source, des outils, une bibliothèque, et d'autres qui ont besoin d'avoir des ressources établi. This reduces the time and effort of the new programmers in analyzing the software. Cela réduit le temps et les efforts des nouveaux programmeurs dans l'analyse des logiciels. 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. La nouvelle programmeurs faudrait beaucoup plus de temps à arriver sur la vitesse, si le développement de logiciels n'est pas fondée sur la communauté des logiciels open source.

When you choose to outsource your software development, chose developers who would use open source architecture in developing the software. Lorsque vous choisissez d'externaliser votre développement de logiciels, développeurs qui ont choisi d'utiliser l'architecture à source ouverte dans le développement du logiciel. In such outsourced projects, open source provides the confidence and trust in much shorter time. Dans ce sous-traitance de projets, open source offre la confiance et la confiance dans beaucoup moins de temps. In a decision to outsource, open source takes a positive approach to your risk management system. Dans une décision d'externaliser, open source prend une approche positive à votre système de gestion des risques. You can obtain the most competitive cost in choosing a vendor who would use community established open source architecture with appropriate license. Vous pouvez obtenir la plus compétitive coût dans le choix d'un fournisseur qui utilise la communauté open source établie avec l'architecture licence appropriée. This would provide you with the quality that you require. Cela vous fournir la qualité dont vous avez besoin.


Offshore Software Development Dynamics Offshore logiciel dynamique de développement

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. Imaginez l'article suivant est un logiciel de code. Bien sûr, il est en anglais, et peu compréhensible, mais ça va prendre un investissement pour le rendre informative, claire et utile.

This is a continuing post on the series of outsourcing article writing. Il s'agit d'un poste sur la série de sous-traitance l'article écrit. Outsource Article Content Part I Externaliser l'article I de contenu , Outsource Article Content Part II Externaliser l'article II de contenu .  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. . Il ya beaucoup de parallèles dans la sous-traitance de développement logiciel. Bien sûr, vous recevez Java, Ruby, PHP code de retour, mais de nombreuses fois, il exige un investissement important pour rendre le code compréhensible. Beaucoup de personnes et d'organisations ont connu ce manque d'attentes lors de la délocalisation de développement de logiciels . Il faut du temps et des efforts pour trouver de bons partenaires.
--

Developing software is an activity that requires intensive knowledge in the field of its expertise. Développement de logiciels est un activité qui exige intensité de connaissances dans le domaine de son expertise. 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. Les différences dans les cultures, de langues, la pratique du développement, la structure du pouvoir au sein de l'organisation, les normes de qualité, de documentation, de fuseaux horaires et des mises à jour logicielles et des estimations d'entraver la sous-traitance de développement logiciel à d'autres pays à plus d'un. 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. Comme il devient une pratique répandue chez les organisations, dans la sous-traitance de projets de logiciel, il devient de plus en plus important de comprendre l'environnement qui affecte ces pratiques efficaces pour une activité de développement. 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. Les principaux moteurs de développement de logiciels en sous-traitance, qui touche surtout l'efficacité du développement, ont évolué à travers les expériences passées des organisations, tandis que l'externalisation de leurs projets à des sociétés dans d'autres pays.

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 délocalisation du développement logiciel est relativement nouveau, et les divers aspects de procédure dans cette activité, comme le contrôle de la qualité, gestion de projet, plus vite le cycle de développement, etc n'ont pas encore été pleinement évolué, qui comprend de fournir un meilleur niveau de confiance. Constant research work is going on for the success of software development outsourcing. Constant travail de recherche est en cours pour le succès de l'externalisation de développement de logiciels. This is being done through understanding of the various models, while investigating into the factors of its success. Cela est fait par la compréhension des différents modèles, alors qu'ils enquêtaient sur les facteurs de son succès. 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. Ces modèles ont évolué à travers les interactions entre les sur place et les organisations sous-traitance, et c'est comme cela que la courbe d'apprentissage a été tirée à des années d'expérience. 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. Afin de rendre la sous-traitance un succès, l'approvisionnement en mer doit être pris comme un effort sérieux, avec les parties prenantes ont besoin d'apprendre plus rapidement à travers les expériences qu'ils ont eu, en mettant en évidence les meilleures pratiques qui pourraient être atteints. 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 délocalisation des divers projets socio-culturels inhérents au système de transfert de connaissances, y compris la explicite et implicite, formel et informel d'échanges de connaissances entre les sur place et les sociétés offshore.

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. Certaines des déclarations emphatiques qui ont été à ce jour à dérivés, de l'expérience et les précédents résultats de la sous-traitance de développement logiciel, de fournir une compréhension des variables qui influent sur le succès du développement de logiciels offshore. Some of these assertions include: Certaines de ces affirmations suivantes:

  • 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. Les éléments essentiels du développement de logiciels offshore succès sont les différentes dimension du projet lui-même, qui sont à l'heure d'achèvement, dans le budget-achèvement, les coûts et d'efforts, réunis au système, la qualité du système, la satisfaction des utilisateurs, l'utilisation du système, et système d'avantages nets .
  • The process performance is a measure of assessing the functioning of the offshore partner. Le processus de performance est une mesure d'évaluer le fonctionnement du partenaire offshore. 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. Ces performances pourraient être classées comme dans les temps et dans le budget de réalisation du projet par la société offshore, l'efficacité de la communication, etc Les performances du logiciel est également mis en place une mesure pour évaluer l'efficacité et la capacité de l'offshore entreprise.
  • Understanding of the project being outsourced is one of the vital aspects of any project success. Compréhension du projet de sous-traitance est un des aspects essentiels de toute la réussite du projet. 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 société offshore aurait besoin de disposer de gestion de la relation et l'engagement personnel, qui serait qualifié pour comprendre le processus d'externalisation, y-en aidant l'entreprise à terre pour naviguer dans la complexité.
  • A disciplined software project management is success by itself. Une discipline logiciel de gestion de projet est par elle-même succès.
  • 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. Le principal problème en ce qui concerne la communication entre l'organisation sur place et son entreprise partenaire en mer a été identifié comme étant l'aspect le plus important dans toute la sous-traitance de projets de développement de logiciels.

In outsourcing your software development, you would need to take care of the complex processes that it involves. Dans votre sous-traitance de développement logiciel, vous aurez besoin de prendre en charge les processus complexes que cela implique. These are further complicated by the ever changing business scenario, when requirements still remain fluid. Ceux-ci sont encore compliquée par l'évolution des affaires scénario, lorsque les besoins restent fluides. Offshoring a software development project is not simply handing over a set of documents to the partner company. Offshoring un projet de développement de logiciel n'est pas simplement la remise d'un ensemble de documents à l'entreprise partenaire. 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. Elle a besoin d'une attention session interactive entre sur le site et la société offshore, l'examen du projet threadbare, en fournissant les informations détaillées possible pour que le projet soit repris par l'entreprise partenaire. 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 société offshore, d'autre part, besoin de comprendre pleinement ce qui concerne la mise en œuvre du projet, en tenant compte de toutes les embûches qui se mai en cours d'exécution.

The time zone separation, the cultural differences, communication, etc are all pitfalls in any outsourcing of projects. Le fuseau horaire de séparation, les différences culturelles, de communication, etc sont autant de pièges dans toute la sous-traitance de projets. 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. En outre, les limites géographiques, et l'évolution des définitions et des relations dans l'effort de développement font tous partie du jeu de développement de logiciels offshore.


Challenges in Offshore Software Development Les défis dans le développement de logiciels 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 ce jour et l'âge, avec la mise en mondialisation, les organisations sont constamment à la recherche d'avantages découlant de la sous-traitance de développement logiciel à d'autres pays. 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. Il est qualifié de logiciels équipes distribués dans le monde entier, qui sont de plus en plus mis à la disposition des organisations comme des entreprises partenaires, la collaboration sur les délocalisations projets de développement de logiciels.

Organizations have been distributing their work all over the world, outsourcing their software development projects to different countries. Les organisations ont été la distribution de leur travail à travers le monde, l'externalisation de leurs projets de développement de logiciels de différents pays. The motivations of these organizations, as well as the process they follow in distributing projects, continues to evolve. Les motivations de ces organisations, ainsi que le processus qu'ils suivront dans la distribution de projets, continue d'évoluer. There have been significant management process changes adopted by companies in dealing with offshore companies and their software teams. Il a connu des processus de gestion des modifications adoptées par les entreprises pour traiter avec les sociétés offshore et de leurs équipes logiciel.

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 développement de logiciels offre plusieurs avantages, mais en même temps la distribution de projets distribués à l'équipe d'ingénieurs en logiciel offre plus de défis que le collectées équipe. 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 question est de savoir comment répondre à ces questions, et que ces évoluer, il serait enfin un ensemble de facteurs essentiels permettant d'assurer le succès du développement de logiciels offshore.

The trends in the market: Les tendances sur le marché:

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. Il est une suite de l'expansion mondiale des entreprises, et cette expansion s'est traduite par la distribution de leurs équipes dans le monde de plusieurs façons, que ce soit si la délocalisation, l'acquisition, en partenariat, ou la sous-traitance. As this practice becomes prevalent, there is a constant evolvement of approaches and practices, taking the offshoring to a matured level. Comme cette pratique devient courante, il est une constante évolution des approches et des pratiques, en prenant la délocalisation à un niveau de maturation.

The decision factor: Le facteur de décision:

Many organizations are moving their work to one single destination, and frequently in India. De nombreuses organisations agissent pour leur travail à une seule destination, et souvent en Inde. In the present days there are trends in transferring projects to China, and the Eastern European countries. Dans le présent jours, il s'agit d'une tendance à transférer des projets en Chine, et les pays d'Europe orientale. In transferring the work, the main motive was the En transférant le travail, la principale motivation était la cost factor facteur de coût , 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. , Lorsque la décision de s'éloigner vers le large a été influencée principalement par la disponibilité des compétences à un taux beaucoup moins cher que les États-Unis ou les pays d'Europe occidentale.

Organizations in the US and Western Europe are increasingly setting up their own development centres in several locations in the world. Organisations aux États-Unis et en Europe occidentale sont de plus en plus de mettre en place leurs propres centres de développement dans plusieurs endroits dans le monde. 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 décision de mettre en place des centre en Asie, et les pays d'Europe orientale sont le plus souvent motivés par l'existence du droit de compétences à faible taux, et il existe d'autres facteurs de motivation qui a poussé les organisations de s'éloigner vers le large.

Having centers all over the world, organizations now have a pool of talents from which they can draw from. Ayant centres dans le monde entier, les organisations ont maintenant un réservoir de talents dont ils peuvent en tirer. Having set up the teams in different time zones, the organizations can now have extended working hours. Ayant mis en place les équipes dans différents fuseaux horaires, les organisations peuvent maintenant avoir les heures de travail étendues. The team in the eastern zone hands over the job to the western team at the end of their day. L'équipe de la zone orientale mains sur le travail à l'équipe de l'Ouest à la fin de leur journée. 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. L'équipe dans la région occidentale commence à travailler sur le même projet, par la prorogation du délai largement, d'économie de coût et de temps de réalisation.

There is increasing number of outsourcing providers growing in the world, which has made outsourcing popular for quite some time. Il est de plus en plus de fournisseurs de sous-traitance de plus en plus dans le monde, qui a fait l'externalisation populaire pour un certain temps. Initially, the organizations used to select outsourcing vendors who made sense at that time. Au départ, les organismes utilisés pour sélectionner les fournisseurs sous-traitance qui fait sens à ce moment-là. 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 décision aurait également pu également avoir été fondée sur le projet lui-même, qui est peut-être trouvé apte à être sous-traitance, ou les organisations peuvent avoir fondé leur décision sur de tels projets qui ont été à court de financement.

The pitfalls: Les pièges:

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. Pour accomplir avec succès l'achèvement du projet, les sociétés offshore doivent être souples pour s'adapter aux nouvelles méthodologies, du cycle de vie, et les spécifications afin de répondre aux exigences du projet sous-traitance. In each case, the methodology applied for projects are usually different. Dans chaque cas, la méthode appliquée pour les projets sont généralement différents. 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. Il existe d'autres facteurs qui affectent mai au large des processus de développement logiciel, et ceux-ci pourraient être la existants de communication et la coordination des variables, les différences culturelles, l'exigence du lacunes, la gestion de la relation, démarche qualité, outils de gestion des projets pour l'évaluation des projets, et surtout le virage - plus de personnes qualifiées ci-joint au projet.