您的位置:首页 > 其它

DELL项目工作整理

2006-04-16 20:21 316 查看
大家好,今天来这里做一个DELL公司内部的软件开发流程简介。DELL不是一家专业的软件开发公司,它的软件开发流程还远不完善,但在一些流程控制上也有它的优势,今天来这里和大家做一个分享,也希望能得到大家的一些建议。今天这里有一些CMM3和CMM4公司的开发人员,希望你们也能给点建议。

DELL的软件开发项目,遵循的是Microsoft的另一套MSF (Microsoft Solutions Framework) 开发流程。

项目开发分为五个阶段:1. Chatting (预讨论), 2.Envisioning (想象), 3.Planing (计划), 4.Developing (开发), 4.Stabilizing (稳定)。在每一个阶段都有不同的角色协同工作。

1. Chatting (预讨论) (项目经理,BA业务分析人员,用户)

项目前期分析,主要内容就是业务分析。项目经理和用户开会,第一,分析用户想做什么?第二,用户的想法可不可行?值不值得做?如果值得做,预算要做多少?分析的工具是:CBA (cost benefit analysis) 成本收益分析 ,它的结果是ROI (return of investment) 投入产出比 。一般情况下,用户提供benefit(收益)分析结果,IT评估项目的cost(成本)。公司目前的立项标准是ROI10比1。我从项目经理那得到的数据是,大致1/3的项目可以继续往下走。

里程碑:立项。(项目得到用户部门经理和IT部门经理的批准,项目进入项目列表)

2. Envisioning. (想象)(项目经理,业务分析人员,用户,开发组)

项目的范围界定。描绘项目的范围和关键功能点,使项目有个可视的轮廓。这时候,项目经理会收集各个小组的建议。例如,和开发组沟通大致的开发时间,向服务器组征询服务器的类型和配置,向DBA征询数据库的类型和配置等等。

里程碑:批准的VSD(vision scope definition)

3. Planning。(项目经理,BA, 开发组,测试组,支持组)

制定详细的项目计划。确定项目的三要素“时间”,“资源”和“范围”。再加上风险管理。

1。对于项目经理来说,最重要是向老板要resource(资源)。当然还要确定项目开发的确切时间。

2。对于业务分析人员来说,需要明确详细的业务需求。这时候会画出系统流程图和用户界面草图,再加上每一项功能的业务描述等等。这些都包括在SRS(system requirement specification)中。

2。对于开发组来说,最重要是制定了开发计划,瓜分用例(把每一个功能点分配给开发人员)。定制每个开发人员的开发进度表,code review计划。

3。对于开发组来说,还需要定义风险管理计划和措施。这里的风险,特指技术难点。技术难点需要先做prototype,risk太高的需要舍弃一些功能。(FMEA, failure model effect analysis)因为“任何可能出错的地方都会出错。”

4。测试组根据SRS定制测试计划。

5。项目计划获得用户,项目经理,开发经理和测试经理的同意。

里程碑:批准的SRS(system requirement specification)

4. Developing。(项目经理,开发组,用户,服务器组,数据库管理员)

设计阶段

1。开发组:软件建模。定义系统的架构(逻辑、物理),域建模,用例分析,对每个用例的序列图分析,对象建模。重新评估项目的复杂度。在这个阶段,可适当调整项目计划。

2。服务器组:安装测试服务器,安装开发相关软件。如IIS,BIG IP, IBM Message Queue等等。

3。DBA:安装配置开发数据库。配置用户账号:一般情况下分为两个账号。app帐号为正式环境下运行的受限帐号。admin帐号为可建立数据库对象的特权帐号。

4。项目经理:协调各团队的工作,检查各项工作进度。

里程碑:批准的设计文档SDS(system design specification)。

编码阶段:把设计转换成代码,根据实际问题适当调整并同步设计,code review和审核进度。

里程碑:代码通过单元测试,代码和文档都check in版本管理器。

测试阶段

1。SIT内部测试,根据用例描述测试每一个场景,分析内存泄漏,优化系统性能,提交数据库性能execution plan执行计划给DBA review。对系统进行压力测试(必要情况下提交到马来西亚的压力测试组进行测试)。

里程碑:完成内部测试报告和得到DBA的上线批准。

2。UAT(user acceptable testing)用户测试。用户根据用例描述测试每一个场景,反馈系统bug和issue。开发人员修正bug并基于issue对系统影响和对业务影响进行判断,适当的修正系统或记录业务需求,根据业务优先等级,集成进以后的演进阶段。

里程碑:UAT Sign off。用户签收当前系统功能。

部署

项目经理整理文档(Design document, SIT test report, UAT sign off, System downtime approval, server check list, DB checklist. implementation plan. back out plan(data & program)),向change committee(一个专门控制系统更新的委员会)提交新系统上线请求。如果change committee批准请求。

开发组在指定的时间里向production(生产)计算机部署系统,生成数据库部署脚本,提交给DBA。

DBA运行部署脚本,反馈结果。

5. Stabilizing。(项目经理,开发组,支持组)

系统稳定期。开发组 记录和反馈系统BUG,向支持组移交程序和文档等等。

Bug修正:为了减少对生产的影响,在生产环境下的任何bug修正都需要change committee的批准。Change committee只有周二和周四下午接受修改请求,紧急情况下需要部门经理特别批准。对开发组而言,bug修正是一件非常痛苦的事情,这样在一定程度上也提高了软件质量。

里程碑:Support Team Sign off。

角色:User,Project team 项目经理, BA 业务分析人员, Server team 服务器组, DBA 数据库管理员, Develop team 开发组, Support team 支持组。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: