This is a wonderful world

去自己想去的地方,呼吸那里的空气,贴近那里的土地,认识那里的人们......

导航

DELL项目工作整理

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

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(成本)。公司目前的立项标准是ROI101。我从项目经理那得到的数据是,大致1/3的项目可以继续往下走。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

设计阶段

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

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

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

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

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

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

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

测试阶段

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

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

    2UATuser acceptable testing)用户测试。用户根据用例描述测试每一个场景,反馈系统bugissue。开发人员修正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 

角色:UserProject team 项目经理, BA 业务分析人员, Server team 服务器组, DBA 数据库管理员, Develop team 开发组, Support team 支持组。

posted on 2006-04-16 20:21  shyuan  阅读(698)  评论(3编辑  收藏  举报