﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-庄周梦蝶，孰蝶是我，我是孰蝶？一梦至今，蝶我已难分-随笔分类-软件工程</title><link>http://www.blogjava.net/killme2008/category/30223.html</link><description /><language>zh-cn</language><lastBuildDate>Tue, 29 Apr 2008 15:42:41 GMT</lastBuildDate><pubDate>Tue, 29 Apr 2008 15:42:41 GMT</pubDate><ttl>60</ttl><item><title>说说迭代中的需求变更（更正）</title><link>http://www.blogjava.net/killme2008/archive/2008/04/28/196940.html</link><dc:creator>dennis</dc:creator><author>dennis</author><pubDate>Mon, 28 Apr 2008 13:04:00 GMT</pubDate><guid>http://www.blogjava.net/killme2008/archive/2008/04/28/196940.html</guid><wfw:comment>http://www.blogjava.net/killme2008/comments/196940.html</wfw:comment><comments>http://www.blogjava.net/killme2008/archive/2008/04/28/196940.html#Feedback</comments><slash:comments>3</slash:comments><wfw:commentRss>http://www.blogjava.net/killme2008/comments/commentRss/196940.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/killme2008/services/trackbacks/196940.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp; 我们现在做的项目是典型的小型项目，整个组也就4、5个人，一个迭代周期基本在两周左右。尽管没有明确有&#8220;迭代&#8221;这么说法，却是以业务人员的策划案做分期实现。这个分期，按我的理解其实就是迭代。最近发现的一个问题是，在迭代开始后，业务人员却没有办法保证需求在这个迭代周期完成前的稳定性，甚至在各个模块集成之前，大家就提出N多意见，并且这些意见很多时候都是前后矛盾的。特别是在客户端的开发上，显然，客户端UI和操作习惯方面是最多变的地方。可怜我们公司唯一的MM程序员快陷入变更频繁的泥潭了，改过去改回来是家常便饭。其实也是她过于老实，要我来说，你们要改，可以，但是我要向业务人员确认，他是我唯一的变更来源，你们有什么需求向他反应，他来收集和甄别。在《敏捷软件开发》中说到，迭代开始后，客户就同意不再更改当次迭代中的素材的定义和优先级别，可惜这一点貌似很难做到了，业务人员经常屈从于管理层或者其他小组意见的压力。在我看来，在当次迭代完成前的所有建议或者说需求，都可以收集起来，由业务人员负责收集、甄别和决定，放入下一个迭代版本的开发，因为我们的迭代周期一般也在两周左右，这个周期足够辨别这些需求的合理性和响应需求的及时性，而不是像现在这样大家七嘴八舌地提意见，技术人员疲于奔命，乃至于发脾气（入夏真是脾气坏的季节）；系统各部分迟迟无法进行集成测试，造成新的修改意见没有做完，预定的迭代版本的更无法按时完成的局面。<br /><img src ="http://www.blogjava.net/killme2008/aggbug/196940.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/killme2008/" target="_blank">dennis</a> 2008-04-28 21:04 <a href="http://www.blogjava.net/killme2008/archive/2008/04/28/196940.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>代码详查的几个要点</title><link>http://www.blogjava.net/killme2008/archive/2008/03/20/187420.html</link><dc:creator>dennis</dc:creator><author>dennis</author><pubDate>Thu, 20 Mar 2008 02:27:00 GMT</pubDate><guid>http://www.blogjava.net/killme2008/archive/2008/03/20/187420.html</guid><wfw:comment>http://www.blogjava.net/killme2008/comments/187420.html</wfw:comment><comments>http://www.blogjava.net/killme2008/archive/2008/03/20/187420.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/killme2008/comments/commentRss/187420.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/killme2008/services/trackbacks/187420.html</trackback:ping><description><![CDATA[1、应当有一个详查表，关注reviewer过去遇到的问题和缺陷，对常见错误保持警惕<br />
<br />
2、详查应当专注于检测错误，而非修正<br />
<br />
3、详查的角色包括：<br />
1）主持人：负责分配复查任务，报告详查结果，主持详查回忆，他需要能够理解被详查代码的相关技术细节，整体上控制详查进度<br />
2）作者：代码的作者，负责陈述项目的概况，解释设计和代码中不清晰的部分<br />
3）复查者（reviewer，《代码大全2》称为评论员，感觉不是很恰当）：负责实际复查的工作的执行，负责找出缺陷。<br />
4）记录员：记录发现的错误，记录任务的指派情况，记录会议<br />
5）管理人员：详查是一个纯技术性的复查，应当避免管理人员的介入。如果管理人员介入了详查，那么参与的人可能会觉的在被评价，而不是去复查材料，导致焦点从技术问题转移到行政问题。按国情，这种情况相当常见。<br />
<br />
4、明确详查的目的是发现设计或者代码的缺陷，而不是探索替代方案，或者争论谁对谁错，其目的绝不应该是批评作者的设计和代码。如果出现复查者做出不恰当的评价和发言，主持人应该制止，引导详查的活动的健康进行。这一点我觉的相当重要，对事而不对人。<br />
<br />
5、详查会议后，主持人撰写详查报告，最好能提交给管理人员一份，并且应当及时进入返工环节，将缺陷分配给某人去修复（往往是原作者），并及时跟进监督缺陷的修复情况。<br />
<br />
<br /><img src ="http://www.blogjava.net/killme2008/aggbug/187420.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/killme2008/" target="_blank">dennis</a> 2008-03-20 10:27 <a href="http://www.blogjava.net/killme2008/archive/2008/03/20/187420.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>