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.


Establishing and Managing Risk factors in Offshore Software Development Criar e gerir factores de risco na Offshore Desenvolvimento de Software

Outsourcing software development is usually done with the intention of lowering the cost of a project. Outsourcing desenvolvimento de software é feito habitualmente com a intenção de diminuir o custo de um projeto. 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. A decisão de terceirizar também é levado para redirecionar e conservar as competências competente de um determinado negócio, ou para utilizar a mais eficiente das competências da empresa terceirizada, a sua tecnologia, e dos seus recursos.

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. Na terceirização um projeto de software, tradicionalmente, a companhia mãos no local durante a gestão eo dia-a-dia das funções do projeto a ser desenvolvido para uma empresa estabelecida offshore. The onsite and the offshore companies enter into a contractual agreement. O local e as empresas offshore entrar em um acordo contratual. This agreement provides the terms and conditions agreed between the two companies related to the transfer of services. Este acordo estabelece os termos e condições acordados entre as duas empresas relacionadas com a transferência dos serviços. 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. Por este acordo, a empresa adquire offshore no local a partir da empresa a documentação do projeto a ser executado, juntamente com a transferência de pessoas, bens, e outros recursos. Such project outsourcing usually includes: Tal projeto terceirização normalmente inclui:

1. Information Technology. Tecnologia da Informação.
2. Human resources. Recursos humanos.
3. Facilities. Facilidades.
4. Real estate management. Gestão imobiliária.
5. Accounting. Contabilidade.

There are many onsite companies who outsource customer support, and call center activities, such as, telemarketing, customer services, market research, manufacturing and engineering. Há muitas empresas que terceirizam onsite suporte ao cliente, call center e de actividades, tais como, telemarketing, serviços prestados aos clientes, pesquisa de mercado, fabrico e engenharia.

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. A decisão de terceirização de um projecto é, normalmente, tomadas pelo elevado nível de gestão de uma organização, e em alguns casos, a decisão exige que para ser aprovado pelos membros do Conselho de Administração. 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. O contrato celebrado com o local e as empresas offshore traz uma espécie de alienação de uma determinada empresa funcionar, neste caso o desenvolvimento do software, realizados pela empresa para o local situado a um estrangeiro. Once the decision is taken in the matter of outsourcing, the search for an offshore partner would start. Assim que a decisão seja tomada na questão da terceirização, a busca por um parceiro offshore iria começar.

The most important criteria in setting milestones offshore software development is to take care of the risks involved. Os critérios mais importantes na definição das metas offshore desenvolvimento de software é a de cuidar dos riscos envolvidos. The management of risks should start at the very initial stage, and as such, there are several risk factors to be taken into account. A gestão dos riscos devem começar no estágio muito inicial, e, como tal, há vários factores de risco que devem ser tidos em conta. Risk management is as follows: A gestão dos riscos é a seguinte:

➢ Take early actions on identifying the risks. ➢ Tome precoce acções com vista à identificação de riscos.
➢ Determine the ways to mitigate those risks. ➢ Determine as formas de atenuar esses riscos.
➢ Decide on when to mitigate the risks. ➢ Decidir sobre quando a reduzir os riscos.
➢ Assign responsibilities to your staff to manage the various risks. ➢ atribuir responsabilidades para o seu quadro de pessoal para gerir os vários riscos.

Usually, the teams involved in software development are “can do” groups, and it is not advisable to talk to them about process failures. Normalmente, as equipas envolvidas no desenvolvimento de software são "podemos fazer" grupos, e não é aconselhável para conversar com elas sobre o processo falhas. There will be likely resistance from such groups, and you would need to overcome this attitude of resistance. Haverá provavelmente resistência por parte de tais grupos, e você teria necessidade de superar esta atitude de resistência. You would need to plan for contingencies and also identify potential risk areas. Você precisaria plano de contingências, e também identificar potenciais áreas de risco. In establishing such a procedure, the approach will yield the following: Ao estabelecer esse tipo de procedimento, a abordagem irá produzir o seguinte:

➢ You will have a prioritized listing of all the risk that you envisage. ➢ Você terá uma lista priorizada de todos os riscos que você encarar.
➢ You will have estimation of the probability of each of the risks occurring. ➢ Você terá estimativa da probabilidade de cada um dos riscos que ocorrem.
➢ You will be able to gauge the potential impact of the risks as regards the project or company. ➢ Você será capaz de medir o impacto potencial dos riscos no que diz respeito ao projecto ou empresa.
➢ Contingency plans. ➢ Os planos de contingência.
➢ Assigning responsibilities to individuals or groups for managing risks. ➢ Atribuição de responsabilidades para os indivíduos ou grupos de gestão dos riscos.

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: Para além do referido, os seguintes tornaria o seu risco de gestão mais eficiente, minimizando e resolver os fatores de risco identificados como por você no seu desenvolvimento de software offshore projeto:

➢ 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. ➢ desenvolvimento de software O ciclo de vida (SLDC) deve ser bem definida entre si eo seu parceiro offshore, lembrando que o SLDC não é apenas uma ferramenta de gerenciamento de projeto, mas também uma ferramenta de gestão de riscos também. 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. Que estabelece o desenvolvimento do ciclo de vida permite que ambos os lados para definir o tempo de conclusão do projecto, qualidade e identificar metas, resultados e principais marcos.

➢ 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. ➢ projecto Dois gerentes precisam ser identificados, cada um de ambos os lados, que terá a responsabilidade de manter o processo, tal como previsto no SLDC.

➢ For the critical areas in the project, you would need to set up the groundwork for “critical path management”, and front end load. ➢ Para as áreas críticas no projeto, você precisa criar as bases para a "gestão caminho crítico", e front end carga. This needs to be established as much as possible, for the critical path as identified in the project, becomes a crucial factor. Isso tem de ser estabelecido, tanto quanto possível, para o caminho crítico como identificadas no projecto, torna-se um factor crucial.

➢ As you define the milestones, you would need to define perceptive goals for each one of them. ➢ Como você definir as metas, você precisaria definir metas para perceptivas cada um deles. If this task is taken at the end, there could be drastic set back in the whole process of the development activity. Se essa tarefa for tomada no final, pode haver um retrocesso drásticas em todo o processo de desenvolvimento da atividade.

➢ You would need to plan for any deviations that can occur in the process of development. ➢ Você teria necessidade de qualquer plano de desvios que podem ocorrer no processo de desenvolvimento. This is an important task, which allows you and your offshore team to highlight deviations, track the deviation properties, and learn from it. Esta é uma tarefa importante, que permite que você e sua equipe offshore para destacar desvios, monitorar o desvio propriedades, e aprender com ela.

➢ It is important that IP protection is in place and is mentioned in the contract drawn up between you and your offshore partner. ➢ É importante que a proteção IP está em vigor e é mencionado no contrato elaborado entre você e seu parceiro offshore. When making a decision to outsource your software development, this is one important factor to be taken into that decision. Ao tomar uma decisão de terceirizar seu desenvolvimento de software, este é um factor importante a ter em tal decisão.

➢ 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. ➢ A execução da promulgação e execução das leis IP são diferentes em diferentes países, e até mesmo se você adotar E.U. leis conexas, a execução ainda se torna difícil.

➢ Effective business relation and partnering would be the best way to mitigate the IP enforcement and enactment law. ➢ Eficaz relação comercial e de parceria seria a melhor maneira de atenuar o período de inquérito à execução e à promulgação lei. This could be done by effective maintenance of disciplines and auditing features. Isso poderia ser feito pela manutenção efectiva de disciplinas e de auditoria características.


Using Open Source in Offshore Software Development Usando o software de fonte aberta em desenvolvimento offshore

