Three Ideas to Consider When Implementing Agile with Distributed Development Teams 3 개의 아이디어를 구현할 때 고려해야 민첩한 분산 개발 팀

--> ->

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. 소프트웨어 엔지니어링의 프레임 워크를 도입하여 민첩한되었습니다 소프트웨어 개발 개념을 재정의합니다. 민첩한은 개선을하라는 메시지가 큰 프로젝트는 소프트웨어의 생명 - 사이클을합니다. 민첩한을 구현할 때 근해 및 분산 개발 팀, 3 개의 측면에 해당하는 이미있는 기회를 주소 이 프로젝트합니다. 우리는 이들 세 항목 커버 조금 배경을 제공할뿐만 아니라 민첩한합니다.

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. 민첩한에는 여러 발전 전략을 소개합니다. 대부분의 시도를 최소화하는 전략 포커스 그리고 / 또는 노출 위험을 짧은 시간 소프트웨어를 개발합니다. 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. 소프트웨어의 개발을 반복은 1 개 단위의 시간, 그리고이 5 월 마지막 1~4주합니다. 여기에는 기획, 요구 사항을 분석, 설계, 코딩 및 테스트합니다. 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. 소프트웨어를 개발하는 동안 반복 기능 필요가 없다 수있을 정도로 제품을 시장에 출시,하지만이 작업의 목표는 소프트웨어를하지 않고 버그, 끝에 각 반복합니다. The team re-evaluates the project priorities at the end of each iteration. - 평가하는 팀 프로젝트를 다시 각각의 우선 순위의 끝에 반복합니다.

Traditional outsource challenges are amplified and new challenges are created when software development is taken offshore. 전통적인 아웃소싱 도전은 증폭과 새로운 도전은 소프트웨어 개발은 취해 근해 때 만들어집니다. These new challenges are mainly in cultural differences, combined with the communication difficulty due to the difference in time and language comprehension. 이들을 중심으로 새로운 도전은 문화의 차이와 결합된 시간의 차이로 인해 어려움의 통신 및 언어를 이해합니다. Most importantly, the biggest challenges remain in communicating, transfer of business logic understanding, demand in co-operation in poorly defined projects, unknown and imprecise requirements and lack of customer involvement, differences between customer and vendor, geographical distance, and many more. 대부분의 중요한 것은, 남아있는 의사 소통의 최대 과제, 양도의 비즈니스 로직 이해, 수요가 정의한 프로젝트를 공동 - 작업을 제대로 알 수없는 부족과 부정 확한 요구 사항과 고객의 참여도, 고객 및 공급 업체 간의 차이점, 지리적 거리, 그리고 더 많은합니다. To be successful with offshore software development, these hurdles need to be overcome by both the onshore and offshore teams. 이 성공과 해외 소프트웨어 개발, 이러한 장애물을 극복할 필요가 육상과 해상 모두에서 팀합니다.

In plan-driven and Agile as well, face to face communication is stressed to improve communication and understanding of the project. 이 계획 - 구동 및 민첩한도 얼굴을 맞대고 의사 소통이 커뮤니케이 션과 이해를 개선 프로젝트를 강조했다. This type of face to face time takes place during each iteration, where plan-driven project is concerned and this took place essentially at the beginning of the project.   When face to face time is not possible with the offshore provider, it is beneficial to have each developer answer 3 daily questions: what you did yesterday?  what you plan to do today?  describe any roadblocks or obstacles in completing the iteration stories?  Each developer should answer these question and not simply the offshore project manager.  Perhaps the offshore project manager can help in translating the answers to these questions. 이 유형의 얼굴을 맞대고 시간 동안 이루어지는 각각의 반복, 어디 플랜 - 구동 프로젝트는 우려의 시작 부분에 그리고이 프로젝트를 근본적으로 일어났다. 때, 얼굴에 시간이없습니다 근해 제공 업체에 도움이 각 개발자 답변 3 일간 질문 : 당신이 어제 무엇을 할 계획이 있습니까?을 설명하거나 장애물을 완료한 모든 도로를 반복적으로 이야기? 각 개발자는 이러한 질문에 대답이 아니라 해외 프로젝트 매니저 간단하게합니다. 아마, 해외 프로젝트 매니저는 도움이 이러한 질문에 대한 답변을 번역합니다.

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. 민첩의 경우, 얼굴을 맞대고 회의가 열리는 모든 시간, 보통의 형태로 매일 scrums, 페어 프로그래밍, 반복, 반복 계획 retrospectives합니다.의 분산 개발 팀, 많은 배나 육상과 해상 관리자 여행 근해 회의를 개최 팀, 또는 다른 상황에서 육상에 대한 경영자 회의에서 타도 여행합니다. One important influence depends on the offshore person visiting the onshore team to absorb the project details and develop/foster relationships. 한 사람이 중요한 영향력을 방문하여 근해에 따라 달라집니다 육상 팀을 흡수하는 프로젝트에 대한 자세한 내용 및 개발 / 양육 관계를합니다. He should take this know-how from the onsite team in a way that he is knowledgeable enough to answer many questions raised by his offshore team. 그 책임이 현장에서 팀을 잘 알고있는 방법 - 어떻게 그 사람이 제기한 대부분의 질문에 답변 충분한 지식이 그의 해외 팀합니다. In addition, he should be also capable of relating to his team members about the decisions that were taken in his meetings with the onsite team.  Depending upon the complexity of the project, a member of the onsite team, with good knowledge in business logic is often sent to work offshore. 또한, 그는 또한 능력이 있어야 그의 팀 구성원과 관련된 의사 결정에 대해서는 그 회의를 현장에서 찍은 팀합니다. 복잡도에 따라 프로젝트의 현장 팀의 일원으로 좋은 지식을 비즈니스 로직은 자주 해외로 전송 작동합니다.

In implementing Agile projects, a series of processes are utilized. 민첩한 프로젝트를 실시 일련의 과정을 활용합니다. The development process is not just a single approach. 의 개발 과정은 하나의 접근 방식뿐 아니라합니다. In implementing software offshore development, there are some principles that are followed, which have been termed as Agile Manifesto. 근해에서 소프트웨어 개발을 구현, 어떤 원칙에 따라, 임기를해온 민첩한 매니 페스트합니다. These are as follows - 이들은 다음과 같이 -

➢    Customer satisfaction is achieved by rapid and continuous delivery of useful software. 신속하고 지속적인 고객 만족을 달성하여 ➢의 유용한 소프트웨어를 제공합니다.
➢    Quick delivery of working software within weeks rather than months. ➢보다는 빠른 배달을 달 수 주 동안 소프트웨어를 작동합니다.
➢    The principle measure of development progress is derived from the working software. ➢의 원리를 측정하는 기준의 작업에서 파생된 진전이 소프트웨어를 개발합니다.
➢    Any changes in the software may be incorporated later. ➢ 나중에 어떤 변화에 소프트웨어가 포함될 수있습니다.
➢    Necessity in having face to face communication for better understanding. ➢ 데 얼굴을 맞대고 의사 소통에 대한 필요성을보다 잘 이해합니다.
➢    Maintain close relationships between the business people and the developers. ➢ 사이의 사업가들과 긴밀한 관계를 유지하고 있으며 개발자합니다.
➢    Motivation and trust on the individuals make the project implementation successful. 믿음에 동기를 부여하고 개인 ➢ 프로젝트를 성공적으로 구현합니다.
➢    Apply continuous attention to the project design, and try to attain technical excellence. 지속적인 관심을 프로젝트에 적용 ➢ 디자인 및 기술적인 우수성을 달성 시도합니다.
➢    Adapt fast to changing circumstances. 빠르게 변화하는 환경에 적응할 ➢합니다.

It was found that the iterative framework brought benefits to Agile software development vendors. 가져온 것으로 나타났다 혜택을 반복 민첩한 소프트웨어 개발 프레임 워크 공급 업체합니다. By this approach, the customers could make payments after each iteration. 이러한 접근 방법으로, 고객이 결제 후 각 반복합니다. By paying this way, the customer does not lose or be in a risk to pay the for the whole lot after the completion of the project. 이 방법 지불하여 고객은 위험을하지 않습니다을 잃게되거나 전체에 대해 지불하는 프로젝트의 완성 이후에 많이있습니다. This brought in commitment from the customer to provide the vendor with better business and motivates the vendor to consider each iteration important. 약속에서이 데리고 온 고객에게 더 나은 비즈니스 및 동기 제공하는 공급 업체와 공급 업체에 각각의 반복을 고려 중요합니다. The method of continuous feedback and communication helps in the offshore development process, but the approach of short iterations has proved to be especially successful. 지속적인 피드백과 커뮤니케이 션하는 방법은 해양 개발 프로세스에 도움이,하지만 그 접근 방식의 짧은 반복은 특히 성공을 입증합니다.
Another aspect of Agile development is the importance of testing in each iteration.  Each iteration should produce automated tests that can be used during each iteration and future iterations as well.  The benefits of automated testing is better covered in different articles.  However, in the context of this article, it is important for your offshore vendors to deliver automated tests with each iteration.  When considering new vendors, ask about their testing strategies.  It is better to go with a vendor who believes in automated testing, rather than trying to convince a vendor the benefits of automated testing. 또 다른 측면에서 민첩한 개발은 각각의 테스트의 중요성을 반복합니다. 각각의 자동화된 테스트를 반복해야하는 데 사용할 수있는 생산 및 미래의 반복하는 동안 각각의 반복도합니다.의 장점 자동화된 테스트는 서로 다른 기사를 더 나은로 덮여있습니다. 그러나,의 맥락에서 이 문서의 공급 업체를 제공하는 것이 중요합니다 자동화된 테스트를 귀하의 해외 각 반복합니다. 감안하면 새로운 공급 업체의 테스트를 물어 전략을합니다. 공급 업체로 갈 것이 좋다 자동화된 테스트를 믿는 사람보다는 확신을하려고 제조 업체의 장점 자동화된 테스트를합니다.
So, in sum, when implementing Agile in distributed development teams, there are opportunities to address three aspects of the project:  communication, payment/deliverables and automated testing. 그래서, 요컨대, 민첩한을 구현할 때 분산 개발 팀, 3 개의 측면이 프로젝트의 기회를 주소 : 의사 소통, 지불 / 제공과 자동화된 테스트를합니다.


