Three Ideas to Consider When Implementing Agile with Distributed Development Teams Tre idee a prendere in considerazione in sede di attuazione agile con team di sviluppo distribuiti

-->

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. Il quadro di ingegneria del software è stato ridefinito da Agile introduzione di concetti di sviluppo software. Agile ha chiesto una maggiore miglioramento del ciclo di vita di un progetto software. In caso di applicazione Agile con una o off-shore team di sviluppo distribuito, ci sono opportunità di affrontare tre aspetti della il progetto. Ti coprire queste tre voci e un po 'di fornire a sfondo 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. Ci sono diverse tattiche di sviluppo introdotto da Agile. La maggior parte delle tattiche di concentrarsi tentativo di ridurre al minimo e / o esporre a rischio in via di sviluppo software nel breve lasso di 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. Iterazione è lo sviluppo di software in una unità di tempo, e questo può durare da una a quattro settimane. Esso comprende la pianificazione, i requisiti, analisi, progettazione, gestione di codice e di 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. Il software sviluppato nel corso di iterazione non deve essere funzionale abbastanza per essere rilasciato come un prodotto sul mercato, ma l'obiettivo è di avere un software, senza bug, alla fine di ogni iterazione. The team re-evaluates the project priorities at the end of each iteration. Il team di ri-valuta il progetto priorità alla fine di ogni iterazione.

Traditional outsource challenges are amplified and new challenges are created when software development is taken offshore. Esternalizzare le sfide tradizionali sono amplificati e le nuove sfide vengono creati quando lo sviluppo di software è off-shore. These new challenges are mainly in cultural differences, combined with the communication difficulty due to the difference in time and language comprehension. Queste nuove sfide sono principalmente nel differenze culturali, combinata con la difficoltà di comunicazione dovute alla differenza in termini di tempo e di comprensione linguistica. 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. Più importante, le principali sfide rimangono nella comunicazione, il trasferimento di comprensione della logica di business, la domanda in cooperazione in progetti mal definiti, imprecisi e sconosciuto requisiti e la mancanza di coinvolgimento dei clienti, le differenze tra cliente e fornitore, distanza geografica, e molti altri. To be successful with offshore software development, these hurdles need to be overcome by both the onshore and offshore teams. Per avere successo con il mare aperto lo sviluppo del software, tali ostacoli devono essere superati da entrambe le onshore e offshore squadre.

In plan-driven and Agile as well, face to face communication is stressed to improve communication and understanding of the project. In piano-driven e agile e, faccia a faccia è sottolineato comunicazione per migliorare la comunicazione e la comprensione del progetto. 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. Questo tipo di faccia a faccia tempo si svolge nel corso di ogni iterazione, se del piano-progetto è orientato in questione e questo si è svolta essenzialmente all'inizio del progetto. Quando faccia a faccia tempo non è possibile con il fornitore di off-shore, è opportuno avere ogni sviluppatore risposta 3 quotidiana domande: che cosa avete fatto ieri? ciò che si pensa di fare oggi? di descrivere le eventuali blocchi o ostacoli il completamento del iterazione storie? Ogni sviluppatore deve rispondere a queste domande e non semplicemente il project manager off-shore. Forse il progetto off-shore manager può aiutare a tradurre le risposte a queste domande.

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. In caso di Agile, faccia a faccia le riunioni si svolgono tutti i tempi, in genere sotto forma di quotidiano Scrums, coppia di programmazione, di iterazione e retrospettive iterazione di pianificazione. Nel team di sviluppo distribuiti, numero di volte che il onshore gestori di viaggio off-shore di tenere incontri con le off-shore team, o in altre circostanze, di manager di viaggio off-shore a terra per le riunioni. One important influence depends on the offshore person visiting the onshore team to absorb the project details and develop/foster relationships. Una importante influenza dipende dalla persona offshore onshore che visita la squadra di assorbire i dettagli del progetto e sviluppare / promuovere relazioni. 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. Egli tiene presente il know-how in loco dal team in un modo che egli è saperla sufficiente per rispondere a molte domande sollevate dal suo off-shore team. In addition, he should be also capable of relating to his team members about the decisions that were taken in his meetings with the onsite team.  Depending upon the complexity of the project, a member of the onsite team, with good knowledge in business logic is often sent to work offshore. Inoltre, essi devono anche essere in grado di relative alla sua squadra membri circa le decisioni che sono state prese nella sua incontri con il team in loco. A seconda della complessità del progetto, un membro del team on site, con buone conoscenze in logica di business è spesso mandata a lavorare off-shore.