The term open source software, OSS in short, may not be known to everyone. O termo software de fonte aberta, OSS, em suma, não pode ser conhecida de todos. In your IT career, you must have heard of the Linux operating system. Em sua carreira TI, você deve ter ouvido falar do sistema operacional Linux. This is the operating system that has made a huge impact in the data center. Este é o sistema operacional que tem feito um enorme impacto no centro de dados. 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. Embora o Linux já fez o seu nome como OSS, há vários outros que se enquadrem na categoria de software de fonte aberta, alguns destes foram desenvolvidos por grandes organizações, tais como Sun, IBM e outras. There are others from smaller companies which you might not ever hear about. Há outros de pequenas empresas que não será possível nunca ouvir falar. There is a difference between what we call OSS and other software like the one from Microsoft, which is essentially proprietary software. Existe uma diferença entre o que chamamos OSS e outros softwares da Microsoft, como a um, que é essencialmente um software proprietário. Open source software allows free distribution of its copies. Open source software permite a distribuição gratuita de seus exemplares. Not only that, you get to receive the original code that makes up the program. Não só isso, você começa a receber o código original que compõe o programa. On the other hand proprietary software can only be distributed under license, and the original codes are never made available to you. Por outro lado software proprietário só pode ser distribuído sob licença, e os códigos originais nunca são disponibilizados para você.

The combination of OSS and offshore development, yield high quality, and cost effective software, which is more easily available. A combinação de OSS offshore e desenvolvimento, a produção de alta qualidade, eficácia e custo de software, que é mais facilmente disponíveis. As it is it is a good idea in having OSS as a part of the software development project that you want to outsource. Como é que é uma boa idéia em ter OSS como parte de um projeto de desenvolvimento de software que pretende terceirizar. However that is a different topic all together, but covered in a previous article No entanto esse é um tema diferente todos juntos, mas cobertas num artigo anterior Open Source and Offshore Development Open Source e desenvolvimento 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. Na escolha de externalização de seu projeto desenvolvimento de software, não é só a codificação pura habilidade que deve ser considerado no que diz respeito à empresa offshore está em causa. A decision to outsource your project involves many other aspects to be considered before that decision is taken. A decisão de terceirizar seu projeto envolve muitos outros aspectos a serem considerados antes dessa decisão ser tomada. 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. Há evidente confiança que você deve ter sobre a empresa offshore, que desejam fazer parceria com você, e essa confiança iria desenvolver ao longo do tempo. However establishing trust needs to have a beginning. No entanto, que estabelece confiança necessita de ter um começo. First of all the offshore company should be having good references of their previous work. Em primeiro lugar a empresa offshore deve ser ter boas referências de seu trabalho anterior. There should be case studies that you can go through, which would reflect their professionalism in the work that they have done so far. Não deveria haver casos de estudo que você possa passar, o que reflecte o seu profissionalismo no trabalho que realizaram até agora. At the same time the applicable skill set that the team has, needs to be evaluated. Ao mesmo tempo definir as regras aplicáveis à habilidade que a equipe tem, precisa de ser avaliadas. 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. Mesmo depois de todos estes, poderia haver dúvidas nagging aqueles que você pode ter confiança no offshore da empresa na forma como você gostaria de, uma vez que a empresa em causa não é uma remessa de um de seus contratos anteriores.

OSS source is the foundation of trust and confidence when you choose to outsource your software development. OSS fonte é o alicerce da credibilidade e da confiança quando você optar por terceirizar o seu desenvolvimento de software. It provides you with the trust in the software being developed. Ela fornece-lhe a confiança no software a ser desenvolvido. It provides insurance in the worst case the project has not been delivered in the way you wanted. Ele oferece seguros no pior caso o projecto não tenha sido entregue na forma como você queria. 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. Você ainda tem o seu código e de infra-estrutura baseada na arquitetura de código aberto que pode ser retomado ou modificadas por um parceiro diferente desenvolvimento de software. 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. Em outras palavras, você ainda tem a oportunidade de envolver outros programadores para atualizar o software muito mais rápido, uma vez que é baseado no código-fonte aberto. 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. Se o código aberto não foi usado como a base do software a ser desenvolvido, teria sido mais difícil de substituir os programadores, em caso de pior caso cenários.

There are different interpretations to the term open source. Existem diferentes interpretações para o conceito de fonte aberta. 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. No exemplo anterior, de código-fonte aberto significaria o produto completo, que inclui, ferramentas, bibliotecas, etc Entrega do software desenvolvido, não significa apenas a entrega do código fonte com a solução. It has to include the open source product, tools, library, and others which need to have some established resources. Ele tem de incluir o produto de código aberto, ferramentas, biblioteca, e outras que precisam de ter criado alguns recursos. This reduces the time and effort of the new programmers in analyzing the software. Isto reduz o tempo eo esforço dos programadores em analisar o novo software. 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. Os novos programadores levariam muito mais tempo para chegar em que a velocidade, se o software não se baseia em desenvolvimento baseada na comunidade de software de fonte aberta.

When you choose to outsource your software development, chose developers who would use open source architecture in developing the software. Quando você escolhe a terceirizar o seu desenvolvimento de software, optou por desenvolvedores de código aberto que possam utilizar no desenvolvimento da arquitetura de software. In such outsourced projects, open source provides the confidence and trust in much shorter time. Em tais projetos terceirizados, de fonte aberta fornece a confiança ea confiança no tempo muito mais curto. In a decision to outsource, open source takes a positive approach to your risk management system. Em uma decisão de terceirizar, fonte aberta tem uma abordagem positiva relativamente ao seu sistema de gestão de risco. You can obtain the most competitive cost in choosing a vendor who would use community established open source architecture with appropriate license. Você pode obter o custo mais competitivo na escolha de um vendedor que iria usar comunidade de fonte aberta arquitetura estabelecida com a devida licença. This would provide you with the quality that you require. Isto fornecê-lo com a qualidade que você precisa.


Offshore Software Development Dynamics Offshore Desenvolvimento de Software dinâmica

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. Imagine o seguinte artigo é software código. Sure, it's Inglês e é algo compreensível, mas vai demorar um investimento para torná-la informativa, clara e útil.

This is a continuing post on the series of outsourcing article writing. Esta é uma continuação post sobre a série de terceirização artigo escrito. Outsource Article Content Part I Artigo conteúdo terceirizar parte I , De Outsource Article Content Part II Artigo conteúdo terceirizar parte II .  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. . Existem muitos paralelos em outsourcing desenvolvimento de software. Claro, você receberá Java, Ruby, PHP código de volta, mas muitas vezes é necessário um investimento significativo no sentido de tornar o código compreensível. Muitas pessoas e organizações têm experimentado esta faltando expectativas quando offshoring de desenvolvimento de software . É necessário tempo e esforço para encontrar bons parceiros.
--

Developing software is an activity that requires intensive knowledge in the field of its expertise. O desenvolvimento de software é uma actividade que exige conhecimento intensivo no domínio das suas competências. 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. As diferenças de culturas, línguas, desenvolvimento prática, o poder estrutura dentro de organização, padrões de qualidade, documentação, de fusos horários, e atualizações de software e outsourcing dificultar estimativas de desenvolvimento de software para outros países em vias mais do que uma. 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. Como ela se torna uma prática generalizada para as organizações, a terceirização dos projetos de software, torna-se cada vez mais importante para compreender o ambiente que afecta estas práticas para um desenvolvimento efectivo atividade. 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. Os principais motores do desenvolvimento de software outsourcing, que afecta principalmente a eficácia do desenvolvimento, têm evoluído através das experiências passadas de organizações, enquanto a terceirização dos seus projectos para empresas em outros países.

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. Offshoring de desenvolvimento de software é relativamente nova, e os diversos aspectos processuais no âmbito desta actividade, tais como, controle de qualidade, gestão de projectos, mais rápido ciclo de desenvolvimento, etc, terá ainda de ser plenamente evoluído, que compreensivelmente iria proporcionar um melhor nível confiança. Constant research work is going on for the success of software development outsourcing. Constante trabalho de investigação está em curso para o sucesso do desenvolvimento de software outsourcing. This is being done through understanding of the various models, while investigating into the factors of its success. Isto está a ser feito através da compreensão dos vários modelos, ao mesmo tempo em investigar os fatores de seu sucesso. 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. Esses modelos foram evoluindo através das interacções entre o local e as organizações terceirizada, e essa é a forma como a curva de aprendizado tem sido derivados fora de anos de experiência. 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. A fim de tornar o outsourcing um sucesso, o abastecimento offshore deve ser retomada como um esforço sério, com as partes interessadas que tenham necessidade de aprender mais rapidamente através das experiências que eles tiveram, trazendo as melhores práticas que poderiam ser atingidos. 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. Offshoring projetos envolvem vários processos sócio-culturais inerentes ao sistema da transferência de conhecimentos, incluindo o explícitos e implícitos, formais e informais de intercâmbio de conhecimentos entre o local e as empresas 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. Algumas das enfática declarações que têm sido até agora em derivados, a partir da experiência e resultados anteriores a terceirização de desenvolvimento de software, fornecer uma compreensão das variáveis que afectam o sucesso do desenvolvimento de software offshore. Some of these assertions include: Algumas destas afirmações incluem:

  • 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. Os componentes essenciais de desenvolvimento de software offshore sucesso são as várias dimensões do próprio projeto, que são a conclusão a tempo, dentro do orçamento conclusão, os custos e esforços, reunidos os requisitos de sistema, sistema de qualidade, de satisfação dos utilizadores, sistema de uso, e sistema de benefícios líquidos .
  • The process performance is a measure of assessing the functioning of the offshore partner. O processo é uma medida de desempenho avaliar o funcionamento do offshore parceiro. 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. Estes desempenhos poderiam ser classificadas como em-tempo-e dentro do orçamento-conclusão do projecto por parte da empresa offshore, a eficácia da comunicação, etc O desempenho do produto de software também é uma medida implementada na avaliação da eficiência e da capacidade do offshore companhia.
  • Understanding of the project being outsourced is one of the vital aspects of any project success. Compreensão de o projecto ser terceirizados é um dos aspectos vitais sucesso de qualquer projecto. 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. A empresa offshore seria necessário para assegurar uma adequada gestão da relação e envolvimento pessoal, que seria qualificado para entender o processo de terceirização, verificou-onshore, ajudando a empresa a navegar através da complexidade.
  • A disciplined software project management is success by itself. Um software de gestão de projectos é disciplinada por si próprio sucesso.
  • 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. A questão principal em relação a comunicação entre a organização no local e seu parceiro empresa offshore foi identificado como o aspecto mais importante, em qualquer outsourcing de desenvolvimento de software projetos.

