
官方网站:http://cn.trendmicro.com/cn/mini/cleantool/index.html
自从上周四,闪电杀毒手3.0正式release之后,我一直想静下心来写一些关于3.0的项目经验总结。毕竟,这是我第一次完完全全负责一个项目的开发管理。
但是上周五和南京研发中心过来的几位大牛——见到了传说中的为数不多的staff engineer之一——只可惜是QA——开了一天的会之后,我发现其实所谓的项目管理并没有多少的玄虚,或者说并没有多少的可以拿得上台面讲的东西,所以也就更不用说我所在的这个不正规的开发团队,和不正规的项目管理了。
由于我是软件工程专业出来的科班生,所以期间我问了个Sr. Manager一个略显青涩的问题:“你们的开发团队有没有走正规的软件工程流程”,答案或多或少出乎了我的意料:“正规的软件工程谈不上,就是通常的几个步骤会做,项目调研,产品分析,使用说明书是必须有的”“文档永远赶不上代码”“流程永远为进度让步;为了赶进度,就忘记了流程”。其中尤其说到了文档和代码的问题,大家都说“国内基本上都是这样,文档永远赶不上代码”,后来一个经常往国外跑的Sr. Architect补充说“全球基本都这样”。我听了只能在一旁心中默默感叹,说不出什么滋味。
但是,我想,不管走什么模式,也不管依赖什么管理制度,只要最终能赶上项目进度,保证项目质量,开发团队始终融洽,That's fine。所以,我觉得我还是有一些自己身体力行的独特感受。
1·我在项目开始之前做了很长时间的需求分析,并且与老大保持密切沟通,定期Update,而且写了很正规的需求文档。后来我发现这个文档带来了两方面的问题:(1)这个文档对大家带来的帮助很少,目前我只发现一个作用:QA lead在写测试用例的时候会参考。这是个小而敏捷的团队,所以面对面几分钟的沟通的效果好过十几页的文档。(2)由于需求一直在变,所以文档也要时刻更新维护。但是后来我发现这文档我已经懒得维护了。如果我以后只会整理出一份需求清单,然后跟组员保持充分的沟通就可以。
2·正如1里提到的,这是个小而敏捷的团队,所以资源匮乏的问题也随之而来。在分工的时候,就出现了一个人担当多个角色的问题。就拿我自己来说,我是JM+Architect+RD。而且就一人担当多个角色,最后还是出现了彼此之间的Gap,导致一些事情没有人做。这些Gap的产生,其实归根到底是因为经验缺乏,导致有一些方面没有考虑得到。怎么解决?后来我发现,把这些没有人做的事情分配给有经验的人来做更好,而不是严格地按照职能划分。因为把这些事做TOI的成本,远高于做这些事情本身的成本,而且让一个没有经验的人来做些事情,质量不能保证。虽然这样做可能导致分工不均衡的问题,但是为了让保证项目质量,赶上项目进度,我觉得这样做是值得的,关于分工问题,可以用奖惩来解决。
3·杀毒手3.0主要是在稳定性、兼容性下了功夫。在做的过程中我们发现,Windows 7真是个好东西,实际上你不用在你的代码上做多大的改变,就可以兼容它。而Vista SP1/SP2却真是个娇气的系统。另外,如果真的涉及到Driver层面,很多东西要谨慎,因为Driver的兼容性很严格,而且一旦出了问题,后果严重,并且难收集信息。
4·相对项目管理,其实我到现在还是认为自己骨子里更倾向于做开发。不过在做项目管理一段时间之后,我也发现确实是可以学到很多东西,尤其是可以跟China Region的Technical Director直接沟通,看待问题的角度和层面完全是个质的飞跃。事实上,管理一个项目确实有很多事情要做:与PM沟通,做需求分析,分配任务和资源,与组员讨论模块,把握项目进度,保证测试质量,发布项目并且收集反馈,推广产品等等,这些有些是我之前没有想到的。做这些事情给我带来的感受,与写代码相比,简单点来讲,前者侧重与“想”,后者侧重与“做”,仿佛一个用左脑在做事,另一个则是在用右脑。感觉有点奇妙。
5·我认为软件工程科班出来做管理项目还是有很大优势的。我的前任是WD计算机系的牛人,但是在他手里做了几个项目之后,我总结出他身上的几个问题:“多变,随性”,“爱较真”“不少事情没有自始至终做完整”,总体感受让人suffer。谁都不喜欢突如其来的变化,就算有不好的改变,也要至少让人有心里准备。这些我在做项目管理的时候,都有注意到。我不清楚这些意识是因软件工程大环境整个氛围的熏陶影响,还是个人性格问题。但是我认为,学习软件工程起码是有价值的,尽管现实中我们不能严格地贯彻。思考问题的模式不同,角度也不同。角度决定深度,眼界决定世界,确实不假。
6·AVG的CTO曾问我一个看似简单却又不是一句两句能说清楚的问题“你如何管理你的团队,以保证他们能为你做事”,我也用蹩脚的英语给了他一个看似简单粗俗却十分中肯的回答“I will try to make them happy. If they are happy, they will work for me and do it better”。后来我猜测,他应该很满意我的回答。
以上六点。大概是因为有感而发的缘故吧,一不小心写得长了点。希望对你、对我都有所帮助。
事发地点:上海莘庄银七星室内滑雪场
事发成本:158¥/人
事发时间:19点-24点 无限畅滑
注意事项:穿袜子,穿旧的袜子,穿厚的旧的袜子——因为那个鞋真的很臭;最好带护膝,时间一长,膝盖会疼,容易得关节炎。
TrendMicro China RTL的精英们~