In implementing Agile projects, a series of processes are utilized. Agile nella realizzazione dei progetti, una serie di processi, sono utilizzate. The development process is not just a single approach. Il processo di sviluppo non è solo un unico approccio. In implementing software offshore development, there are some principles that are followed, which have been termed as Agile Manifesto. Nella realizzazione di software di sviluppo offshore, vi sono alcuni principi che sono seguiti, che sono stato chiamato come Agile Manifesto. These are as follows - Questi sono i seguenti --

➢    Customer satisfaction is achieved by rapid and continuous delivery of useful software. ➢ La soddisfazione del cliente è ottenuta mediante rapido e continuo di consegna di software utile.
➢    Quick delivery of working software within weeks rather than months. ➢ Rapidità di consegna del lavoro all'interno del software settimane piuttosto che mesi.
➢    The principle measure of development progress is derived from the working software. ➢ Il principio di misura i progressi di sviluppo è derivato dalla lavorazione del software.
➢    Any changes in the software may be incorporated later. ➢ Le modifiche del software possono essere incorporati in seguito.
➢    Necessity in having face to face communication for better understanding. ➢ necessità di avere faccia a faccia di comunicazione per una migliore comprensione.
➢    Maintain close relationships between the business people and the developers. ➢ mantenere stretti i rapporti tra i gli uomini d'affari e gli sviluppatori.
➢    Motivation and trust on the individuals make the project implementation successful. ➢ La motivazione e la fiducia da persone fisiche rendere l'attuazione del progetto di successo.
➢    Apply continuous attention to the project design, and try to attain technical excellence. ➢ Applica continuo l'attenzione sulla progettazione del progetto, e cercare di raggiungere l'eccellenza tecnica.
➢    Adapt fast to changing circumstances. ➢ Adapt veloce al mutare delle circostanze.

It was found that the iterative framework brought benefits to Agile software development vendors. Si è riscontrato che il quadro iterativo portato benefici per lo sviluppo di software Agile fornitori. By this approach, the customers could make payments after each iteration. Con questo approccio, i clienti possono effettuare i versamenti dopo ogni iterazione. 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. Pagando questo modo, il cliente non perdere o di essere in un rischio di pagare l'intero per la partita dopo il completamento del progetto. This brought in commitment from the customer to provide the vendor with better business and motivates the vendor to consider each iteration important. Ha portato in questo impegno da parte del cliente di fornire il migliore venditore con le imprese e motiva il venditore di prendere in considerazione ogni iterazione 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. Il metodo di continuo feedback e aiutano a mettere in comunicazione il processo di sviluppo offshore, ma l'approccio di breve iterazioni ha dimostrato di essere particolarmente efficaci.
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 altro aspetto di sviluppo Agile è l'importanza della sperimentazione in ogni iterazione. Ogni iterazione dovrebbe produrre automatizzata delle prove che possono essere utilizzati nel corso di ogni iterazione e future iterazioni pure. I vantaggi di test automatizzati è meglio disciplinato in diversi articoli. Tuttavia, nel contesto di questo articolo, è importante per il tuo offshore venditori automatici di fornire prove a ogni iterazione. Se si prendono in considerazione nuovi fornitori, chiedere informazioni sui loro strategie di sperimentazione. E 'meglio andare con un venditore che crede in automatico il controllo, piuttosto che cercare di convincere un venditore i vantaggi di test automatizzati.
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. Sì, in somma, in sede di attuazione Agile nel team di sviluppo distribuito, ci sono opportunità di affrontare tre aspetti del progetto: comunicazione, pagamento / prodotti e di test automatizzati.


Establishing and Managing Risk factors in Offshore Software Development Istituisce e Amministratore fattori di rischio nel Offshore Software Development

