分享
 
 
 

软件开发的项目管理

王朝other·作者佚名  2006-01-09
窄屏简体版  字體: |||超大  

一. 软件开发的种类

1.软件产品 (software products)

1.1 大多为横向型市场 (horizontal market)而开发。使用者多为个人, 且数目任意,能力不齐

1.2 提供的功能(features and functionalities)大多为解决某个具体应用问题或需要

1.3 功能需求 (requirement)来自开发商的市场开发和销售队伍(marketing & sales), 或使用者对 前一代产品的回馈

1.4 例子: 办公用软件、单功能应用软件、游戏、等等

2. 软件系统 (software systems)

2.1 大多为纵向型市场 (vertical market)而开发: 使用者为专门的客户的内部员工及部门团队, 数目有限, 事先可知, 且能力可专门培训

2.2 提供的功能大多为解决客户一连串具体的商业业务或运作问题或满足客户对外服务需要

2.3 功能需求来自客户提出的具体要求和客户业务的运作特性: 它已有的系统, 流程的局限性

2.4 例子: 商业业务软件系统, 自动控制系统, 等

二. 编写程序之前必须进行的工作

l 了解和确证客户的使用方案(User Scenario)

l 总结详细的功能需求并与用户审核确证

l 功能设计通过完整的设计规范书(Design Specification)来表达

l 以设计规范书为基础制定构架设计(Architecture)、开发方案(Implementation Plan)

l 事先制定测试计划和软件合格的检验准则 (Exit Criteria)

三. 开发项目的计划和管理采取来自开发团队的、从下而上的时间表的估算,避免人为的不合理猜测

l 开发时间表的制定以具体的功能开发任务,并且以几天为衡量单位

l 整个开发过程以间断性的里程碑来追踪

l 进行周期性的进度审核,作必要的调整

l 对 “功能蔓延” (Feature Creep)严格控制和管理

四 . 开发管理

4.1写任何程序前一定要先有设计构划书

4.2任何复杂的系统程序要先有构架设计书

4.2.1 对系统组件有明确的功能定义.

4.2.2 对组件的接口的设计事先有完整的纪录.

4.2.3 构架设计书由构架设计师或开发工程师的领导人员来撰写.

4.2.4 构架设计书要通过项目经理和测试人员在内的审核及通过, 才能开始编写程序.

4.3 建立程序原代码的提交库,并建立完整的原代码的提交的流程管理制度

4.3.1原代码只允许一人改动. 改动前先要从提交库申请出原代码. 改动后再送进提交库.

4.3.2改动完先要在开发工程师的机器上编译, 与其它组件一起运行过, 确证没有致命的缺陷后,才能送进原代码的提交库.

4.3.4在产品发行前, 整个提交库都被锁上, 只有被批准的缺陷修补的原代码才能提交进库.

4.4 建立原代码互审的管理制度

每个软件开发工程师遍写的原代码都有致少一个以上的同事对程序进行审查.

4.5 建立原代码编写的规范

每个软件开发工程师都应按照规范进行程序设计, 包括编写的风格, 格式, 组件接口的规范, 解说词的撰写, 等等.

五 测试管理根据设计构划书撰写测试计划

5.1.1 测试计划要请项目经理和开发工程师一起进行审查.

5.1.2 测试计划用列表式将所有的测试方案写下.

5.1.3 每个具体地的测试方案都有专人执行,并记录每个测试方案的结果. 任何缺陷都记录下来.

5.2测试与开发同步进行

在部分组件编写完后就进行开发测试工具.

5.3 测试计划执行中的注意事项

5.3.1 由测试员发现的缺陷分给开发工程师修改纠错.

5.3.2 修改完毕由测试员先进行初步质量验证 (Smoke Test), 通过后才能由开发工程师送进原代码的提交库.

5.3.4 每次任何影响到其它组件的程序纠错改动, 不仅是经过改动的程序要重新测试, 任何可能受到影响的其它组件或程序也必须重测 (Regression Test).

5.3.5发行前要进行全程测试 (Full Test Pass).

5.4 测试的内容:1.确定测试的优先级别 2。函数模块 3。功能模块

5.5 测试的结果:1.bug的数量(平均每50行就有一个)2.代码的覆盖率(代码的执行路径)

5.6 测试不到的地方未知错误要进行出错处理

六 实施关键

设计在先,编码在后

没有设计规范书就不写一行编程码

所有的编码要有员工之间的互相审核

所有的编码在加入整体汇编前必须在开发工程师的机器上先汇编

“吃你自己的狗食”: 产品发行前全体团队成员要自己使用尚未完善的产品,并报告缺陷.

专门的汇编团队负责整个产品的建造并每天进行汇编。任何造成汇编失败的编程必须写此程序的工程师立即修改纠错 (Fix Bug).

整个公司所有团队使用统一的缺陷报告数据库工具. 但每个团队掌握控制自己的数据库. 任何问题都通过缺陷数据库来跟踪.

被修改后已解决的缺陷 (Fixed Bug)必须由找到缺陷的人 (通常是测试人员) 验证.被修改后已解决的缺陷还必须通过再测试,验证修改的编码没有造成新的害虫.

所有的害虫被分类成三种严重性的级别及三种修改的优先权的级别. 所有团队员工被要求必须先除级别高的害虫.

有的团队执行 “害虫监狱” (Bug Jail)制度: 害虫数字超过 5 个以上的开发工程师在除完害虫前不准编新的功能的编码.

所有关键性的害虫在产品发行前都要由“三国会议” (Triage Meeting – PM, Dev, QA) 讨论决定是否要除, 才能改动。

产品发行前团队召开定时的“战前会议” (War Meeting), 由团队各领导成员审核所有的害虫.

每次一项功能编程完成后, 团队全体成员进行 “抓虫大扫除” (Bug Bash):每人在规定的时间内使用新的功能,将找到的害虫及时报告. 大扫除结束后抓虫的统计向全队报告.

本文是我参加teched2003 栾跃老师的软件项目管理后整理所得

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有