开发一个项目需要那几个步骤
软件开发具体流程及管理制度

软件开发具体流程及管理制度在软件开发领域中,良好的流程和管理制度是确保项目成功的关键。
在本文中,我将探讨软件开发的具体流程和管理制度,以帮助您更好地理解和实践软件开发。
一、软件开发流程软件开发流程是指围绕软件产品的创建和维护以及与此相关的活动和过程。
软件开发流程可以大致分为以下几个步骤:1. 需求收集和分析为了确保软件开发的成功,必须首先定义清楚产品需求。
这个过程需要与客户沟通并收集细节。
同时,需要对需求进行分析,以确保软件能够满足客户的期望,同时确保软件产品的质量。
2. 设计软件开发团队需要设计软件,以确保它满足需求和质量标准。
在设计软件时,需要考虑诸如体系结构、软件功能、用户体验等方面的因素。
3. 编码和测试一旦设计完成,软件开发团队可以开始编写代码。
在编写代码的同时,必须进行单元测试和综合测试,以确保软件能够正常运行,并且与设计文档一致。
4. 部署和维护在完成上述步骤后,软件开发团队可以部署软件,以使其可以在实际环境中使用。
同时,团队还需要提供维护和支持,以保持软件产品的高水平性能和更新性。
二、软件开发管理制度开发既然被引入管理的范畴,那就必定需要管理制度的依据。
软件开发管理制度可以确保项目进展顺利,并最小化风险和错误。
下面是软件开发管理制度的主要方面:1. 项目计划和时间表在软件开发的早期阶段,确定项目任务和目标是至关重要的,需要谨慎考虑每个步骤的时间和资源,以确保项目按时完成。
在开始之前,必须建立详细的项目计划和时间表,并将其给客户审核、确认,才能开始项目执行。
2. 需求管理应该确保在开发流程的早期阶段开展需求管理工作。
需求管理包括需求规格、需求变更管理、需求跟踪以及直接的需求管理。
这些措施将有助于保证系统需求与客户期望相符合。
3. 性能监控在软件开发过程中,还需要对系统的性能进行监测。
性能监测可以帮助开发团队及时识别和解决性能瓶颈。
有效的性能监测通过分析硬件、软件和其他因素来对系统进行评估,同时还要建立健全的查错机制。
一个完整的IT项目开发流程

一个完整的IT项目开发流程一般情况下,企业开发软件时会按照基线和定制两块并行方式执行项目开发工作。
无论什么公司,都需要遵从一套成熟的产品研发过程体系,才能做出质量较好的产品。
因此,如果出现项目较多的情况,应该合理地安排基线和定制之前的里程碑,让基线产品能够尽量多地收集用户的通用型需求,为定制项目进度实现技术支撑,减少定制项目中大量更改代码、需要新增模块情况发生。
此外,产品研发过程体系也需要按照业务实际时间要求变化,不要拘泥于一定要按照瀑布方式,或是敏捷方式进行管理,凡事都需要找到契合自己的方式。
【这里以一个基线产品开发过程作为流程解释基础,需要注意的是,以下说描述的各个阶段,在项目执行前要明确各个阶段的目标、指定计划、及时沟通,并确保各个时期所有成员对项目理解一致】软件开发流程步骤:项目启动、需求分析、概要设计、详细设计、编码、测试、软件交付、验收、维护。
项目启动会项目启动会的目标是明确该产品开发项目的目标。
目标不是孤立存在的,目标与计划相辅相成,目标指导计划,计划的有效性影响着目标的达成。
所以在执行目标的时候,考虑清楚自己的行动计划,怎么做才能更有效地完成目标,是每个人都要详情清楚的问题,否则,目标越是不清晰或是过高,都会影响项目的实际结果。
项目启动会需要说明项目目标、阶段划分、组织结构、管理流程等关键事项,并将这些内容写入PPT(最好是有固定格式和范文,让团队内部或者公司内部共同遵守规范),需要大家达成一致。
对于关键角色任命,事前也需要听取相关领导和项目主要干系人的意见。
用户需求软件开始开发前需要确定代价和所获得价值的对比,也就是ROI(Return On investment),一旦确定需要创建,就需要安排一系列的资源来支撑这个软件的生存。
这是需求的最原始描述。
为什么既要有用户需求,也要有产品需求?因为两者是有差异的,用户需求由用户提出,对技术一般不描述,只描述产品目标。
产品需求是根据用户需求转化而来的技术实现需求,需要针对用户提出的产品目标进行细分,总结出具体的每一个功能点,再针对每一个功能点细分为各种不同的操作流程,对每一个操作流程进行技术化定义。
建设项目开发流程8个步骤