Outsourcing software development is usually done with the intention of lowering the cost of a project. Outsourcing lo sviluppo di software, di solito con l'intenzione di ridurre i costi di un progetto. 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 decisione di esternalizzare è inoltre tenuto a riorientare e la conservazione delle competenti competenze di una particolare attività, o di utilizzare il più efficiente la capacità di outsourcing società, la sua tecnologia, e le sue risorse.

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. In outsourcing un progetto software, tradizionalmente, la società onsite mani sulla gestione e il giorno per giorno le funzioni del progetto che devono essere elaborati per una società con sede off-shore. The onsite and the offshore companies enter into a contractual agreement. Il loco e la società off-shore entrare in un accordo contrattuale. This agreement provides the terms and conditions agreed between the two companies related to the transfer of services. Tale accordo prevede i termini e le condizioni concordate tra le due società legate al trasferimento di servizi. 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. Con questo accordo, le società off-shore acquisisce dalla società in loco la documentazione del progetto da eseguire, insieme con il trasferimento di persone, beni, e di altre risorse. Such project outsourcing usually includes: Tale progetto di outsourcing di solito comprende:

1. Information Technology. Information Technology.
2. Human resources. Risorse umane.
3. Facilities.
4. Real estate management. Real Estate Management.
5. Accounting. Contabili.

There are many onsite companies who outsource customer support, and call center activities, such as, telemarketing, customer services, market research, manufacturing and engineering. Ci sono molte aziende che on-site di assistenza clienti in outsourcing, call center e attività, come ad esempio, di telemarketing, servizio clienti, ricerche di mercato, fabbricazione e ingegneria.

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 decisione di un progetto di outsourcing è di solito presa per l'elevato livello di gestione di un'organizzazione, e in alcuni casi, la decisione deve essere approvata dai membri del consiglio di amministrazione. 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. Il contratto stipulato dalla onsite e le società off-shore realizza una sorta di cessione di una particolare funzione di business, in questo caso lo sviluppo di software, di fatto la società in loco a quella situata all'estero. Once the decision is taken in the matter of outsourcing, the search for an offshore partner would start. Una volta che la decisione sia presa in materia di esternalizzazione, la ricerca di un partner di off-shore inizio.

The most important criteria in setting milestones offshore software development is to take care of the risks involved. I criteri più importanti pietre miliari nella creazione off-shore lo sviluppo di software è quello di prendersi cura dei rischi in questione. 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 gestione dei rischi dovrebbe iniziare entro la fase molto iniziale, e in quanto tale, vi sono diversi fattori di rischio da prendere in considerazione. Risk management is as follows: Gestione del rischio è la seguente:

➢ Take early actions on identifying the risks. ➢ adottare rapidamente le azioni a identificare i rischi.
➢ Determine the ways to mitigate those risks. ➢ Determinare i modi per limitare tali rischi.
➢ Decide on when to mitigate the risks. ➢ Decidere quando per attenuare i rischi.
➢ Assign responsibilities to your staff to manage the various risks. ➢ Assegnare le responsabilità per il vostro personale per gestire i vari rischi.

Usually, the teams involved in software development are “can do” groups, and it is not advisable to talk to them about process failures. Di solito, le squadre coinvolte nello sviluppo del software sono "può fare" gruppi, e non è opportuno parlare con loro circa il processo di fallimenti. There will be likely resistance from such groups, and you would need to overcome this attitude of resistance. Non ci sarà probabilmente la resistenza di tali gruppi, e si avrebbe bisogno per superare questo atteggiamento di resistenza. You would need to plan for contingencies and also identify potential risk areas. Si avrebbe bisogno di piano per gli imprevisti e anche individuare le potenziali aree a rischio. In establishing such a procedure, the approach will yield the following: Nella definizione di tale procedura, l'approccio sarà resa seguente:

➢ You will have a prioritized listing of all the risk that you envisage. ➢ si riceveranno priorità lista di tutti i rischi che si prevedono.
➢ You will have estimation of the probability of each of the risks occurring. ➢ Avrete la stima della probabilità di ciascuno dei rischi che possono sorgere.
➢ You will be able to gauge the potential impact of the risks as regards the project or company. ➢ Sarai in grado di misurare l'impatto potenziale dei rischi per quanto riguarda il progetto o la società.
➢ Contingency plans. ➢ I piani di emergenza.
➢ Assigning responsibilities to individuals or groups for managing risks. ➢ Assegnazione di responsabilità di singoli individui o di gruppi per la gestione dei rischi.

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: A seguito di quanto sopra, le seguenti renderebbe il rischio di gestione più efficiente, riducendo al minimo e risolvere i fattori di rischio identificati come di voi nel vostro offshore progetto di sviluppo software:

