首页 > Linux操作系统 > Linux操作系统 > XP的轻量级Crystal方法
Figure 6 -- The family of Crystal methods.
Locate the segment of the X axis for the staff size (typically just the development team). For a distributed development project, move right one box to account for the loss of face-to-face communications.
根据成员数量确定在X轴上的部分(通常的只是开发组)。如果是一个分布的开发项目,因为面对面沟通的机会减少,向右移动一格。
On the Y axis, identify the damage effect of the system: loss of comfort, loss of "discretionary" monies, loss of "essential" monies (e.g., going bankrupt), or loss of life.
在Y轴上,确认系统损坏的影响:舒适程度下降,明显的经济损失,根本性的经济损失(比如破产),或者丧命。
The different planes behind the top layer reflect the different possible project priorities, whether it is time to market at all costs (such as in the first layer), productivity and tolerance (the hidden second layer), or legal liability (the hidden third layer). The box in the grid indicates the class of projects (for example, C6) with similar communications load and safety needs and can be used to select a methodology.
在顶层的不同的飞机(板块panel?)反映了各种项目的不同重点,所耗费的是否是上市时间(就象在第一层),效率和兼容性(隐藏的第二层),或者法律责任(隐藏的第三层).网格中的格子决定了在相似沟通难度和安全需求下的项目的类型(例如C6),你可以用来选择方法论。
The grid characterizes projects fairly objectively, useful for choosing a methodology. I have used it myself to change methodologies on a project as it shifted in size and complexity. There are, of course, many other factors, but these three determine methodology selection quite well.
这个网格显示了项目的特性,对选择一个方法论很有用。我自己在项目的大小和复杂程度改变的时候,用来改变我的方法论。当然还有其他的因素,但这三个用来决定选择什么方法论是很好的。
Suppose it is time to choose a methodology for the project. To benefit from the project interviews mentioned earlier, create the lightest methodology you can even imagine working for the cell in the grid, one in which person-to-person communication is enhanced as much as possible, and running tested code is the basic timing marker. The result is a light, habitable (meaning rather pleasant, as opposed to oppressive), effective methodology. Assign this methodology to C6 on the grid.
假定现在要选择项目的方法论。得益于上面所提到的对有关项目的访谈,你可以把建立一个最轻量级的方法论,想象成按照网格中的格子工作,在这里,尽量提高人和人之间的交流,运行测试后的代码是最基本的进度标志。结果是一个简单的,符合人的习惯的(意味着更让人愉快的,反对压抑人的)高效率的方法论。在网格上指定这个方法论到C6。
Repeating this for all the boxes produces a family of lightweight methods, related by their reliance on people, communication, and frequent delivery of running code. I call this family the Crystal Light family of methodologies. The family is segmented into vertical stripes by color (not shown in figure): The methodology for 2-6 person projects is Crystal Clear, for 6-20 person projects is Crystal Yellow, for 20-40 person projects is Crystal Orange, then Red, Magenta, Blue, etc.
重复这些所有的格子,产生一个轻量级的方法的家族,根据他们对人们的信心,沟通,和发布运行代码的频率。我叫这个家族为Crystal Light方法论族。这个家族用颜色(在图上没画)分成不同的竖直的条纹:2-6个人的项目的方法论叫 Crystal Clear ,6-20人的项目的方法论叫 Crystal Yellow , 20-40人的项目的方法论叫 Crystal Orange,然后是 Red,Magenta,Blue,等等。
Shifts in the vertical axis can be thought of as "hardening" of the methodology. A life-critical 2-6-person project would use "hardened" Crystal Clear, and so on. What surprises me is that the project interviews are showing rather little difference in the hardness requirement, up to life-critical projects.
垂直方向间的切换在方法学上被称为强化。一个短生命期的2到6个人的项目应该使用强化了的Crystal Clear或其派生方法来管理。使我惊喜的是,在这样的 项目中几乎看不到增加需求和按时完成项目之间的矛盾。
Crystal Clear is documented in a forthcoming book, currently in draft form. on the Web. Crystal Orange is outlined in the methodology chapter of Surviving Object-Oriented Projects (see Editor's note below).
Crystal Clear出自一本即将出版的书,现在网上已经有草稿。在《Surviving Object-Oriented Projects》一书的方法论一章中描述了Crystal Orange的轮廓。
Having worked with the Crystal Light methods for several years now, I found a few more surprises.
在采用Crystal Light方法多年以后,现在我发现了更多的惊喜。
The first surprise is just how little process and control a team actually needs to thrive (this is thrive, not merely survive). It seems that most people are interested in being good citizens and in producing a quality product, and they use their native cognitive and communications abilities to accomplish this. This matches Jim's conclusions about adaptive software development (see Resources and References, page 15). You need one notch less control than you expect, and less is better when it comes to delivering quickly.
第一个惊喜是,一个开发队伍成功(不仅仅是幸存)并不需要太多的管理和控制。大部分开发人员都乐于专心工作和写出好的软件,他们会使用自己的理解能力和沟通能力去 完成这一切。这和Jim做出的关于自适应软件开发的结论完全一致(参见"资源和参考",第15页)。你需要比你预计的要少得多的控制,尤其是当你希望能尽快发布软件时,越 少就越好。
More specifically, when Jim and I traded notes on project management, we found we had both observed a critical success element of project management: that team members understand and communicate their work dependencies. They can do this in lots of simple, low-tech, low-overhead ways. It is often not necessary to introduce tool-intensive work products to manage it.
更特别的是,当我和Jim交换项目管理的心得时,我们意识到我们都观察到了成功的项目管理中的一个关键要素:开发人员能理解有关人员的工作并加以沟通。他们能通过 许多简单、低技术含量并且廉价的方法完成这一切。通常这并不需要引入什么特别的工具来管理。
Oh, but it is necessary to introduce two more things into the project: trust and communication.
不过项目中还是需要两个关键要素:信任和沟通。
A project that is short on trust is in trouble in more substantial ways than just the weight of the methodology. To the extent that you can enhance trust and communication, you can reap the benefits of Crystal Clear, XP, and the other lightweight methods.
在一个项目中,缺乏信任比选择了错误的方法学更要命。从某种程度上讲,只要你能加强信任和沟通,你就一定能受益于Crystal Clear,XP(极限编程 ?)或别的轻量级开发方法。
The second surprise with defining the Crystal Light methods was XP. I had designed Crystal Clear to be the least bureaucratic methodology I could imagine. Then XP showed up in the same place on the grid and made Clear look heavy! What was going on?
第二个惊喜是当我们定义Cystal Light方法的时候它就和XP一致了。我把Crystal Clear设计成我所能想象的最不官僚的方法学。随后XP在 同一领域出现并展露锋芒,在它面前Clear仿佛成了重量级的开发方法!这是怎么一回事?
It turns out that Beck had found another knob to twist on the methodology control panel: discipline. To the extent that a team can increase its internal discipline and consistency of action, it can lighten its methodology even more. The Crystal Light family is predicated on allowing developers the maximum individual preference. XP is predicated on having everyone follow tight, disciplined practices:
这大概是因为Beck发现了方法学的控制面板上的另一个开关:纪律。在某种程度,如果一个开发小组能增强内部的纪律性并保证行动的一致性,方法学可以变得更加 轻巧。Crystal Light衍生的方法学给予开发者最多的个性化。XP则要求每个人都遵守严格的有纪律的实践:
Everyone follows a tight coding standard.
每个人都必须遵守一个严格的编码标准。
The team forms a consensus on what is "better" code, so that changes converge and don't just bounce around.
关于什么是好的代码, 开发小组在此方面应达成共识,这样所有的变化都集中在一起,避免了反复。
Unit tests exist for all functions, and they always pass at 100%.
每个函数都必须经过单元测试,并且必须100%通过。
All production code is written by two people working together.
所有产品的代码都是由两名开发人员一起工作完成的
Tested function is delivered frequently, in the two- to four- week range.
以每两周到四周为一个周期, 频繁地发布那些经过测试的函数,。
In other words, Crystal Clear illustrates and XP magnifies the core principle of light methods:
换一句话说,Crystal Clear展示了轻量级方法的核心法则,而XP放大了它:
Intermediate work products can be reduced and project delivery enhanced, to the extent that team communications are improved and frequency of delivery increased.
在一定程度上,如果开发队伍的交流得到了改善,发布的频率得到提高,那么就可以减少中间产品的工作量,从而能更快地完成项目。
XP and Crystal Clear are related to each other in these ways:
XP和Crystal Clear有如下关联:
XP pursues greater productivity through increased discipline, but it is harder for a team to follow.
XP通过增强纪律性提高生产效率,但是它对于开发者更难于遵守。
Crystal Clear permits greater individuality within the team and more relaxed work habits in exchange for some loss in productivity.
Crystal Clear给予开发者更多的个性空间,允许比较松散的工作习惯,但是同时损失了一些生产效率。
Crystal Clear may be easier for a team to adopt, but XP produces better results if the team can follow it.
开发队伍可以比较轻松地使用Crystal Clear方法,但是如果能够有效地使用XP,效果会更好。
A team can start with Crystal Clear and move itself to XP. A team that falls off XP can back up to Crystal Clear.
开发队伍可以从Crystal Clear开始,然后转移到XP方法。开发队伍也可以放弃XP,重新使用Crystal Clear。
Although there are differences in Crystal Clear and XP, the fundamental values are consistent -- simplicity, communications, and minimal formality.
尽管Crystal Clear和Xp之间存在很多差异,但是它们的基本价值观是一致的--简单、交流和尽量减少形式化。
Editor's note: For more information on the Crystal Clear methodology, see Alistair Cockburn's Web site, listed in the References and Resources section. For more information on Crystal Orange, it is covered in the book Surviving Object-Oriented Projects, also listed in the References and Resources section
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/14639675/viewspace-582355/ ,如需转载,请注明出处,否则将追究法律责任。