Establishing and Managing Risk factors in Offshore Software Development 해외 소프트웨어 개발 및 관리에 위험 요인 수립

Outsourcing software development is usually done with the intention of lowering the cost of a project. 소프트웨어 개발 아웃소싱의 의도는 대개의 프로젝트 비용을 낮추는합니다. 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. 리디렉션을 아웃소싱하기로 결정을하고도 경쟁력있는 기술을 보존하기 위해 특정 사업, 또는 기술을보다 효율적으로 활용하는 아웃소싱 회사의 기술 및 자원.

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. 아웃소싱을하는 소프트웨어 프로젝트, 전통적으로 즉시 회사에 자수 -이 - 하루 하루의 관리와 기능을 위해 개발된이 프로젝트 회사를 설립 앞바 다. The onsite and the offshore companies enter into a contractual agreement. 해외 기업 현장과 계약 합의를 입력하십시오. This agreement provides the terms and conditions agreed between the two companies related to the transfer of services. 본 계약의 이용 약관을 제공과 관련된 두 회사 사이의 합의로 전송되는 서비스를합니다. By this agreement, the offshore company acquires from the onsite company the documentation of the project to be executed, along with transfer of people, assets, and other resources. 본 계약에 의해, 해외 기업 인수 회사의 설명서를 현장에서 프로젝트가 실행되면 이전의 사람과 함께 자산 및 기타 리소스합니다. Such project outsourcing usually includes: 그러한 프로젝트를 아웃소싱 보통 포함 내역 :

1. Information Technology. 정보 기술합니다.
2. 이. Human resources. 인적 자원.
3. 3합니다. Facilities. 시설.
4. Real estate management. 부동산 관리합니다.
5. Accounting. 회계.

There are many onsite companies who outsource customer support, and call center activities, such as, telemarketing, customer services, market research, manufacturing and engineering. 외부에서 많은 사람이 현장 기업 고객 지원, 그리고 콜 센터 활동, 등 텔레 마케팅, 고객 서비스, 시장 조사, 제조 및 엔지니어링합니다.

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. 아웃소싱 프로젝트를 결정을 높은 수준은 보통의 관리로 찍은하는 조직, 그리고 어떤 경우에는 승인을 필요로 결정 이사합니다. 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. 현장과 계약을 체결 brings에 대한 해외 기업의 특정 비즈니스 기능을 일종의 박탈,이 경우에는 소프트웨어 개발, 즉시 회사의 한 위치에 의해 만들어 해외합니다. Once the decision is taken in the matter of outsourcing, the search for an offshore partner would start. 한 번 결정은 아웃소싱의 문제에서 촬영된, 검색을 해외 파트너가를 시작합니다.

The most important criteria in setting milestones offshore software development is to take care of the risks involved. 근해에서 가장 중요한 이정표를 설정 기준과 소프트웨어 개발이 개입의 위험성을 돌봐합니다. The management of risks should start at the very initial stage, and as such, there are several risk factors to be taken into account. 위험의 관리가 매우 초기 단계에서 시작과 같은 몇 가지 위험 요인을 고려해야합니다. Risk management is as follows: 리스크 관리는 다음과 같습니다 :

➢ Take early actions on identifying the risks. 조기 ➢ 위험을 식별하는 작업을합니다.
➢ Determine the ways to mitigate those risks. 이러한 위험을 줄이기 ➢ 방법을 결정합니다.
➢ Decide on when to mitigate the risks. 위험을 줄이기 위해시 ➢을 결정합니다.
➢ Assign responsibilities to your staff to manage the various risks. 귀하의 직원을 관리하는 책임을 할당하는 ➢의 다양한 위험을합니다.