➢ 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. ➢ Il software di sviluppo del ciclo di vita (SLDC) dovrebbe essere ben definito tra voi e il vostro partner off-shore, ricordando che SLDC non è solo un progetto di strumento di gestione, ma anche uno strumento di gestione del rischio come bene. 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. Che istituisce lo sviluppo del ciclo di vita consente entrambi i lati per impostare il tempo di completamento del progetto, e di individuare obiettivi di qualità, da fornire e le principali pietre miliari.

➢ 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. ➢ Due responsabili di progetto devono essere identificati, ciascuno da entrambi i lati, che avrà il compito di mantenere il processo di cui al SLDC.

➢ For the critical areas in the project, you would need to set up the groundwork for “critical path management”, and front end load. ➢ Per i settori critici nel progetto, si avrebbe bisogno di creare le basi per "percorso critico di gestione", e front-end carico. This needs to be established as much as possible, for the critical path as identified in the project, becomes a crucial factor. Questo deve essere stabilito nella misura del possibile, per il percorso critico, secondo quanto indicato nel progetto, diventa un fattore cruciale.

➢ As you define the milestones, you would need to define perceptive goals for each one of them. ➢ Come si definiscono le pietre miliari, è necessario definire obiettivi percettivo per ciascuno di essi. If this task is taken at the end, there could be drastic set back in the whole process of the development activity. Se questo compito è presa alla fine, ci potrebbe essere una drastica battuta d'arresto nel processo di tutta l'attività di sviluppo.

➢ You would need to plan for any deviations that can occur in the process of development. ➢ È necessario pianificare le eventuali divergenze che possono verificarsi nel processo di sviluppo. This is an important task, which allows you and your offshore team to highlight deviations, track the deviation properties, and learn from it. Questo è un compito importante, che permette che off-shore e la vostra squadra per evidenziare deviazioni, traccia la deviazione proprietà, e imparare da esso.

➢ It is important that IP protection is in place and is mentioned in the contract drawn up between you and your offshore partner. ➢ E 'importante che la protezione IP è a posto, ed è citata nel contratto stabilito tra voi e il vostro partner off-shore. When making a decision to outsource your software development, this is one important factor to be taken into that decision. Quando si effettua una decisione di esternalizzare il tuo lo sviluppo del software, questo è un fattore importante da prendere in tale decisione.

➢ 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. ➢ L'attuazione della messa in vigore e di esecuzione delle disposizioni legislative IP sono diversi in paesi diversi, e anche se si adottano US leggi collegate, l'esecuzione diventa ancora difficile.

➢ Effective business relation and partnering would be the best way to mitigate the IP enforcement and enactment law. ➢ efficace rapporto commerciale e di partenariato sarebbe il modo migliore per ridurre il periodo di esecuzione e attuazione del diritto. This could be done by effective maintenance of disciplines and auditing features. Ciò potrebbe essere fatto di manutenzione efficace delle discipline e funzioni di revisione contabile.


Using Open Source in Offshore Software Development Utilizzando Open Source in offshore lo sviluppo di software

The term open source software, OSS in short, may not be known to everyone. Il termine software open source, OSS in breve, non possono essere noti a tutti. In your IT career, you must have heard of the Linux operating system. E nella tua carriera, devi avere sentito parlare di sistema operativo Linux. This is the operating system that has made a huge impact in the data center. Questo è il sistema operativo che ha compiuto un enorme impatto nel centro dati. 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. Anche se Linux ha fatto il suo nome come OSS, ci sono molti altri che rientrano nella categoria di software open source, alcuni di questi stati sviluppati da organizzazioni di grandi dimensioni, come ad esempio Sun, IBM, e altri. There are others from smaller companies which you might not ever hear about. Ce ne sono altri da aziende più piccole che non si potrebbe mai sentito parlare. There is a difference between what we call OSS and other software like the one from Microsoft, which is essentially proprietary software. C'è una differenza tra ciò che noi chiamiamo OSS e gli altri software, come quello da Microsoft, che è essenzialmente software proprietario. Open source software allows free distribution of its copies. Open source software permette la distribuzione gratuita delle sue copie. Not only that, you get to receive the original code that makes up the program. Non solo, si inizia a ricevere il codice originale che costituisce il programma. On the other hand proprietary software can only be distributed under license, and the original codes are never made available to you. D'altra parte il software proprietario può solo essere distribuito sotto licenza, l'originale e codici non sono mai messe a vostra disposizione.