In outsourcing your software development, you would need to take care of the complex processes that it involves. Na sua terceirização desenvolvimento de software, você precisa tomar cuidado dos processos complexos que ela implica. These are further complicated by the ever changing business scenario, when requirements still remain fluid. Estes são ainda mais complicada pelo cenário empresarial sempre em mudança, quando ainda permanecem requisitos fluido. Offshoring a software development project is not simply handing over a set of documents to the partner company. Offshoring projeto de desenvolvimento de software não é simplesmente entregando um conjunto de documentos para a empresa parceira. 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. Ela precisa de uma cuidadosa sessão interativa entre o local e offshore empresa, a discutir o projeto threadbare, proporcionar a necessária informação pormenorizada possível para o projeto a ser levada a cabo pela empresa parceira. 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. A empresa offshore, por outro lado teria de se compreender plenamente em matéria de execução do projecto, tendo em conta todos os possíveis perigos que possam surgir durante a execução.

The time zone separation, the cultural differences, communication, etc are all pitfalls in any outsourcing of projects. O fuso horário separação, as diferenças culturais, comunicação, etc são todas as armadilhas, em qualquer terceirização de projetos. 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. Além disso, as fronteiras geográficas, e os relacionamentos e alterando definições do desenvolvimento em todos os esforços são parte do jogo offshore de desenvolvimento de software.


Challenges in Offshore Software Development Desafios no desenvolvimento de software offshore

In this day and age, with globalization setting in, organizations are constantly looking for benefits derived from outsourcing software development to other countries. Nos dias de hoje, com a fixação de globalização, as organizações estão constantemente à procura de benefícios derivados da terceirização desenvolvimento de software para outros países. 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. Há equipas qualificadas software distribuído em todo o mundo, que estão a ser cada vez mais postos à disposição de organizações parceiras como as empresas, colaborando em projetos de desenvolvimento de software offshore.