标题听起来是不是很吓人,你是不是特崇拜我。
嗯……好像是挺像那么回事儿。以前我看别人博客上写某某出书了,当时也倍儿崇拜人家。这会儿轮到我自己出书了,我觉得也就那么回事儿。
上图上图:
书名叫《网络安全与病毒防范(第四版》,我参与编写了其中的两章~


呃,第一个VC游戏。为了迎接趋势科技3CIT的新文化参加的比赛。
方块是3 C i T这4个字母,所以要得分其实蛮难的。
点击下载此文件

我认为一个渐渐成型的软件,是应该要有个专门的网站的。所以我抽空给杀毒手做了个。

访问地址:
http://www.shadushou.com
http://shadushou.com
内容不多,所以干脆在一个Frame里显示。我承认我花了不少心思在上面,注意细节,注意交互性,注意留白,等等。
但是可能是顾及的东西比较多,所以只能做成这样。部分子页面还是做的不怎么好,以后慢慢改吧。
BTW,调用jmail发邮件的时候遇到个搞笑的问题,Send的时候总是出现错误,查了半天,原来是必须以"username:password@smtpserver"的形式作为参数。汗-_-
下载地址(绿色免费):http://www.trendmicro.com/download/zh-cn/product.asp?productid=52
闪电杀毒手2.5 版主要改进 :
1. 新增木马快速扫描 (iRobot引擎)
帮助用户快速检测怀疑中毒的机器中存活的病毒木马.
利用中国区Consumer病毒码对内存中的进程\注册表自启动项\敏感目录进行扫描,
快速侦测病毒,结果将送智能关联清除引擎TDME做关联查杀.
2. 更强的木马群智能关联清除(TDME2.1引擎)
帮助用户从死灰复燃,无休无止的病毒木马混合攻击中解脱出来,一网打尽.
针对未知木马群设计,通过行为追踪技术,监控木马间关系,智能关联清除 (默认开启)
3. 更快的恶评软件扫描(SSAPI6.2引擎)
帮助用户保护隐私,提供系统运行效率和上网速度.
实现了加速扫描,增强对rootkit技术的清除能力,支持1000多款流行的恶评软件清理.
4. USB病毒实时防护2.0
让用户可以安全放心地使用U盘.实时监控移动磁盘的接入,阻止带毒U盘感染干净系统.
5. 更快更全的在线更新
帮助用户全面了解更新信息和更新组件.支持应用程序, 中国区Consumer病毒码, 智能检测规则的更新,支持Http代理设置.
6. 更好的用户体验: 丰富了状态显示信息,输出扫描清除日志,提供用户帮助文档
7. 多语言支持: 简中/繁中/英文
http://trendmicro.qq.com/

随着杀毒手的版本越来越多,因此各版本之间如何平滑升级是我们必须考虑的问题。
1·从2.3版本,程序每次启动时都会强制更新index.dll,即“更新组件”。
因此,“最新的更新组件+完整的update.ini”,可以让2.3开始的版本可以平滑升级,包括跨版本升级。
不过,需要注意的是这个“完整的update.ini”,“完整”是指,当前最新版本里应该“完整”地包括哪些内容,而非“需要更新的内容”。如果是后者,跨版本升级就会出现问题。
2·对于2.3以前的版本,我建议使用“一个版本,一个update.ini”的方式来保证跨版本升级。
杀毒手目前流传在外的版本有1.53和2.0,如何让这两个版本平滑升级到2.3?
(1)2.0—>2.3:
维护一个update20.ini,确保2.0的版本能更新到2.3的index.dll,其他组件可不考虑;而2.3的index.dll指向新的更新源update23.ini,用来更新其他组件至最新版本。
(2)1.53—>2.3:
首先保证1.53能升级到2.0,更新到2.0后,重复(1),即可更新到2.3。
1.53—>2.0的更新同样采用“专属update.ini”的方式,确保1.53的index.dll能更新到2.0的index.dll
3·不过这样就带来一个问题,因为1.53和2.0已经流传在外了,也就是说,他们的更新源已经固定了,怎么来为他们配置“专属update.ini”?
这里只能说我们运气好了,幸好目前只流传两个版本,最新版本是2.0,所以说,需要升级的只有1.53,那么1.53肯定能升级到2.0的index.dll,所以,如果要保证1.53能平滑升级到2.3,只要现在更新一下2.0的index.dll,更改其的更新源,不等于1.53升级到2.0的更新源,且不等于2.3的index.dll的更新源
4·因此保证(1)和(2)都成功,只要现在发布一个新的版本,让2.0的index.dll指向一个新的更新源A,2.3的index.dll也指向一个新的更新源B
2.0终于发布啦,核心开发人员减少至我和另一位同事。
2.0主要对UI做了一些重新设计和效率的优化,以及恶意软件的模块翻新,还有其他模块的微调。
UI重新设计,恶意软件,自动升级,架构等都担在了我身上。
3.0将侧重扫描和专杀的制作,同时病毒码也将逐渐积累
感受还是挺多的,越来越发现设计的重要性,同时自己也越来越有想法,看来我在大学里的积淀还是有用处的。
界面设计我还是很满意的,都是通过代码写出来的,都知道vc做界面不容易。


下载地址:
http://www.trendmicro.com/download/zh-cn/product.asp?productid=52
上周四到周六,趋势在南京开了08年度的年会。
于是有幸去了南京研发中心溜达溜达,并且去了趟夫子庙。
收获颇丰:
买了600多块的衣服,买了68块钱一袋的正宗桂花鸭,拿了个BloggerKing的大奖,抽奖中了****¥(低调低调)
Jenny(张老大的太太)

Beer Factory游戏

总裁Oscar

夫子庙大观园

江南贡院

夫子庙

趋势研发中心

BloggerKing颁奖