The combination of OSS and offshore development, yield high quality, and cost effective software, which is more easily available. La combinazione di OSS e lo sviluppo offshore, resa alta qualità, e il costo effettivo del software, che è più facilmente disponibile. As it is it is a good idea in having OSS as a part of the software development project that you want to outsource. Come è esso è una buona idea avere OSS come parte del progetto di sviluppo software che si desidera esternalizzare. However that is a different topic all together, but covered in a previous article Tuttavia, che è un altro argomento, tutti insieme, ma coperto in un articolo precedente Open Source and Offshore Development Open source e lo sviluppo 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. Nella scelta di esternalizzare il vostro progetto di sviluppo software, non è solo la pura abilità di codifica che dovrebbero essere considerati per quanto riguarda la società off-shore è interessato. A decision to outsource your project involves many other aspects to be considered before that decision is taken. La decisione di esternalizzare il tuo progetto coinvolge molti altri aspetti da considerare prima di tale decisione. 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. Non vi è evidente fiducia che si dovrebbe avere sulla società off-shore, che volete con partner, e questa fiducia potrebbe sviluppare nel tempo. However establishing trust needs to have a beginning. Tuttavia la fiducia deve avere un inizio. First of all the offshore company should be having good references of their previous work. Prima di tutto la società off-shore dovrebbe essere un buono riferimenti della loro precedente lavoro. There should be case studies that you can go through, which would reflect their professionalism in the work that they have done so far. Non ci dovrebbero essere casi di studio che si può passare attraverso, che riflettono la loro professionalità nel lavoro che hanno fatto finora. At the same time the applicable skill set that the team has, needs to be evaluated. Allo stesso tempo la capacità del caso che il team ha bisogno di essere valutato. 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. Anche dopo tutti questi, vi potrebbero essere quelli nagging dubbi che si possono avere fiducia nella società off-shore nel modo in cui si desidera, dal momento che la società interessata non è una richiesta di una delle tue precedenti contratti.

OSS source is the foundation of trust and confidence when you choose to outsource your software development. OSS fonte è il fondamento di fiducia e di fiducia, quando si è scelto di esternalizzare il tuo lo sviluppo del software. It provides you with the trust in the software being developed. Vi fornisce la fiducia nel software in fase di sviluppo. It provides insurance in the worst case the project has not been delivered in the way you wanted. Essa prevede di assicurazione nel peggiore dei casi il progetto non è stato consegnato nel modo in cui avete voluto. 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. Hai ancora il codice e la vostra infrastruttura basata su architettura open source che può essere ripresa o modificata da un diverso sviluppo software partner. 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. In altre parole, hai ancora la possibilità di coinvolgere altri programmatori di aggiornare il software molto più veloce, dal momento che è basato su 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. Se l'open source non è stato utilizzato come base del software in fase di sviluppo, sarebbe stato più difficile per sostituire i programmatori, in caso di scenari peggiore dei casi.

There are different interpretations to the term open source. Ci sono diverse interpretazioni per il termine 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. Nel precedente esempio, open source, significherebbe il prodotto completo, che comprende, strumenti, biblioteche, ecc consegna del sviluppato un software non significa solo la consegna del codice sorgente con la soluzione. It has to include the open source product, tools, library, and others which need to have some established resources. Essa deve includere il prodotto open source, strumenti, biblioteca, e altri che hanno bisogno di alcune risorse stabilito. This reduces the time and effort of the new programmers in analyzing the software. Questo riduce il tempo e gli sforzi dei nuovi programmatori per analizzare il 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. Il nuovo programmatori vorrebbe molto più tempo per arrivare alla velocità, se il software di sviluppo non si basa su comunità basata software open source.