Organizations have been distributing their work all over the world, outsourcing their software development projects to different countries. As organizações foram distribuindo os seus trabalhos em todo o mundo, terceirização seus projectos de desenvolvimento de software para diferentes países. The motivations of these organizations, as well as the process they follow in distributing projects, continues to evolve. As motivações dessas organizações, bem como o processo eles seguem em distribuir projectos, continua a evoluir. There have been significant management process changes adopted by companies in dealing with offshore companies and their software teams. Tem havido mudanças significativas processo de gestão adoptadas pelas empresas em lidar com empresas offshore e suas equipes de software.

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 desenvolvimento de software oferece diversos benefícios, mas, ao mesmo tempo a distribuição dos projetos distribuídos equipe de engenheiros de software oferece mais desafios do que os cobrados equipe. 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. A questão é como lidar com essas questões, e de como estes evoluem, deverá haver finalmente um conjunto de factores críticos que iria garantir o sucesso do desenvolvimento de software offshore.

The trends in the market: As tendências no mercado:

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. Há uma continuada expansão global das empresas, e isso resultou em expansão da distribuição de suas equipes de todo o mundo de diversas formas, quer seja ela offshoring, adquirindo, parceria, ou terceirização. As this practice becomes prevalent, there is a constant evolvement of approaches and practices, taking the offshoring to a matured level. Uma vez que esta prática se torna prevalente, existe uma constante evolução das abordagens e práticas, tendo a deslocalização para um nível venceu.

The decision factor: A decisão factor:

Many organizations are moving their work to one single destination, and frequently in India. Muitas organizações estão se movendo seu trabalho a um único destino, e freqüentemente na Índia. In the present days there are trends in transferring projects to China, and the Eastern European countries. Nos dias atuais, existem tendências em matéria de transferência de projectos para a China, e os países da Europa Oriental. In transferring the work, the main motive was the Ao transferir o trabalho, o principal motivo foi o cost factor factor custo , 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. , Onde a decisão de passar ao largo foi influenciada principalmente pela disponibilidade da habilidade em uma taxa muito mais barato do que os E.U. ou países da Europa Ocidental.

Organizations in the US and Western Europe are increasingly setting up their own development centres in several locations in the world. As organizações e os E.U. na Europa Ocidental estão cada vez mais a criação de centros seu próprio desenvolvimento, em vários locais do mundo. 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. A decisão de criação de tal centro da Ásia, e de países da Europa Oriental são motivadas principalmente pela disponibilidade do direito habilidade a preços baixos, e há outros fatores motivação que levou as organizações a passar ao largo.

Having centers all over the world, organizations now have a pool of talents from which they can draw from. Tendo centros em todo o mundo, as organizações têm agora um pool de talentos a partir da qual eles podem retirar. Having set up the teams in different time zones, the organizations can now have extended working hours. Após ter criado as equipas em diferentes fusos horários, as organizações podem agora ter alargado o horário de trabalho. The team in the eastern zone hands over the job to the western team at the end of their day. A equipa da zona oriental mãos ao longo do trabalho a equipe do Oeste, no final dos seus dias. 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. A equipa na região Oeste começa a trabalhar no mesmo projecto, verificou-através do alargamento do tempo extensivamente, poupança de custos e de tempo de conclusão.

There is increasing number of outsourcing providers growing in the world, which has made outsourcing popular for quite some time. Há um crescente número de prestadores terceirização crescente em todo o mundo, que fez terceirização popular por algum tempo. Initially, the organizations used to select outsourcing vendors who made sense at that time. Inicialmente, as organizações usado para selecionar terceirização vendedores que fez sentido na altura. 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. A decisão também poderia ter também ter sido baseada no próprio projecto, que talvez tenha sido considerados adequados para a terceirização, ou as organizações que poderiam ter baseado a sua decisão sobre esses projectos, que foram curtas de financiamento.

The pitfalls: As armadilhas:

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. A fim de realizar projectos conclusão com êxito, as empresas offshore necessidade de ser flexível na adaptação a novas metodologias, ciclos de vida, e especificações, a fim de satisfazer os requisitos terceirizados projeto. In each case, the methodology applied for projects are usually different. Em cada caso, a metodologia aplicada para os projectos são normalmente diferentes. 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. Há outros fatores que podem afetar os processos de desenvolvimento de software offshore, e estes poderão ser os já existentes comunicação e coordenação variáveis, as diferenças culturais, requisito deficiências, as relações de gestão, qualidade processo, gerenciamento de projeto de ferramentas para avaliação do projecto, e que é mais importante do turno a cargo de pessoas qualificadas associadas ao projecto.