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.的框架内,软件工程已重新引入敏捷软件开发的概念。敏捷,促使更大的改善,生命周期的一个软件项目时,实施敏捷与境外或分布式开发团队,有机会,以解决三方面的该项目,我们将涵盖这三个项目,以及提供一个没有背景的敏捷。

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.迭代是软件开发在一个单位的时间,这是去年5月由一至四周,它包括规划,需求分析,设计,编码和测试。 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.这种类型的面对面的时间发生在每一次迭代,其中计划驱动的项目而言,这基本上是发生在项目开始时,面对面的时间是不可能与境外供应商,这是有利于有每个开发人员的答案三,每日问题:你昨天什么您打算做今天?描述任何路障或障碍,在完成迭代的故事呢?每个开发人员要回答这些问题,而不是简单的离岸项目经理,也许离岸项目经理可以帮助在翻译这些问题的答案。

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 ,结对编程,迭代回顾和迭代规划,在分布式开发团队,多次陆上经理旅行境外举行会议,与境外团队,或在其他情况下,管理人员从境外旅行陆上会议。 One important influence depends on the offshore person visiting the onshore team to absorb the project details and develop/foster relationships.其中一个重要的影响取决于对境外人士来访的陆上团队,以吸纳该项目的详情和发展/促进的关系。 He should take this know-how from the onsite team in a way that he is knowledgeable enough to answer many questions raised by his offshore team.他应该借这个诀窍,从现场工作队的方式,他是有足够的认识,回答了很多问题,他所提出的境外团队。 In addition, he should be also capable of relating to his team members about the decisions that were taken in his meetings with the onsite team.  Depending upon the complexity of the project, a member of the onsite team, with good knowledge in business logic is often sent to work offshore.此外,他也应该能够与他的团队成员有关的决定,采取了在他的会议上,与现场团队。取决于项目复杂性的一员,现场团队,有良好的知识,在业务上的逻辑是:往往是发送给境外的工作。

In implementing Agile projects, a series of processes are utilized.在实施敏捷项目,一系列的过程是利用。 The development process is not just a single approach.发展进程中不只是一个单一的做法。 In implementing software offshore development, there are some principles that are followed, which have been termed as Agile Manifesto.在实施软件离岸开发,有一些原则,遵循,其中有被称为敏捷宣言。 These are as follows -这些都是如下-

➢    Customer satisfaction is achieved by rapid and continuous delivery of useful software. ➢客户满意度是所取得的快速和持续提供有用的软件。
➢    Quick delivery of working software within weeks rather than months. ➢快速交付可工作的软件在数周内而不是几个月。
➢    The principle measure of development progress is derived from the working software. ➢的原则,衡量发展的进展是来自工作的软件。
➢    Any changes in the software may be incorporated later. ➢任何变化,在软件可能会被纳入。
➢    Necessity in having face to face communication for better understanding. ➢的必要性,在有面对面的沟通,更深入的了解。
➢    Maintain close relationships between the business people and the developers. ➢保持密切关系的商界人士及地产发展商。
➢    Motivation and trust on the individuals make the project implementation successful. ➢的动机和信任,对个人,使项目实施成功。
➢    Apply continuous attention to the project design, and try to attain technical excellence. ➢申请的持续关注该项目的设计,并尝试实现技术精益求精。
➢    Adapt fast to changing circumstances. ➢适应快速变化的情况。

It was found that the iterative framework brought benefits to Agile software development vendors.结果发现,迭代框架所带来的好处,敏捷软件开发供应商。 By this approach, the customers could make payments after each iteration.由这种方法,客户可以进行付款后,每一次迭代。 By paying this way, the customer does not lose or be in a risk to pay the for the whole lot after the completion of the project.付出这样,客户不丧失,或在一个风险付出,为整个地段后,该项目完成。 This brought in commitment from the customer to provide the vendor with better business and motivates the vendor to consider each iteration important.这带来的承诺,从客户提供的供应商与更好的营商和激励供应商要考虑每一次迭代重要的。 The method of continuous feedback and communication helps in the offshore development process, but the approach of short iterations has proved to be especially successful.该方法的不断反馈和沟通,有助于在境外发展的过程中,但短期的做法,重复已被证明是特别成功。
Another aspect of Agile development is the importance of testing in each iteration.  Each iteration should produce automated tests that can be used during each iteration and future iterations as well.  The benefits of automated testing is better covered in different articles.  However, in the context of this article, it is important for your offshore vendors to deliver automated tests with each iteration.  When considering new vendors, ask about their testing strategies.  It is better to go with a vendor who believes in automated testing, rather than trying to convince a vendor the benefits of automated testing.另一个方面,敏捷开发是测试的重要性,在每一次迭代。每一次迭代应出示自动化测试可以用来在每一次迭代和今后的重复,以及。好处,自动化测试,是更好地涵盖在不同的文章,不过,在上下文这篇文章的,这是很重要的为您的境外厂商提供自动化测试与每一次迭代时,考虑新的供应商,询问他们是否测试策略,这是更好地去与厂商谁认为,在自动化测试,而不是试图说服一供应商的好处,自动化测试。
So, in sum, when implementing Agile in distributed development teams, there are opportunities to address three aspects of the project:  communication, payment/deliverables and automated testing.因此,总括而言,当实施敏捷在分布式开发团队,有机会,以解决三个方面的项目:通讯,付款/交付和自动化测试。



Comments are closed.评论均停课。