When you choose to outsource your software development, chose developers who would use open source architecture in developing the software. Quando si sceglie di esternalizzare il tuo software di sviluppo, ha scelto sviluppatori che avrebbe utilizzato architettura open source in via di sviluppo software. In such outsourced projects, open source provides the confidence and trust in much shorter time. In tali progetti in outsourcing, open source, fornisce la fiducia e la fiducia nel tempo molto più breve. In a decision to outsource, open source takes a positive approach to your risk management system. In una decisione di esternalizzare, open source prende un approccio positivo al vostro sistema di gestione dei rischi. You can obtain the most competitive cost in choosing a vendor who would use community established open source architecture with appropriate license. È possibile ottenere il costo più competitivo nella scelta di un fornitore che avrebbe utilizzato comunità stabilito architettura open source con licenza appropriata. This would provide you with the quality that you require. Ciò ti forniamo la qualità che si richiedono.


Offshore Software Development Dynamics Offshore dinamiche di sviluppo del software

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. Immaginate il seguente articolo è codice software. Certo, è in lingua inglese e in qualche modo comprensibile, ma è andare a prendere un investimento per renderlo informativo, chiaro e utile.

This is a continuing post on the series of outsourcing article writing. Questo è un post a continuare la serie di outsourcing articolo iscritto. Outsource Article Content Part I Articolo contenuto esternalizzare parte I , Outsource Article Content Part II Articolo contenuto esternalizzare 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. . Ci sono molti parallelismi in outsourcing lo sviluppo del software. Certo, si riceve Java, Ruby, codice PHP indietro, ma molte volte si richiede un investimento significativo nel rendere il codice comprensibile. Molte persone e organizzazioni hanno sperimentato questo manca di aspettative quando offshoring lo sviluppo di software . Ci vuole tempo e fatica a trovare buoni partner.
--

Developing software is an activity that requires intensive knowledge in the field of its expertise. In via di sviluppo software è un'attività che richiede intensità di conoscenza nel campo di sua competenza. 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. Le differenze tra le culture, le lingue, lo sviluppo pratica, la struttura di potere all'interno di organizzazione, le norme di qualità, documentazione, fusi orari, e gli aggiornamenti software e le stime di outsourcing di ostacolare lo sviluppo di software ad altri paesi in più modi diversi. 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. In quanto diventa una pratica diffusa per le organizzazioni, in outsourcing di progetti software, diventa sempre più importante capire l'ambiente che riguarda queste pratiche per un efficace attività di sviluppo. 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. I fattori trainanti lo sviluppo di software in outsourcing, che colpisce soprattutto l'efficacia dello sviluppo, si sono sviluppate attraverso il passato esperienze di organizzazioni, mentre i loro progetti di outsourcing alle imprese in altri paesi.

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 dello sviluppo del software è relativamente nuovo, ed i vari aspetti procedurali in questa attività, come ad esempio, il controllo di qualità, gestione del progetto, più rapido ciclo di sviluppo, ecc devono ancora essere pienamente evoluto, che comprensibilmente fornirebbe un migliore livello di confidenza. Constant research work is going on for the success of software development outsourcing. Costante lavoro di ricerca è in corso per il successo dello sviluppo del software di outsourcing. This is being done through understanding of the various models, while investigating into the factors of its success. Questo viene fatto attraverso la comprensione dei vari modelli, mentre in indagando i fattori del suo successo. 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. Questi modelli si sono evoluti attraverso le interazioni tra le loco e le organizzazioni in outsourcing, e che come la curva di apprendimento è stato derivato da anni di esperienza. 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. Al fine di rendere un successo l'outsourcing, offshore sourcing deve essere assunto come un serio sforzo, con i soggetti interessati, la necessità di imparare più velocemente attraverso le esperienze che hanno avuto, far emergere le migliori pratiche che potrebbero essere realizzati. 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 coinvolgere vari progetti socio-culturale dei processi inerenti il sistema del trasferimento delle conoscenze, ivi compresa la esplicite e implicite, formali e informali di scambi di conoscenze tra le loco e la società off-shore.

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. Alcuni dei enfatiche dichiarazioni che sono state finora ottenuti a, dalle esperienze precedenti e risultati di outsourcing lo sviluppo di software, fornire una comprensione delle variabili che incidono sul successo di off-shore lo sviluppo del software. Some of these assertions include: Alcune di queste affermazioni includono:

  • 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. I componenti essenziali di largo successo lo sviluppo di software diverse sono le dimensione del progetto stesso, che sono a tempo completamento, entro il completamento di bilancio, i costi e gli sforzi, riunione requisiti di sistema, sistema qualità, la soddisfazione degli utenti, l'uso del sistema, e sistema di benefici netti .
  • The process performance is a measure of assessing the functioning of the offshore partner. Il processo di rendimento è una misura di valutare il funzionamento del partner off-shore. 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. Queste prestazioni possono essere classificate come a tempo-ed entro il budget completamento del progetto da parte della società off-shore, l'efficacia della comunicazione, ecc Le prestazioni del prodotto software è attuata anche una misura per valutare l'efficienza e la capacità di off-shore società.
  • Understanding of the project being outsourced is one of the vital aspects of any project success. La comprensione del progetto in outsourcing è uno degli aspetti fondamentali di qualsiasi progetto di successo. 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 società off-shore avrebbe bisogno di disporre di un adeguato rapporto di gestione e di impegno personale, che sarebbero qualificati per comprendere il processo di esternalizzazione, vi-aiutando la società onshore per navigare attraverso la complessità.
  • A disciplined software project management is success by itself. Una disciplina del software di gestione del progetto è successo da sola.
  • 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. La questione importante per quanto riguarda la comunicazione tra l'organizzazione in loco e il suo partner di società off-shore è stato identificato come l'aspetto più importante in ogni esternalizzazione dei progetti di sviluppo software.