Usually, the teams involved in software development are “can do” groups, and it is not advisable to talk to them about process failures. 일반적으로, 소프트웨어 개발에 관여 팀은 "할 수"그룹, 그리고이 과정에서 결함에 대해 그들과 얘기를 권장되지 않습니다. There will be likely resistance from such groups, and you would need to overcome this attitude of resistance. 같은 그룹에 해당된다 저항을 전망, 그리고 이러한 태도의 저항을 극복하기 당신이 필요합니다. You would need to plan for contingencies and also identify potential risk areas. 당신들이 알 필요가 우발 계획을 또한 잠재적인 위험 영역 식별합니다. In establishing such a procedure, the approach will yield the following: 같은 절차를 수립의 접근 방식은 다음과 같은 수익률 :

➢ You will have a prioritized listing of all the risk that you envisage. ➢ 수있는 위험이 당신의 모든 구상의 우선 순위 목록을합니다.
➢ You will have estimation of the probability of each of the risks occurring. 견적을하셔야합니다 ➢ 확률이 발생하는 각각의 위험 부담합니다.
➢ You will be able to gauge the potential impact of the risks as regards the project or company. ➢하실 수있습니다 잠재적인 영향을 측정하고이 프로젝트의 위험성이나 회사를 감사합니다.
➢ Contingency plans. ➢ 비상 계획을합니다.
➢ Assigning responsibilities to individuals or groups for managing risks. 개인 또는 그룹을 할당을 관리하기위한 책임을 ➢ 위험 부담합니다.

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: 더 이상 할 위의, 다음 보일수도 귀하의보다 효율적인 위험 관리, 위험 요소를 최소화하고 문제 해결을 해외로 당신의 소프트웨어를 개발 프로젝트에 의해 식별됩니다 :

➢ 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. ➢의 소프트웨어 개발 생명 - 사이클 (sldc)는 잘 정의된 근해 사이에 당신과 당신의 파트너, sldc를 기억하는가뿐만 아니라 프로젝트 관리 도구, 또한 위험 관리 도구도합니다. 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. 인생의 개발 확립 - 사이클을 사용 시간을 설정하는 양쪽의 측면 프로젝트의 완성, 그리고 식별의 품질 목표, 광고 게재 및 키 이정표합니다.

➢ 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. 2 개의 프로젝트 매니저 ➢ 식별해야합니다, 각각의 측면 모두에서, 누가 책임을 sldc를 유지하기 위해이 과정을 내렸답니다.

➢ For the critical areas in the project, you would need to set up the groundwork for “critical path management”, and front end load. 이 프로젝트의 주요 지역에 대한 ➢, 당신들이 알 필요가에 대한 설정을 세웠습니다 "중요 경로를 관리", 그리고 프런트 엔드를로드합니다. This needs to be established as much as possible, for the critical path as identified in the project, becomes a crucial factor. 설립을 최대한이 있어야합니다,이 프로젝트의 주요 경로를 확인, 결정적인 요소가됩니다.

➢ As you define the milestones, you would need to define perceptive goals for each one of them. ➢ 이정표를 정의하고, 당신은 각각의 목표를 정의할 필요가 그들 중 하나 치열합니다. If this task is taken at the end, there could be drastic set back in the whole process of the development activity. 이 작업은가 끝날 때마다 경우가 될 수도있다 전체 프로세스를 다시 제자리에 과감한 설정의 개발 활동합니다.

➢ You would need to plan for any deviations that can occur in the process of development. ➢ 당신들이 알 필요가 어떠한 계획을 개발하는 과정에서 편차가 발생할 수있습니다. This is an important task, which allows you and your offshore team to highlight deviations, track the deviation properties, and learn from it. 이것은 중요한 작업, 당신과 당신의 해외 팀을 강조 수있는 편차, 편차 등록 정보를 추적하고, 그리고 배울 그것합니다.

➢ It is important that IP protection is in place and is mentioned in the contract drawn up between you and your offshore partner. ➢ 지적 재산권 보호에 위치하는 것이 중요합니다에서 언급한이며 당신과 당신의 해외 파트너 사이에 계약을 책정합니다. When making a decision to outsource your software development, this is one important factor to be taken into that decision. 아웃소싱을 결정하는 경우 귀하의 소프트웨어 개발, 이것은 그 결정을 한 중요한 요인을 반영합니다.

➢ 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. ➢의 구현을 제정 및 집행은 다른 여러 나라의 지적 재산법, 그리고 가족을 채택할 경우에도 관련 법률, 집행 기관이 어려워 여전히합니다.

➢ Effective business relation and partnering would be the best way to mitigate the IP enforcement and enactment law. ➢ 효과적인 비즈니스 파트너 관계를 완화하는 최선의 방법은 ip 법 집행 기관과 제정합니다. This could be done by effective maintenance of disciplines and auditing features. 효과적인 유지 관리에 큰 문제가 될 수도 규율에 의해 수행 및 감사 기능을합니다.


Using Open Source in Offshore Software Development 해외 소프트웨어 개발에 오픈 소스를 사용하여