建设项目开发流程8个步骤建设项目开发就像一场奇妙的冒险之旅呢,这里面有8个超重要的步骤哦。
第一个步骤是项目构思。
这就像是你脑袋里突然冒出来的一个超酷的点子。
比如说,你想建一个超级有特色的主题乐园,里面有各种奇幻的设施。
这个构思可能来自你对生活的热爱,或者是你发现大家都很渴望有这样一个好玩的地方。
这时候的想法可能还很模糊,但它就像一颗种子,有着无限的可能性。
接下来就是可行性研究啦。
这就好比是给你的点子做一个全身检查。
要看看这个项目在经济上是不是可行,会不会赚大钱或者至少不亏本呢。
还要考虑技术方面,像主题乐园的那些刺激的游乐设施,有没有技术能把它们造出来。
还有环境方面,不能破坏周围的环境呀。
这一步就像是在给项目找一个合理的出生证明。
然后是规划设计。
这可是把你的点子变成具体模样的时候。
主题乐园的话,设计师们就要开始设计每个区域的布局啦,从入口到各个游乐设施的摆放,再到休息区、餐饮区的位置。
就像在画一幅超级大的画,每一笔都很关键。
第四步是获取土地。
这就像是给你的项目找一个安身之所。
要是建主题乐园,就得找一块面积够大、交通方便的土地。
这时候可能要和很多人打交道,和土地所有者谈价格,还要通过各种审批,确保这块地可以用来做你的项目。
再然后就是项目融资。
这就像给项目找个“大金主”。
毕竟建设主题乐园要花好多好多钱呢。
可以找银行贷款,也可以找投资者来一起合作。
这一步就像是给项目注入活力的血液,没有钱可啥都干不了。
第六个步骤是项目许可。
这是要得到各种官方的许可啦。
主题乐园要建起来,得符合安全标准、消防规定等等好多要求。
这就像是在给项目办各种证件,只有证件齐全了,才能合法地进行建设。
接着就是项目建设。
这是把图纸变成现实的时候。
工人们开始热火朝天地干活,主题乐园的各种设施一点点地建起来。
看着它从一片空地变成有模有样的乐园,那感觉超有成就感。
最后就是项目运营啦。
主题乐园终于开业啦,要吸引游客,提供优质的服务。
这就像是把一个精心打扮好的孩子推到众人面前,希望大家都喜欢它呢。
施工项目开发流程8个步骤

施工项目开发流程8个步骤一、项目构思。
这就像是给施工项目画个大饼,先在脑海里有个想法。
比如说,想盖个超级酷的大楼,或者是打造一个超美的花园小区。
这个时候呀,就像做梦一样,天马行空的。
可以根据市场需求,像大家都想要住那种温馨又宽敞的房子,那就构思一个这样的住宅项目。
也可以根据自己的创意,想着要是有个房子像童话里的城堡就好了,然后就朝着这个方向去构思。
二、市场调研。
这一步可不能少呢。
就像找对象得先了解人家喜好一样。
得看看市场上对咱们想做的这个项目反应咋样。
去问问周围的人想住啥样的房子,或者企业需要啥样的办公场地。
看看竞争对手都在干啥,要是人家都在盖高层住宅,咱是不是可以搞点特色,像那种带大院子的多层住宅呢?这一步就像当侦探,到处搜集情报。
三、可行性研究。
这个步骤就是给咱们的梦想项目泼点冷水,看看它到底能不能行得通。
算算账,看看钱够不够,从买地到盖好房子得花多少钱,能不能赚回来。
还有技术上的问题,要是想在海边盖房子,那得考虑海水侵蚀这些技术难题能不能解决。
要是这些问题都能解决,那这个项目就像个有潜力的小种子,可以继续培育啦。
四、项目规划。
这就像是给项目画个地图,从哪开始干,先干啥后干啥。
比如说先打地基,再盖楼,然后做内部装修。
规划一下每个阶段要多久,像盖一层楼预计一个星期,那总共多少层楼就能算出个大概时间啦。
还要规划好每个部分的预算,可不能到时候钱花超了。
五、设计方案。
这个时候就像给项目穿上漂亮衣服。
找设计师设计出房子的样子,是欧式风格的还是中式古典的。
设计房子内部的布局,卧室多大,客厅怎么采光。
还有小区的景观设计,是要有个大喷泉还是种满樱花树的小道。
这一步就像给项目注入灵魂,让它从一个概念变成看得见摸得着的样子。
六、招投标。
这就像是一场大选秀。
施工单位、材料供应商都来竞争。
就像一群小蜜蜂抢着采蜜一样。
我们可以挑选出性价比最高的施工队伍,还有质量好又便宜的材料供应商。
这个过程可有趣啦,大家都拿出自己的看家本领,我们就像评委一样挑挑拣拣。
开发项目流程

开发项目流程
接下来是项目的设计阶段。
在这一阶段,需要进行系统架构设计、数据库设计、界面设计等工作。
设计阶段的质量将直接影响到
项目后续的开发和实施工作,因此需要高度重视。
在设计阶段,需
要充分考虑项目的可扩展性、稳定性和安全性,确保设计方案的合
理性和完整性。
完成设计后,就进入了项目的开发阶段。
在开发阶段,需要根
据设计方案进行编码、测试和调试工作。
开发人员需要严格按照设
计方案进行开发工作,确保代码的质量和稳定性。
同时,测试人员
需要进行全面的测试工作,发现并修复代码中的bug和漏洞,确保
项目的稳定性和安全性。
项目开发完成后,就需要进行项目的实施和部署工作。
在实施
和部署阶段,需要对项目进行全面的测试和验证,确保项目能够正
常运行。
同时,需要进行培训工作,确保相关人员能够熟练操作和
维护项目。
最后,是项目的运维和优化阶段。
在项目运维和优化阶段,需
要对项目进行定期的维护和优化工作,确保项目能够持续稳定运行。
同时,需要不断收集用户反馈,对项目进行优化和改进,提升项目的用户体验和性能。
总的来说,开发项目流程包括项目目标和范围的明确、项目规划、项目设计、项目开发、项目实施和部署、项目运维和优化等多个阶段。
每个阶段都非常重要,需要充分重视和严格把控,才能确保项目的顺利实施和成功运行。
软件开发流程及各阶段输出的文档

软件开发流程纲要及各个阶段产生的文档1需求调研与分析当我们做一个项目时,可能客户口头告诉你他想要做一个什么东西,或者给了你一些文档告诉你这就是需求。
就根据几句口头讲述,或者一些文档,很难知道到底具体需要做什么。
这时候就要对需求进行挖掘,以得到功能列表,或者用例图。
这时候交流是非常重要的。
通过不断的与客户进行交流,将用例详细化,也不必要追求完整的功能或者用例。
通过一次次的交流,不断将功能列表完善。
需求分析步骤是需求的获取,用户需求分析,用户确认,软件需求分析,需求评审。
评审之后就开始系统设计。
形成文档为:双方认可的功能列表或者用例图,软件需求说明书等2系统设计(面向对象软件开发过程)当已经知道需要开发什么样的功能,把功能按照互相关系进行划分类别,划分类别时遵循面向对象的设计原则.,根据这些功能点进行类的设计,把用例中名词和最终系统中的实体类进行映射,动词和函数进行映射。
当然这种映射没有一一的对应关系,这期间还要与用户进行沟通,不断完善需求,需要根据具体情况进行增加或是删除,修改。
最终把这些类和函数组成类图.系统设计步骤是系统总体设计,系统架构规划,定义系统边界,划分系统模块 ,类详细设计,实现函数设计,界面实现设计,数据库设计,对设计进行评审等.形成文档是界面设计说明书,软件设计说明书,数据库设计说明书,技术方案选型说明书,这其中软件的设计文档可以采用UML图的子集分别从静态和动态的角度来描述软件.不要求面面俱到,假设设计中不需要数据库的参与,那就不需要数据库的设计.3实现要根据编程人员水平,和编程效率,对任务进行划分.编写代码要按照约定的规范. 保持简洁,高效,可读,可维护,可扩展,能够重用.实现步骤是定义编码规范和编码工作准则,建立开发环境,编码和执行单元测试,制定集成和部署计划定义,对代码进行评审等.形成文档是单元测试报告,提交代码和单元测试脚本4测试测试时依据的是软件的需求,按照需求进行计划的编写,根据功能点用例的设计等从功能性、安全性、可靠性、兼容性、可扩充性、资源占用率、易用性、文档和质量特性等方面对软件进行测试。
项目开发—项目开发流程8个步骤

项⽬开发—项⽬开发流程8个步骤以下是项⽬开发流程的⼋个步骤:1、项⽬开发⽬的分析与确定软件开发流程的这⼀阶段,主要是在软件开发商将开发项⽬确定下来之后,需要与需求⽅进⾏讨论,确定需求⽅对于软件开发需要实现的⽬标及其具体需要的功能等等,并确定是否可达成。
2、需求分析这是软件开发流程的第⼆个阶段,也是为软件开发的正常进⾏确定具体思路的阶段。
在确定软件开发可进⾏后,必须要对客户需要实现的软件功能需求进⾏具体详细的分析。
同时应当考虑在开发过程中可能出现的变化情况,制定需求变更计划随时应对特殊情况的发⽣,保证软件开发流程的顺畅进⾏。
3、设计软件设计要根据上⼀阶段对软件功能需求分析的结果,来设计软件系统的框架结构、功能模块和数据库等等。
分为总体设计和详细设计两个部分,4、编程软件开发流程中每上⼀个阶段都是下⼀个阶段的实施进⾏的基础。
编程也是根据对软件设计,将软件设计的各部分需求通计算机程序代码来实现运⾏,编程有统⼀、规范的程序编写规则,保证软件程序的易懂性、易维护性。
5、软件测试在根据设计将客户软件需⽤编程代码来实现之后,也就是软件程序完成之后,需要对编写的程序,形成整体构架、功能进⾏单元、组装、系统三阶段的测试,以测试程序编写的正确性,以及对客户需求功能满⾜的充分性,以此来确定软件是否达到开发要求,同时也是⼀个发现问题、纠正问题的过程。
6、软件交付软件开发流程通过以上核⼼环节完成了软件开发,接下来就是在软件开发达到客户需求之后,开发者将软件系统交予客户,并将软件安装程序、数据库的数据字典、《⽤户安装⼿册》、《⽤户使⽤指南》、需求报告、设计报告、测试报告等产物交付给客户;同时指导客户进⾏软件安装、以及安装技巧,提醒客户注意软件运⾏状况、环境、服务器及相关中间件的检测与注意事项,知道客户软件的实际操作⽅法、使⽤流程等等问题,实现合同规定任务。
7、验收⽤户在接收开发商交付的软件开发结果,并进⾏实际操作、测试运⾏,实现满意结果之后,对开发出来的软件进⾏验收。
项目管理九大知识领域五个过程