In outsourcing your software development, you would need to take care of the complex processes that it involves. In outsourcing il vostro software di sviluppo, si avrebbe bisogno di prendersi cura dei processi complessi che essa comporta. These are further complicated by the ever changing business scenario, when requirements still remain fluid. Questi sono ulteriormente complicata dalla sempre mutevoli business scenario, quando ancora i requisiti fluido. Offshoring a software development project is not simply handing over a set of documents to the partner company. Offshoring un software progetto di sviluppo non è semplicemente consegnando un insieme di documenti per il partner. 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. Ha bisogno di un attento sessione interattiva tra le loco e società off-shore, discutendo il progetto threadbare, fornendo le necessarie informazioni dettagliate possibile per il progetto possa essere ripreso dalla società partner. 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 società off-shore dall'altro lato avrebbe bisogno di comprendere pienamente per quanto riguarda l'attuazione del progetto, tenendo conto di tutte le possibili insidie che possono venire su durante l'esecuzione.

The time zone separation, the cultural differences, communication, etc are all pitfalls in any outsourcing of projects. Il fuso orario di separazione, le differenze culturali, di comunicazione, etc sono tutti insidie in ogni esternalizzazione dei progetti. 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. Inoltre, i confini geografici, evoluzione definizioni e le relazioni per lo sviluppo sforzo sono tutti parte del gioco di off-shore lo sviluppo del software.


Challenges in Offshore Software Development Sfide in mare aperto lo sviluppo di software

In this day and age, with globalization setting in, organizations are constantly looking for benefits derived from outsourcing software development to other countries. In questo giorno ed età, con la globalizzazione in impostazione, le organizzazioni sono costantemente alla ricerca di prestazioni derivanti da outsourcing lo sviluppo di software ad altri paesi. 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. Non vi è qualificato team di software distribuito in tutto il mondo, che sono sempre più messi a disposizione di organizzazioni come aziende partner, collaborando off-shore a progetti di sviluppo software.

Organizations have been distributing their work all over the world, outsourcing their software development projects to different countries. Organizzazioni sono state la distribuzione dei loro lavoro in tutto il mondo, l'esternalizzazione loro progetti di sviluppo software a diversi paesi. The motivations of these organizations, as well as the process they follow in distributing projects, continues to evolve. Le motivazioni di queste organizzazioni, così come il processo che seguirà in materia di distribuzione di progetti, continua ad evolversi. There have been significant management process changes adopted by companies in dealing with offshore companies and their software teams. Vi sono stati notevoli cambiamenti processo di gestione adottate dalle imprese in materia di società off-shore e il loro software squadre.

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 lo sviluppo di software offre diversi vantaggi, ma allo stesso tempo la distribuzione di progetti distribuiti a team di ingegneri del software offrono di più rispetto alle sfide raccolte squadra. 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 questione è come affrontare questi problemi, e come queste si evolvono, ci sarebbe finalmente una serie di fattori critici in grado di garantire il successo di off-shore lo sviluppo del software.