The term open source software, OSS in short, may not be known to everyone. 오픈 소스 소프트웨어라는 용어, oss 즉, 모든 사람들에게 알려져되지 않을 수있습니다. In your IT career, you must have heard of the Linux operating system. 그것을 당신의 경력을, 당신의 리눅스 운영 체제에 들어 있어야합니다. This is the operating system that has made a huge impact in the data center. 이것은 운영 체제를 만들었다 데이터 센터에 큰 영향을합니다. 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. 비록 리눅스는 그 이름으로 만들어 오사카, 아래에는 여러 다른 범주에 속하는 오픈 소스 소프트웨어, 이들이 개발한 대규모 조직의 일부와 같은 태양, 아이비엠, 및 기타합니다. There are others from smaller companies which you might not ever hear about. 다른 사람이있는 중소 기업에 대해 들어본 못할 수도있습니다. There is a difference between what we call OSS and other software like the one from Microsoft, which is essentially proprietary software. 이 차이는 무엇을 우리는 부른다 것과 같은 마이크로 소프트 oss 및 기타 소프트웨어는 독점 소프트웨어를 근본적으로합니다. Open source software allows free distribution of its copies. 사본을 무료 배포의 오픈 소스 소프트웨어를 사용합니다. Not only that, you get to receive the original code that makes up the program. 뿐만 아니라, 원래 코드가 나타납니다에 대해 생각 해를 만드는 프로그램을합니다. On the other hand proprietary software can only be distributed under license, and the original codes are never made available to you. 반면에 독점 소프트웨어의 라이센스하에 배포될 수서만, 그리고 기존 코드는 절대로 만들어 사용할 수있습니다.

The combination of OSS and offshore development, yield high quality, and cost effective software, which is more easily available. oss 및 근해의 결합으로 개발, 수익률 높은 품질, 그리고 비용 효과적인 소프트웨어,이 더 쉽게 사용할 수있습니다. As it is it is a good idea in having OSS as a part of the software development project that you want to outsource. 그것은 그것은 좋은 아이디어로 oss를 둔 소프트웨어 개발 프로젝트의 일환으로서 아웃소싱하고자하는합니다. However that is a different topic all together, but covered in a previous article 그러나 다른 주제를 모두가 함께했지만 이전에 문서로 덮여 Open Source and Offshore Development 오픈 소스 및 해양 개발 . 합니다.

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. 귀하의 소프트웨어 개발 프로젝트에서 외부에서 선택하는 것이 순수 코딩 기술만이 아니라 멀리로 간주되어야하는 해외 기업이 우려합니다. A decision to outsource your project involves many other aspects to be considered before that decision is taken. 당신의 프로젝트를 외주를 결정에는 그 결정을하기 전에 다른 여러 측면을 장악으로 간주합니다. 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. 확실한 신뢰해야하는가 해안에 미칠 영향은 기업과 제휴하여하려는 사람, 그리고이 믿음은 시간이 지남을 개발합니다. However establishing trust needs to have a beginning. 그러나 신뢰 구축이 처음이 필요합니다. First of all the offshore company should be having good references of their previous work. 우선 해외 기업의 모든 이전 작업의되어야 데 좋은 참고합니다. There should be case studies that you can go through, which would reflect their professionalism in the work that they have done so far. 가있을 수있는 사례 연구를 통해 이동로 할 것이며, 그들의 전문성을 반영하는 작업이 현재까지 그들의 행한합니다. At the same time the applicable skill set that the team has, needs to be evaluated. 스킬 세트를 동시에 적용하는 팀은, 평가를해야합니다. 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. 이후에도이 모든 의문이있을 수 있지 잔소리 심한 이들의 신뢰가해야 할 수있습니다 방법을 원하는 회사에서 해안을 우려 이후로이 회사는 귀하의 이전 계약 중 하나에서 추천합니다.

OSS source is the foundation of trust and confidence when you choose to outsource your software development. oss 소스는 신뢰와 믿음의 기초 아웃소싱을 선택하면 귀하의 소프트웨어를 개발합니다. It provides you with the trust in the software being developed. 그것은 소프트웨어에 대한 신뢰를 제공합니다 개발합니다. It provides insurance in the worst case the project has not been delivered in the way you wanted. 이것은 최악의 경우에서 보험은이 프로젝트는 당신들이 원하는 방식에 전달되지 않았습니다. 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. 당신은 아직이 코드를 귀하의 인프라를 기반으로 재개하거나 수정할 수있는 오픈 소스 아키텍처에 의해 각기 다른 소프트웨어 개발 파트너합니다. 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. 즉, 당신은 여전히 다른 프로그래머을 상대할 수있는 기회를 업데이 트하는 소프트웨어를 훨씬 더 빨리, 오픈 소스이므로 기반으로합니다. 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. 오픈 소스는 만일의 소프트웨어를 개발 기지로 사용, 그렇지 않았을 대체하는 더 어려워 프로그래머, 최악의 시나리오에서 이벤트를합니다.

