敏捷开发

来源:互联网 发布:蓝牙模块主动发送数据 编辑:程序博客网 时间:2024/06/10 07:48

There are activities and behaviors that shape the way developmentteam members and customers act during the development of an agile project. Twowords that characterize a project done with an agile approach are interactiveand incremental. By examining Figure 1.7 we can see that there are fivedistinct stages: exploration, planning, iterations to the first release,productionizing, and maintenance. Notice that the three red arrows that loopback into the “Iterations” box symbolize incremental changes created throughrepeated testing and feedback that eventually lead to a stable but evolvingsystem. Also note that there are multiple looping arrows that feed back intothe productionizing phase. These symbolize that the pace of iterations isincreased after a product is released. The red arrow is shown leaving themaintenance stage and returning to the planning stage, so that there is acontinuous feedback loop involving customers and the development team as theyagree to alter the evolving system.

一个敏捷项目开发中的一些活动和行为影响了开发团队成员和顾客的行为。两个词形容敏捷开发就是交互和迭代的. 通过测试图1.7我们可以看到有5个步骤:探索,设计,对设计反复迭代,实施,维护。注意三个红色箭头环形指向“迭代”框代表着通过重复的测试和反馈不断递增的修改最终达到一个稳定且进化后的系统.同样要注意许多环状的的箭头反馈到实施阶段 ,这代表着在一个产品发布时对设计的迭代会增加。这些红色箭头离开维护这一步指回设计这一步,所以当他们同意改变进化中的系统时,就会有一个涉及顾客和开发团队的连续不断的反馈回路。

EXPLORATION. During exploration, you will explore your environment,asserting your conviction that the problem can and should be approached withagile development, assemble the team, and assess team member skills. This stagewill take anywhere from a few weeks (if you already know your team members andtechnology) to a few months (if everything is new). You also will be activelyexamining potential technologies needed to build the new system. During thisstage you should practice estimating the time needed for a variety of tasks. Inexploration, customers also are experimenting with writing user stories. Thepoint is to get the customer to refine a story enough so that you cancompetently estimate the amount of time it will take to build the solution intothe system you are planning. This stage is all about adopting a playful andcurious attitude toward the work environment, its problems, technologies, andpeople.

探索 在探索阶段, 你要先摸索你的环境,坚定你的信仰,相信问题可以也应该在敏捷开发中解决,组建团队,然后评估团队成员的技术水平。这一步中无论如何也会花费数周(如果你已经了解了你的团队成员们和他们的技术水平)到数月(什么都不知道的情况下)的时间。你还要积极地测试在建设一个新的系统时可能的技术需求。在这一步中你应该练习估算各种任务的时间需要。在探索阶段,还要用写用户需求的形式了解客户,其中的关键是得到足够的用户需求,你就可以准确的评估在你的计划中建立解决方案所需要的时间。这一阶段一直是采取一种幽默的和好奇的态度去面对工作中的一切,可能是问题,技术,或者人。

PLANNING. The next stage of the agile development process is calledplanning. In contrast to the first stage, planning may only take a few days toaccomplish. In this stage you and your customers agree on a date anywhere fromtwo months to half a year from the current date to deliver solutions to theirmost pressing business problems (you will be addressing the smallest, mostvaluable set of stories). If your exploration activities were sufficient, thisstage should be very short.

设计。 敏捷开发中的第二个阶段叫设计.和第一个阶段相比, 设计可能只需要几天完成. 在这一阶段你和你的顾客约定一个交付日期,这个日期从当前的日期到递交最迫切的解决方案的日期在两个月到半年之间,你将会专注于最小最核心最有价值的需求。如果你的探索做得足够充分的话,这一阶段会非常短暂。

ITERATIONS TO THE FIRST RELEASE. The third stage in the agiledevelopment process is composed of iterations to the first release. Typicallythese are iterations (cycles of testing, feedback, and change) of about threeweeks in duration. You will be pushing yourself to sketch out the entire architectureof the system, even though it is just in outline or skeletal form. One goal is torun customer-written functional tests at the end of each iteration. During theiterations stage you should also question whether the schedule needs to bealtered or whether you are tackling too many stories. Make small rituals out ofeach successful iteration, involving customers as well as developers. Alwayscelebrate your progress, even if it is small, because this is part of theculture of motivating everyone to work extremely hard on the project.

对第一个发布进行迭代。敏捷开发的第三个阶段由许多对第一个版本的迭代组成的。典型情况下,这些迭代(反复测试,反馈,修改)大概有3周时间. 你要让自己你将推动自己勾勒出整个系统的架构尽管这只是大纲或骨架形式。一个目标是在每次迭代后期编写用户指定的功能的测试 。 在迭代的阶段你也应该注意是否需要调整时间表或是处理的用户需求太多了。在每个成功的迭代后举行小仪式,包括客户同样包括开发者。经常地庆祝你的进展,即使他很小,因为这是一种精神的鼓励而让每个人在项目中努力工作。

PRODUCTIONIZING. Several activities occur during this phase. In thisphase the feedback cycle speeds up so that rather than receiving feedback foran iteration every three weeks, software revisions are being turned around inone week. You may institute daily briefings so everyone knows what everyoneelse is doing. The product is released in this phase, but may be improved byadding other features. Getting a system into production is an exciting event.Make time to celebrate with your teammates and mark the occasion. One of thewatchwords of the agile approach, with which we heartily agree, is that it issupposed to be fun to develop systems!

实施。数个活动会发生在这个阶段。在这个阶段反馈循环提速,而不是每三周得到反馈,软件的修正会在一周内转变。你可能学会每日简报,所以每个人都知道其他人在做什么。产品会在这个阶段发布,但可以通过添加其他功能继续改善。系统变成产品是一个令人兴奋的事件。抽空去和队友请庆祝并记录这个时刻。大家都赞同的一个敏捷开发方法的口号是:开发系统应该是有趣的!

MAINTENANCE. Once the system has been released, it needs to be keptrunning smoothly. New features may be added, riskier customer suggestions maybe considered, and team members may be rotated on or off the team. The attitudeyou take at this point in the developmental process is more conservative thanat any other time. You are now in a “keeper of the flame” mode rather than theplayful one you experienced during exploration.

维护.一旦系统发布, 就需要保持流畅的运行. 新功能会被加上, 更冒险的客户建议也要考虑, 同时队员也会在团队中轮换。这时你在开发过程中的态度相比其他时候要更保守. 你就像火的守护者一样,再也不能像在探索时那样玩笑了。


0 0