The trends in the market: Le tendenze del mercato:

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. Vi è una continua espansione globale della società, e questa espansione ha portato la distribuzione delle loro squadre di tutto il mondo in vari modi, sia che si tratti di offshoring, l'acquisizione, di partenariato o di outsourcing. As this practice becomes prevalent, there is a constant evolvement of approaches and practices, taking the offshoring to a matured level. Come questa pratica diventa prevalente, non vi è una costante evoluzione delle metodologie e pratiche, tenendo delocalizzazione ad un livello di maturazione.

The decision factor: Il fattore di decisione:

Many organizations are moving their work to one single destination, and frequently in India. Molte organizzazioni si stanno muovendo i loro lavori a un'unica destinazione, e spesso in India. In the present days there are trends in transferring projects to China, and the Eastern European countries. Nel presente giorno ci sono tendenze nel trasferimento di progetti in Cina, e paesi dell'Europa orientale. In transferring the work, the main motive was the Nel trasferire il lavoro, il motivo principale è stato il cost factor fattore di costo , 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. , In cui la decisione di spostare off-shore è stato influenzato soprattutto dalla disponibilità di acquisire le competenze ad un tasso molto più economico rispetto agli Stati Uniti o paesi dell'Europa occidentale.

Organizations in the US and Western Europe are increasingly setting up their own development centres in several locations in the world. Organizzazioni negli Stati Uniti e in Europa occidentale sono sempre più creare la loro centri di sviluppo in diversi luoghi nel mondo. 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 decisione di istituire il centro in Asia e paesi dell'Est europeo sono in gran parte motivato dalla disponibilità del diritto di abilità a bassi tassi, e ci sono altri fattori di motivazione che ha indotto le organizzazioni per spostare off-shore.

Having centers all over the world, organizations now have a pool of talents from which they can draw from. Avendo centri in tutto il mondo, le organizzazioni hanno ora un pool di talenti da cui si può trarre da. Having set up the teams in different time zones, the organizations can now have extended working hours. Dopo aver creato il team in diversi fusi orari, le organizzazioni possono ora hanno esteso l'orario di lavoro. The team in the eastern zone hands over the job to the western team at the end of their day. La squadra in zona orientale mani il lavoro di squadra occidentali alla fine dei loro giorni. 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. La squadra in regione occidentale inizia a lavorare sullo stesso progetto, quindi di estendere il tempo ampiamente, risparmiando i costi ei tempi di completamento.

There is increasing number of outsourcing providers growing in the world, which has made outsourcing popular for quite some time. Non vi è numero sempre maggiore di fornitori di outsourcing in crescita nel mondo, che ha reso popolare l'outsourcing per un po 'di tempo. Initially, the organizations used to select outsourcing vendors who made sense at that time. Inizialmente, le organizzazioni usato per selezionare i fornitori di outsourcing che senso compiuto in quel momento. 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 decisione potrebbe anche avere anche sono stati basati su progetto stesso, che è stato forse ritenuti idonei per l'esternalizzazione, o gli organismi che potrebbero hanno basato la loro decisione in merito a tali progetti che sono stati a corto di finanziamenti.

The pitfalls: Le insidie:

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. Al fine di realizzare con successo il completamento del progetto, la società off-shore necessità di essere flessibili nel processo di adattamento alle nuove metodologie, cicli di vita, e le specifiche al fine di soddisfare i requisiti di progetto in outsourcing. In each case, the methodology applied for projects are usually different. In ogni caso, la metodologia applicata per i progetti di solito sono diversi. 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. Ci sono altri fattori che possono influire sul software off-shore processi di sviluppo, e queste potrebbero essere le esistenti di comunicazione e di coordinamento variabili, le differenze culturali, requisito carenze, rapporto di gestione, processo di qualità, gestione del progetto strumenti per la valutazione di progetto, e soprattutto il turno - over di persone qualificate allegata al progetto.