There are different interpretations to the term 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. 위의 예제에서 오픈 소스가 의미하는 것은 전체 제품을 포함한, 도구, 도서관, 등등 배달을 개발한 소프트웨어의 소스 코드가 아니라 뜻과 솔루션을 제공합니다. It has to include the open source product, tools, library, and others which need to have some established resources. 오픈 소스를 포함하는이 제품, 도구, 도서관, 및 기타 일부 설립 자원이 필요합니다. This reduces the time and effort of the new programmers in analyzing the 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. 새 프로그래머 훨씬 더 시간이 좀 걸릴의 속도로, 만약 지역 사회 기반의 소프트웨어 개발은 오픈 소스 소프트웨어를 기준으로하지 않는다.

When you choose to outsource your software development, chose developers who would use open source architecture in developing the software. 아웃소싱을 선택하면 귀하의 소프트웨어 개발, 선택의 개발자들이 오픈 소스 아키텍쳐를 개발 누구의 소프트웨어를 사용합니다. In such outsourced projects, open source provides the confidence and trust in much shorter time. 이러한 아웃소싱 사업, 신뢰와 믿음을 오픈 소스를 제공합니다 더 짧은 시간. In a decision to outsource, open source takes a positive approach to your risk management system. 아웃소싱의 결정을 오픈 소스는 귀하의 리스크 관리 시스템 긍정적인 접근을합니다. You can obtain the most competitive cost in choosing a vendor who would use community established open source architecture with appropriate license. 비용을 얻을 수있습니다 대부분의 경쟁 업체를 선택하는 지역 사회 설립 누구 오픈 소스 아키텍처에 적합한 라이선스를 사용합니다. This would provide you with the quality that you require. 이것은 당신의 품질을 제공해야합니다.


Offshore Software Development Dynamics 해외 소프트웨어 개발 역학

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. 다음과 같은 문서는 소프트웨어 코드의 상상을합니다. 물론, 그것이 어느 정도의 영어를 이해할 수 있지만 그것의 유익을위한 투자로 데리고 갈 겁니다, 명확하고 유용합니다.

This is a continuing post on the series of outsourcing article writing. 이 게시물을 지속적으로 일련의 아웃소싱 기술 자료 작성합니다. Outsource Article Content Part I 외주 문서 콘텐츠를 부 , Outsource Article Content Part II 아웃소싱 기사의 내용 일부 2 .  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. 합니다. 많다 소프트웨어 개발 아웃소싱 유례를합니다. 물론, 나타날 자바, 루비, 코드 뒤로, 그러나 많은 시간이 필요 제작에 상당한 투자의 코드를 이해할 수있습니다. 많은 사람들이 경험이없는 단체가 기대하고 offshoring 소프트웨어 개발시 합니다. 걸리는 시간과 노력을 좋은 파트너를 찾을합니다.
-

Developing software is an activity that requires intensive knowledge in the field of its expertise. 소프트웨어는 기술 개발 분야에서 활동을 집중의 전문 지식이 필요합니다. The differences in cultures, languages, development practice, power structure within organization, quality standards, documentation, time zones, and software updates and estimations hinder outsourcing of software development to other countries in more ways than one. 문화의 차이를, 언어, 개발 실습, 권력 구조를 조직, 품질 기준, 문서, 시간대에, 소프트웨어 업데이트 및 견적을 막는 소프트웨어 개발 아웃소싱을 다른 나라에 여러 방면으로합니다. 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. 연습을 위해 광범위한 조직으로이된다, 아웃소싱의 소프트웨어 프로젝트, 환경을 이해하는 것이 점차 중요 해지고 이러한 사례에 대해 어떤 영향을 미치는 효과적인 개발 활동합니다. 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. 열쇠 드라이버의 소프트웨어 개발 아웃소싱, 어떤 영향을 미치는 대부분의 효과를 개발, 조직은 진화의 과거의 경험을 통해, 그들의 사업을 기업에 아웃소싱하는 동안 다른 나라합니다.

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의 소프트웨어 개발은 비교적 새로운, 그리고이 활동의 다양한 절차적 측면에서와 같은 품질 관리, 프로젝트 관리, 빠른 개발 사이클, 등등이 아직 완전하게 진화에있는 더 나은 이해할 수있다는 신뢰 수준을 제공합니다. Constant research work is going on for the success of software development outsourcing. 지속적인 연구 작업은 소프트웨어 개발 아웃소싱의 성공을 위해 벌어지고있습니다. This is being done through understanding of the various models, while investigating into the factors of its success. 이것은 이해를 통해 수행되는 다양한 모델을 조사하는 동안의 성공 요인을합니다. 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. 이러한 모델은 진화 과정과 현장 사이의 상호 작용을 아웃소싱을 통해 조직, 그리고 그 밖의 방법을 학습 곡선은 년간의 경험을 유도합니다. 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. 아웃소싱이 성공하기 위해서는 해외 소싱이 필요로 당할 심각한 노력이 필요과 이해 관계자의 경험을 통해 자세한 내용을 신속하게 그들은이 있었다고 수있는 최상의 방법을 이끌어내는 달성합니다. 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 고유의 사업 참여의 시스템의 지식 전달을 포함하여 명시적, 묵시적, 공식 및 비공식적인 지식의 교류 및 해외 기업 사이의 현장.

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. 그 중 일부는 지금까지 파생 강조 선언에, 이전 결과 밖에서 소프트웨어 개발의 경험과 아웃소싱, 이해를 제공하는 해외 소프트웨어 개발의 성공에 영향을주는 변수합니다. Some of these assertions include: 이러한 주장의 일부 같습니다 :

  • 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. 해외 소프트웨어 개발의 필수 구성 요소의 다양한 차원의 프로젝트 자체의 성공이있는가 - 시간이 완료되면 - 예산을 완료 시간, 비용 및 노력, 회의 시스템 요구 사항, 시스템의 품질, 사용자 만족도, 시스템 사용하고, 순수한 시스템 장점 합니다.
  • The process performance is a measure of assessing the functioning of the offshore partner. 이 과정의 성과는 해외 파트너의 기능을 측정하는 기준을 평가합니다. 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. 이러한 퍼포먼스로 분류된 수있습니다 - 예산 -이 - 시간과 시간의 프로젝트를 완성 해안 회사의 효과를 커뮤니케이션, 등등의 소프트웨어 제품의 성능을 구현하는 방안도의 효율성과 능력을 평가 근해의 company.
  • Understanding of the project being outsourced is one of the vital aspects of any project success. 아웃소싱 프로젝트의 이해는 하나의 중요한 측면이 어떤 프로젝트의 성공합니다. 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 disciplined software project management is success by itself. a 징계 소프트웨어 프로젝트 관리는 그 자체의 성공합니다.
  • 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. 현장 조직 사이의 커뮤니케이 션의 주요 문제에 관한 파트너 회사와 그 근해의 대부분의 중요한 부분이 발견되었습니다 아웃소싱의 소프트웨어 개발 프로젝트에 어떠한합니다.

In outsourcing your software development, you would need to take care of the complex processes that it involves. 귀하의 소프트웨어 개발의 아웃소싱, 당신의 복잡한 과정이 필요가를 돌보고 포함합니다. These are further complicated by the ever changing business scenario, when requirements still remain fluid. 이들은 변화하는 비즈니스 시나리오를 더 복잡하게하는 적 때, 액체가 남아 요구 사항을합니다. Offshoring a software development project is not simply handing over a set of documents to the partner company. offshoring, 소프트웨어 개발 프로젝트는 단순히 일련의 문서를 넘겨 파트너 회사. 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. 대화형 세션을 신중하게해야과 근해 사이에 즉시 회사에 대해 논의하고있는 프로젝트를 진부한, 필요한 자세한 정보를 제공하는 프로젝트를 당할 가능성이 회사의 파트너에 의해합니다. 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. 반면에 해안 회사는이 프로젝트에 대해 완전하게 이해할 필요가 구현, 고려하여 각 함정이 실행되는 동안 올라와있습니다.

The time zone separation, the cultural differences, communication, etc are all pitfalls in any outsourcing of projects. 시간대를 분리, 문화의 차이, 의사 소통, 비고는 모두 아웃소싱 프로젝트의 어떠한 함정합니다. 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. 또한, 지리적 경계, 그리고 인간 관계의 변화의 정의와 개발에의 노력은 모두 게임의 일부를 해외 소프트웨어 개발합니다.


Challenges in Offshore Software Development 해외 소프트웨어 개발 과제

In this day and age, with globalization setting in, organizations are constantly looking for benefits derived from outsourcing software development to other countries. 이 시대, 세계화 설정에, 조직은 지속적으로 아웃소싱을 찾고 소프트웨어 개발 이익을 다른 나라에서 파생된합니다. 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. 숙련된 소프트웨어 팀이 분산 전 세계가 점점 더 조직에 사용할 수있게 만든이 협력 업체로, 해외 소프트웨어 개발 프로젝트를 공동 작업을합니다.