项目管理九大知识领域五个过程项目管理是在项目活动中运用知识、技能、工具和技术来实现项目要求。
那么你对项目管理了解多少呢?以下是由店铺整理关于项目管理九大知识领域五个过程的内容,希望大家喜欢!项目管理九大知识领域五个过程项目管理总体有五个过程:启动过程、计划过程、实施过程、执行过程、收尾过程等,包含了九大领域的知识:范围管理、时间管理、成本管理、质量管理、风险管理、人力资源管理、沟通管理、采购管理及系统管理的方法与工具。
作为项目经理要全面掌握这些九个核心领域的知识,并重点把握系统管理的观念,避免进入某个细节,注意在五个不同阶段的重点。
一、项目管理的三个约束条件任何项目都会在范围、时间及成本三个方面受到约束,这就是项目管理的三约束。
项目管理,就是以科学的方法和工具,在范围、时间、成本三者之间寻找到一个合适的平衡点,以便项目所有干系人都尽可能的满意。
项目是一次性的,旨在产生独特的产品或服务,但不能孤立地看待和运行项目。
这要求项目经理要用系统的观念来对待项目,认清项目在更大的环境中所处的位置,这样在考虑项目范围、时间及成本时,就会有更为适当的协调原则。
1.项目的范围约束项目的范围就是规定项目的任务是什么?作为项目经理,首先必须搞清楚项目的商业利润核心,明确把握项目发起人期望通过项目获得什么样的产品或服务。
对于项目的范围约束,容易忽视项目的商业目标,而偏向技术目标,导致项目最终结果与项目干系人期望值之间的差异。
因为项目的范围可能会随着项目的进展而发生变化,从而与时间和成本等约束条件之间产生冲突,因此面对项目的范围约束,主要是根据项目的商业利润核心做好项目范围的变更管理。
既要避免无原则的变更项目的范围,也要根据时间与成本的约束,在取得项目干系人的一致意见的情况下,合理的按程序变更项目的范围。
2.项目的时间约束项目的时间约束就是规定项目需要多长时间完成,项目的进度应该怎样安排,项目的活动在时间上的要求,各活动在时间安排上的先后顺序。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
本人在两个中小型软件开发企业工作过几年,也做过几年的项目管理工作。
走过一些弯路也得出一些项目管理方面的体会,在此进行总结,希望能够与其他一些项目管理人员或对项目管理有兴趣的同事共同探讨一些中小型项目管理的问题及方法。
大部分中小型软件开发企业的软件项目经常遇到的一些问题可能包括:项目时间紧、项目组成员经常加班;项目需求变更频繁;项目进行过程中可能就有项目团队成员离职或调离到其他项目组;项目重复性建设问题严重,每个项目都需要从框架开始重新开发,难以重用已有项目的成果等等。
我觉得通过较好的规划和管理能够在一定程度上提高项目的成功率或者说提高项目的质量,降低开发成本,缩短项目开发时间。
我理解项目管理有两个大的划分方法一是通用的项目管理体系,也就是PMP中所说的5个项目管理过程组9个知识领域44个项目管理过程;二是具体业务领域的按项目生命期划分的各阶段的管理。
本文主要从项目生命期各阶段的管理方面进行总结。
我个人分析一个软件项目生命期大体需要经过的流程(这只是我个人的一个划分,有可能不是很全面):可行性分析、需求、设计、开发、测试、实施、维护、总结。
下面我针对每个阶段谈一下自己的体会。
一、可行性分析一般的项目都是通过外部招标的形式得到的。
对于有些公司在应标的时候对项目就要有个取舍。
如果在特殊时期为了生存可能只要不是太赔的项目都会尽量承接。
但是一般项目在承接前最好在经济、技术等方面进行可行性分析,而且这种可行性分析最好是管理者、市场、技术等人员都参与,因为市场人员一般不懂(或不通)技术,技术不懂(或不通)市场,因此只有大家在一起共同分析讨论才能够得出比较可行的结果。
可行性分析的结果一方面可以作为是否承接项目的依据,另一方面也可以作为承接项目方式或与客户谈判的依据。
比如经分析项目工作量很大,如果按标书金额开发有可能会赔,那么可以与用户探讨是否将来能有个二期的项目;另外如果用户要求的时间比较紧,可是经分析很难按标书时间完成,那么也可以和用户同共探讨是否可以在正式签定合同时延长系统交付时间等。
当然这些与用户的探讨工作一般是需要公司高层领导出面协调的,有时单独靠项目组是没有能力达成理想的结果的。
另外在此阶段最好对项目的成本和需要的资源进行一下估算。
二、需求需求实际要细分为需求调研、需求分析、需求确认、需求管理等。
因为对于需求要想说清楚可能需要较长的篇幅,所以在此不进行展开。
在此只是先强调一下需要相当重要,如果早期需求做的不够仔细会给项目的后期工作带来很多的隐患。
而且我建议每个项目无论多大也无论项目时间要求多紧急一定要有一个比较详细的需求文档。
在需求比较确定之后建议再对项目成本进行估算。
同时对需要的资源及相关里程碑进行说明。
三、设计对于大部分中小型项目因为时间和人力的问题加上需求变更比较频繁,所以有时很难书写一个比较详细的设计文档。
但是如果没有设计文档一是为后期维护可能会带来一些问题,尤其是当原来开发人员或主力开发人员离职或调离到其他项目组时;另外没有经过详细设计的项目可能也会存在一些风险。
因此建议不必为了文档而文档,除了项目验收的要求外,建议设计文档根据项目特点有选择地包括以下一些内容的说明:系统网络情况。
系统安全策略及备份策略。
系统相关软硬件环境说明。
与其他系统的关系。
主要库表及关键字段说明。
系统中关键数据关联关系说明。
关键字段校验规则。
项目中技术的论证及名种技术的结合方法。
系统关键技术说明。
一些技术使用过程中的注意点。
异常处理机制。
事物处理机制。
日志记录方法及原则。
框架中相关命名说明。
共通功能描述及调用方法。
核心算法。
系统性能解决方案。
并发的考虑及处理。
系统用户及角色权限设计说明。
系统的关键配置说明(如数据库服务器,应用服务器等等,如有必要可另加附件进行说明)。
个人认为对于中小型项目如果不是用户要求有时不必在设计文档中对所有数据库表及字段都进行说明,可以只说明比较重要的一些数据库表及字段以及相关数据库的关联关系就可。
因为在用数据库建模软件(如Powerdesigner)进行数据库设计的时候可以对每个表及每个字段加注释进行说明,在使用开发工具(如:pl/sql)进行开发的时候自然可以看到每个数据库表或字段的说明。
而且一般中小型项目在开发的过程中可能需要经常性地修改数据库表的设计,如果还有文档描述数据库的设计那么每次修改时除了修改数据库之外还要维护设计文档的一致性,如果项目忙忘记了修改就会导致文档和数据库的不一致,有时这种不一致的文档可能还不如没有,因为它可能会误导其他人员的理解。
另外也可以通过开发过程的规范来减少设计文档的内容。
这个将在下面的开发环节进行详细的说明。
四、开发整个项目有一个合理的框架是很重要的。
框架具体包括哪些内容在此很难解释清楚,但是我想最起码整个框架应该把项目所采用的各种技术(如java中的Hibernate、Struts、Spring的结合)比较合理地组织起来,并为具体模块的开发提供一些工具类等,同时整个框架应该具有较好的可扩展性、可维护性和较好的性能。
框架最好由项目组中技术最强的人(在此称他为技术负责人)进行搭建及维护。
另外对于整个项目有一个统一的命名规范(类和方法按什么方式命名,所有文档都加上时间作者等)并进行遵守是很必要的,这样一个人开发的代码其他人很容易就能够读懂。
在整个项目进行全面开发前最好先向项目组全体成员讲解需求及项目框架的机制、使用方式及注意事项,再说明相关规范。
然后每一个开发人员按照理解开发一个简单的功能。
然后大家再一起(或者由技术负责人)看一下每个人对于框架的使用是否合理,规范理解的是否有误,编码习惯是否需要改正等等。
在讨论并达成共识后再进行具体功能的开发。
另在具体的开发过程中尽量在关键算法处加一些注释进行说明。
建议定期进行一些代码走查的工作。
尽量由技术负责人负责这份工作,当然也可以进行互相检查等。
代码走查的好处很多,如可发现一些不好的编码习惯;提高整个系统代码的可读性;发现一些bug;借鉴别人好的编码思路或技术等。
五、测试有些公司有独立的测试或质量保证部门,有的公司只是由开发人员自己完成测试工作。
在此假设公司有一个独立的测试部门进行系统的测试工作。
首先开发人员一定要养成单元测试的习惯。
对自己开发模块的功能进行单元测试过之后再提交测试组进行结合测试、系统测试甚至性能测试。
单元测试很重要,在进行单元测试的时候如果条件允许可以使用junit等一些工具,或其他一些代码覆盖率工具帮助分析测试用例的覆盖程度。
另外在此再提一点,一般项目可能是整体开发完之后才进行性能测试,可是这时测试出性能问题了却因为临近上线或试运行时期,不一定有充足的时间进行修改,另外也可能因为整个项目已经都使用了某种影响性能的技术或方法,要想改变要付出很大的代价。
所以建议如果条件允许可以在开发的过程中(甚至搭建项目框架时)使用一些轻量级的开源性能测试工具由开发人员对可能影响性能的功能进行测试。
对于测试部门的测试人员要尽早地参与到项目中来,建议在需求阶段就介入。
早介入的好处一是可以对需求理解的比较深入,知道原始需求是怎么来的,中间经过哪些变化,这样会比在开发结束后一次性地讲解能够更好地把握需求,更好地书写测试用例及测试计划。
另外有些人也比较推荐在需求的时候就开始书写测试计划和测试用例,因为我之前项目的特点我没有这样试过。
项目组设计人员一定要把一些关键测试点、数据及功能的关联关系对测试人员说清楚。
测试过程中有一个bug管理系统并对bug进行跟踪是很必要的,在此就不展开说明了。
另外在补充一点,最好是在项目结束后能对产生的所有bug进行一下分类。
然后通过分析得出一些规律。
通过在以后项目中采取一些措施进行项目质量的提高。
六、实施对于涉及多个子系统的长期开发项目,在系统设计和开发过程中要优化处理关联性强的系统,同时有一个(或几个)系统成熟了就试运行或上线,不必等所有系统都好了再上线。
一是因为时间长了开发人员可能调离至其它岗位,维护代价会增大;二是子系统用户可能会改变而导致需求变更;三是时间长了用户对系统需求会有陌生感,也可能会产生新的需求;四是时间长会给打消用户对使用系统的积极性;五是较早地让用户看到系统也可以减轻因双方理解偏差而导致的系统需求变更的影响。
七、维护争取把用户的提过的所有修改都进行记录,并争取所有修改都请用户签字(不一定提一个修改就签字一次,可以统一记录然后定期把一段时间内的修改进行签字确认),如果做不到所有修改都签字也尽量做到对于重大修改请用户签字。
签字的好处很多:让用户看到项目组所做的工作;如果修改的内容比较多可以通过双方高层领导的沟通再新进行系统二期或三期的开发;有了签字有时用户对需求变更会相对少一些等等。
另外对于所有修改除了签字留档外争取定期把所有修改的内容再整理到需求文档中,保持需求文档与正式环境功能的一致性。
这个工作很有必要,可能带来以下一些好处:方便测试人员在回归测试时理解系统功能;如果维护人员的调离其他接手人员比较方便理解系统功能等。
八、总结在此不对项目验收进行单独的说明。
只是说一下项目结束(有些项目可能要持续进行维护,在此主要指系统已经上线并稳定运行)后要进行的总结工作。
建议每个项目结束后都召开一个项目总结会。
项目总结会建议与项目相关的所有人都参加。
由项目经理进行主要总结,但每个参与人员最好也都进行总结。
可以从管理和技术两大方面对项目中的每个阶段的成功与失败进行总结,目的是总结经验教训,提高每个人的项目经验,提高项目组的成熟度,使以后的项目更加成功。
在此要强调一下,一般项目总结时大家都喜欢只说成功的,而很少提到失败的或所走的一些弯路,而往往对这些失败的总结更能使大家收获更多,当然这也要看组织的文化,我建议如果可能尽量鼓励大家多总结一些失败的经验教训。
另外项目结束后如果有时间最好是把项目中的一些有重用价值的文档放到公司的组织过程资产库中。
如果项目的框架比较合理也可以剔除项目中的业务相关功能的代码,整理出项目框架并加以简要说明文档供本项目组其他项目或其他项目组使用。
九、项目经理职责分析对于中小型规模的项目,项目经理可能既要充当管理人员的角色又要充当开发甚至实施人员的角色,基本上软件项目生命期的每个阶段都要参与。
但是我觉得以下一些工作(其实远不只下面所列)项目经理一定要重视:项目整体需求的把握。
项目框架的把握。
项目团队的建设。
与其他职能部门的协调工作。
项目例会。
客户关系维护。
定期向项目相关人员汇报进度。
总之项目经理要对项目的成败负责,要对项目成员的发展负责,要对客户负责,还要对公司负责,所以项目经理一定要有责任心、要有全局观。
最后是关于本文的几点说明:本文主要从宏观上对软件项目生命期的每个阶段可能遇到的问题及相关解决的想法进行探讨。
因此本文写的有点杂,而且对许多内容只是点到,并未展开,如果可行可能在后续的文章中单独对某些阶段(如:需求、开发)或某些工作(项目团队建设、技术交流、员工职业生涯规划等)再进行展开论述。