锁定老帖子 主题:项目日记
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2008-05-21
0.9版:我开发。先是用了多种设计模式,尽量实现解耦。结果发现性能不满意。 ... 1.0版:我开发。后来,重构。去掉了很多设计模式,让部分代码直接耦合,性能大幅提高了。 ... 1.1版:成立1.0小组接手。需要增加新的功能,和修正一些BUG。工程进度很顺利。 .... 1.2版:我开发。再后来,再重构。开始一步步拆解耦合,同时尽量保持性能。解耦再次实现,性能不降反升。感觉自己的思维又向前飞跃一步。 ... 1.3版。1.0小组完全接手。又需要增加新的功能,和修正一些BUG。小组觉得1.2版的代码比较难懂,但都普遍反映能看得懂1.1版的代码。工程进展很不顺利,延期n倍后,基本完成任务。 ... 1.4版。发现1.3版本在生产环境效率下降明显。报告多处莫名BUG。我自己重新检视代码,发现代码结构破坏严重,1.3的修正处出现相当数量的高耦合代码。心疼不已,气得要命。于是加班,重写了大部分修正代码。 ... 1.5版。决定继续锻炼队伍,完全交给1.0组。引入严格单元测试。招了专职黑盒测试人员。工程进展。在生产环境部署运行基本稳定,很少BUG报告。但性能下降明显。升级了服务器后基本解决。 ... 1.6/1.7/1.8版。继续锻炼队伍,小组开发。都是增加功能和修改少量BUG。开发过程引入大量单元和整合测试。BUG报告很少,但性能进一步下降。又升级了服务器硬件,但性能改善开始不明显。 我,忙其他的N个项目了去了...,小组继续他们的工作。 .... 客户开始普遍抱怨速度慢...,开发小组焦急,但显然一筹莫展。 ... ... 我不得不重新仔细检视代码,结果大吃一惊,代码结构面目全非!单元测试结果都正确,但性能陷阱不处不在。尝试重构,几乎无法继续,忍无可忍,放弃。结论:1.x版本代码已死,软件生命到头了。 ... 划拨新预算,成立新2.0小组,自己领队,开始全部重写,2.0版。 原小组必须继续维护1.x版。但无法从根本解决客户遇到的性能问题,客户抱怨激增,小组成员挫败感明显。 ... 前期,2.0版进展顺利,比预想速度快一倍进入一个个“里程碑”。 ... 1.x小组长期维护1.x无成就感,挫败感和厌烦情绪上升,人员流失严重。1.x维护工作开始出现人力不足。只能从2.0组抽工时帮助维护。 2.0进程拖慢。 ... 1.x小组成员剩余成员继续抱怨二次开发很厌倦,1.x组人员几乎流失殆尽。因为客户的生产环境不能受影响,2.0组人员80%精力用来维护1.x了。 2.0版进度近乎停滞。 ... 2.0x组员开始抱怨。 ... 2.0组员开始出现不稳定情绪。 ... 下决心更改策略,直接派新人进入1.x组,将就着维护,留2.0组两位大将坚守1.x阵地,将其余2.0组成员全部撤回2.0版项目。同时派公关、销售、客服人员与客户加紧沟通,稳住客户情绪。给2.0版争取时间。 .... 2.0版项目重回正轨,项目再次高速前行,2.0组员开始稳定。 .... 留在1.x的两位大将开始出现情绪低落。加薪。增发奖金。暂时稳定。 ... 2.0版即将发布。留在1.x的两位大将同时辞职,无法挽留。 ... 2.0比预定延期1倍时间后发布。 ... 这次改变策略了,留1位2.0组大将带新人维护2.0。其余全体2.0组转新项目。 ... 目前一切看起来很好。
------------------------------------------------------------------------------------------------------------ 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2008-05-21
楼主很有点本事 不光技术上能带头 还能给手下加工资发奖金 权力不小
|
|
返回顶楼 | |
发表时间:2008-05-21
neora 写道
2.0版即将发布。留在1.x的两位大将同时辞职,无法挽留。 压力还是太大,绝望心死了…… |
|
返回顶楼 | |
发表时间:2008-05-22
恶性循环害死人啊!
|
|
返回顶楼 | |
发表时间:2008-05-22
看来楼主也是个牛人啊
|
|
返回顶楼 | |
发表时间:2008-05-23
写道 这次改变策略了,留1位2.0组大将带新人维护2.0。其余全体2.0组转新项目。
很是高明。 |
|
返回顶楼 | |
发表时间:2008-08-19
自动日志生成? 感觉楼主手上权利不小.想问问怎么规定软件版本的1.x 2.x的狂跳进
|
|
返回顶楼 | |
发表时间:2008-08-20
ms是个意念中的实验
真实情况如此的话 太可怕了。。。 |
|
返回顶楼 | |
发表时间:2008-08-20
整个项目历时几年啊?
1.x版本经历了使用设计模式,去掉设计模式,重构使用设计模式,性能也随之降低,提高,感觉这里的性能其实与设计模式是无关的,主要还是因为具体代码中的性能处理情况。楼主不妨讲讲具体的思维飞跃啊, 引用 解耦再次实现,性能不降反升。感觉自己的思维又向前飞跃一步。
2.0版本的开发看来走对了路子,不知道具体是采用的什么方式开发的呢? |
|
返回顶楼 | |
发表时间:2008-08-20
挺有意思的经历。
看起来没有很多人有机会经历这么长的起承转合。 一般来说,设计模式对性能的影响不大的,原理上说,就是多了创建对象、多层继承等等的开销,但对于以数据库为中心的应用来说基本可以忽略。 不过,我的经验是,有的时候设计必须考虑性能,否则的确容易出现性能问题,比如有接口methodA(Object x), 接收一个参数x,但对于一批x也循环调用这个方法很可能产生性能问题,此时增加接口methodA(Object[] xArray),以一次批量处理参数。 |
|
返回顶楼 | |
浏览 4180 次