Organizations have been distributing their work all over the world, outsourcing their software development projects to different countries. 배포하는 단체들은 그들의 작품이 전 세계에 그들의 소프트웨어 개발 프로젝트를 다른 나라 아웃소싱합니다. The motivations of these organizations, as well as the process they follow in distributing projects, continues to evolve. 이 단체의 동기뿐 아니라 배포하는 과정에서 그들은 다음과 프로젝트를 지속적으로 발전합니다. There have been significant management process changes adopted by companies in dealing with offshore companies and their software teams. 변경 사항이 채택한 중요 관리 프로세스에 해당 기업에 해외 기업과 그들의 소프트웨어를 다루는 팀합니다.

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. 해외 소프트웨어 개발은 여러 장점지만 분배를 동시에 팀 프로젝트를 분산 소프트웨어 엔지니어 팀을 제공 수집된 것보다 더 많은 도전합니다. 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. 문제는 이러한 문제를 해결하는 방법, 그리고 이러한 발전에는 중요한 요소가 될 마지막으로 일련의 소프트웨어 개발은 근해의 성공을 보장합니다.

The trends in the market: 의 동향에 시장 :

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. 지속적인 글로벌 확장의 기업가, 그리고이 확장은 그들의 팀을 분포 결과를 다양한 방법으로 전 세계의 여부가 그것 offshoring, 인수, 제휴, 또는 아웃소싱합니다. As this practice becomes prevalent, there is a constant evolvement of approaches and practices, taking the offshoring to a matured level. 이 운동이 널리, evolvement가의 지속적인 접근과 사례, 고생하며 성숙 수준을 offshoring합니다.

The decision factor: 의 결정 요소 :

Many organizations are moving their work to one single destination, and frequently in India. 많은 조직이 이동을 그들의 작업을 하나의 대상, 그리고 인도에서 자주합니다. In the present days there are trends in transferring projects to China, and the Eastern European countries. 일 사이에 현재의 동향을 전송하는 프로젝트에 해당하는 이미 중국, 동부 유럽 각국합니다. In transferring the work, the main motive was the 에 전송하는 작업의 주요 동기는 cost factor 비용 요인 , 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. , 어디의 결정에 영향을 이동은 주로 해외에의 기술의 가용성을 예상했던 것보다 훨씬 저렴 서부 유럽 각국은 미국 또는합니다.

Organizations in the US and Western Europe are increasingly setting up their own development centres in several locations in the world. 조직은 미국과 서유럽은 점점 더 자신의 발전을 설정 센터에서 세계 여러 위치에있습니다. 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. 의 결정을 설정하는 그러한 센터에서 아시아, 그리고 동부 유럽의 나라들은 대부분의 가용성의 권리 능력에 의해 좌우됩니다 낮은 요금, 그리고 다른 동기 부여 요인을 묻는 메시지가 단체가 해외로 이동합니다.

Having centers all over the world, organizations now have a pool of talents from which they can draw from. 데 센터의 모든 세계, 단체 지금은 재능이있는 수영장에서 그들은 그려합니다. Having set up the teams in different time zones, the organizations can now have extended working hours. 서로 다른 시간대를 설정하는 데 팀은 단체 수있습니다 근무 시간을 연장합니다. The team in the eastern zone hands over the job to the western team at the end of their day. 동부의 팀 영역에서 작업을 손 위에 이들의 하루의 끝에 서부 팀합니다. 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. 서부 지역의 팀에서 작업을 시작한다 같은 프로젝트에는 시간을 연장 - 광범위하게, 저장 비용과 시간을 완성합니다.

There is increasing number of outsourcing providers growing in the world, which has made outsourcing popular for quite some time. 아웃소싱 업체가 늘어나 세계에서 성장하는 아웃소싱 인기가 꽤 많은 시간 동안 만들었다. Initially, the organizations used to select outsourcing vendors who made sense at that time. 초기에는 기업 아웃소싱 업체를 선택을 사용하여 그 당시 이치합니다. 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. 의 결정은 수도를 기반으로 프로젝트 자체도했던 것으로 아마 아웃소싱에 적합이나 단체가 그들의 결정에 대해 어떠한 보장도 프로젝트를 기반 자금 부족됐다.

The pitfalls: 의 함정 :

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. 프로젝트 완성을 성공적으로 달성하기 위해, 해외 기업에 적응하는 데있어 새로운 방법론을 유연해야합니다, 생명 -주기, 및 사양을 위해 아웃소싱 프로젝트를 만나 요구 사항을합니다. In each case, the methodology applied for projects are usually different. 각각의 경우, 프로젝트가 보통 서로 다른 방법론을 적용합니다. 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. 해안에는 다른 요인에 영향을 줄 수있는 소프트웨어 개발 프로세스를하며, 이러한 기존의 커뮤니케이션 및 공동 수있습니다 - 안수 변수, 문화의 차이, 요구 사항에 결함이, 관계 관리, 품질 프로세스, 프로젝트 관리 도구를 사업 평가, 그리고 더 중요한에서 돌아 - 이상의 숙련된 사람들이이 프로젝트에 연결되어있습니다.