软件开发项目管理流程
㈠ 软件项目管理流程是什么
从一个项目提出到结束,按照ISO9001:2000的项目管理流程,大致有如下步骤:
1、产品立项报告2、产品可行性分析报告3、初步设计
4、硬件详细设计
5、软件详细设计
6、结构详细设计
7、样机生产
生产部门根据硬件工程师提交的PCB和物料清单,结构工程师提交的《结构详细设计》,生产PCB和机箱,并组装成样机;样机数量至少在4台以上;2台提交给软件工程师;2台提交给硬件工程师;
8、软件自测
软件工程师编制代码后,按照《测试大纲》,自测通过后,提交给测试工程师进行可靠性测试。
9、《测试大纲》和测试
测试大纲的内容包括:
1、功能性测试:对产品的每一项功能逐条进行测试;
2、可靠性测试:对产品进行长时间运行、模拟现场情况进行测试;对于出口产品,需要进行EMC、EMI测试。
测试大纲的要求:
1、尽可能模拟现场的情况;
2、尽可能穷举所有的可能发生的情况;
3、做好真实记录;列出不合格项。尽量详细,以便研发人员定位,是软件还是硬件故障。
由测试负责人,按照《测试大纲》的要求,对样机进行测试;
10、形成生产文件
测试通过后,以上各个部门根据需要形成生产文件,汇总到项目经理;按照公司的管理流程,经审核后由公司下发到生产部门,进行小批量试生产;转贴于:中国项目管理资源网
生产文件包括:
1、PCB布局图(硬件详细设计负责人提供)
2、物料清单BOM (Bill of Material)(硬件详细设计负责人提供)
3、PCB焊接注意事项(硬件详细设计负责人提供)
4、结构详细设计(结构详细设计负责人提供)
5、(此处原文中没有内容)。
6、附件清单(生产负责人编制)
7、生产工艺(生产负责人编制)等文件
生产文件编写要做到,能认字、无色盲的普通人就能按照文件把产品做出来的目标,必要时可以附录照片等。
11、文件归档
阶段性文件归档。
12、小批量试生产
在一个项目中使用该产品,并对产品的情况进行严格的检测和反馈。
13、批量生产
根据小批量试生产和使用的情况,反馈到项目经理,如果有缺陷,则对详细设计进行修改,按照以上的流程再次进行,直至设备运行完全正常。
14、文件最终归档
每做一次修改,文件需要再次归档。
由项目经理汇总,提交到公司技术主管,批准后,作为公司的受控文件。
归档文件包括:
1、产品立项报告
2、产品可行性分析报告
3、初步设计
4、硬件详细设计
5、软件详细设计
6、结构详细设计
7、测试大纲
8、生产文件
9、使用说明书等
文档的作用是:
1、留下完整的项目开发记录
2、作为奖励和惩罚的依据
3、可维护,便于对该产品进行维护
4、可升级,便于对该产品进行升级
5、可继承,不断完善细节使的后续工作量越来越小
6、可完善,不断加强细节,细节决定一切
㈡ 软件项目开发流程
标准化的App开发流程是怎样的呢?喜望软件基于十年的软件应用开发经验给大家详细讲一下我们的App标准化开发流程。
我们按工作的性质不同先把App开发分成三个阶段:售前、售中、售后,每个阶段包括了多个步骤,循序渐进,最终完成项目的开发。
一、售前
1.需求沟通
在意向客户提出有项目需求时,我们的产品经理会跟售前顾问一起跟客户进行沟通。有些客户对于自己的需求通常只是一个大方面的想法,这个时候就需要我们专业的产品经理帮他整理出项目的具体需求和功能列表清单,并帮客户分析出没有考虑到的或能否实现的需求。
2.项目可行性分析
客户自身和产品经理都需要清晰了解该项目的功能特点、用户痛点、行业需求和为用户提供的服务内容等,每一点都要做出详细的调查分析,尤其是客户痛点这块。如果开发出来的App存留很多痛点,那么就算开发成功,也没多长时间的存活时间。因为任何一个App最终的成功都是建立在用户基础之上的。
3.功能流程梳理
(1)整理架构
整理架构的过程就像是修房子打地基,产品经理会梳理产品整体功能架构,整理出核心内容,打造产品的地基,以确保客户以后可以在这个原有的基础上进行调整,更为方便、更具有扩展性。
(2)功能列表
接下来,产品经理会做出更详细的功能列表,添加每个模块的细节内容及具体功能,比如“注册”用哪种注册方式,短信验证码还是第三方注册等。这部分就像你在装修毛坯房时,首先要考虑加上门窗、水电改造等。
(3)梳理流程
产品经理会根据客户的需求梳理出产品的核心业务,会帮客户提前考虑到他们现有的流程是否可以在互联网上进行操作,例如一些传统行业转互联网的企业客户,产品经理会站在移动互联网的专业角度帮客户梳理并优化流程。
4.量身定制实施方案
当需求文档确认完毕之后,售前顾问会根据客户需求量身定制一套App开发方案和报价清单,包括项目组人员安排、时间节点安排和技术方案等,待客户确认完之后就可以开始正式签约合作了。
二、售中
1.产品设计
(1)原型设计与评审
喜望产品经理根据需求文档设计出高保真原型图,包括功能的结构性布局、各分页面的设计、界面交互逻辑的设计等。高保真原型图将需求文档转换为更直观的软件demo版本,这样即可以确认更多的细节,保证项目研发的效果,也能避免沟通不畅或沟通不到位而引发的纠纷问题。
(2)UI设计与评审
原型图设计确认好之后,UI设计师会根据产品的定位和原型图设计UI界面效果图了,相当于是在原型图的基础上加上颜色、确定产品整体风格、功能具象化处理、交互设计和排版布局等,使客户更直观的可以看到App的雏形,具有极高的还原度,能够为用户带来更高的体验度。一个完整的App需要一个吸引用户眼球的创意,这就需要产品经理和UI设计师在创意策划上有着独到的见解。
(3)需求详细讲解
产品经理会跟项目经理对接需求和原型图UI图,讲解客户的详细需求、功能板块、跳转页面等,项目经理需要细化需求,将这些需求和图片翻译成工程师们能更好理解的语言。接着,项目组会搭配着原型图UI图来召开技术会议,统一进行项目需求讲解。
(4)技术标准制定
项目经理在了解清楚整个项目的需求后提供易扩展、可持续迭代的技术框架方案,比如是原生开发还是混合开发、用Java还是PHP、还有第三方选型等。
2.敏捷开发
(1)迭代开发计划
在正式进入项目开发之前,项目组会对项目本身进行评估,对研发周期、提测时间、预发布时间点进行初步的判断。接着对项目功能进行分解,把项目需求划分成4-5个节点,比如1号-9号做第一个功能模块,10号-15号做第二个功能模块……项目组把迭代开发计划发给客户确认后,就开始按着这个计划做节点研发了。
(2)节点研发
按照需求分析整理出来的功能数据处理情况,项目组会建立合理的数据库表结构,优化数据算法,提升数据的处理效率,保证后期App使用过程中数据的安全性、准确性、稳定性和及时性。
一个完整的App项目一般包含以下几个模块:
①服务器端:编写接口协议文档,服务器环境架设(国内一般都是用阿里云服务器,国外一般用亚马逊),设计数据库和编写API接口,业务功能实现及接口封装、管理后台的开发。
②App端:根据UI设计图进行界面开发,UI开发完成后对接服务器接口,通过服务端接口获取数据,编写功能上的逻辑代码。
③Web管理端:根据前端的业务逻辑,后台会有相应的功能与之匹配,同样需要编写功能上的逻辑代码。
在项目研发阶段,项目经理进行技术攻关,流程助理同时跟踪进度,项目组也会每周向客户进行开发进度汇报,并协助客户申请软著。
(3)单元测试
以前的开发流程就是工程师从头写到尾,把App功能全部开发完成后再进行系统测试,这样就很容易出现以下几个问题:修改了一处bug却在另一处地方引发了新的bug、扩展新功能的同时导致旧代码出现bug等等,这个时候就需要引入单元测试。
单元测试简单来说就是工程师做一个节点研发,测试工程师就测试一个节点,这样就能够清晰的知道是否破坏了老的业务逻辑,容易排除掉一些非常低级的错误,大大减少回归出错的可能性和调试的时间,提高代码质量。
(4)系统测试
App功能开发完成之后,测试人员会对整个项目进行系统性测试。而完成项目测试调试最重要的环节是问题的管理,追踪各个bug的进度以及状态,包括指派给谁、优先级、修复状态等,以便有质量地完成问题的处理。
产品面向的平台多机型同步测试,包括:App内容测试、App性能测试、App功能测试、App视觉测试,对BUG调试修复。测试合格,确认没有bug后与客户进行沟通,开始验收,再由客户进行测试,提出修改意见。
3.上线交付
(1)用户体验测试
喜望在2018年新设了一个“创新性人才岗位”——用户体验官,这是移动互联网行业首创的“从功能试错服务到运营实践服务”。
用户体验官的工作就是用户体验测试,从用户体验、产品、易用性、颜值、App设计还原度等多个维度进行体验性测试,并通过后台上传真实的前期种子数据,让整个App的内容很丰满,互动性强。用户体验测试是从项目本身的用户群体和运营逻辑来帮助客户打造好整个App的调性。
(2)部署上线
在代码开发和测试完成后,就进入了后期上线的阶段。
①部署正式服务器:将数据库、后台系统部署到正式的服务器上面,并录入正式的上线数据到app系统后台。
②准备上架相关的资料:如软件著作权、应用说明、App界面截图和打包版等。
(3)发布App应用到市场:根据App端口选择发布iOS或Android应用市场。
①Android:涉及的应用市场很多,主流市场是腾讯应用宝、手机网络助手、360手机助手、91手机助手,不同的应用市场的受众属性和流量会有所不同,需要根据客户需求和项目实际情况来选择。一般来说,1-2个工作日就可以通过审核上线。
②iOS:发布到App Store,提交后一般最快都需要5个工作日左右才可以通过审核上架。因为App Store审核比较严格,比如是否符合最新的上架要求、是否涉及到虚拟货币、是否支持最新环境等很多问题都会决定审核能否通过。
但有可能会遇到这种情况:比如某App存在3个导致不通过的问题,App Store只要找到其中一个问题就不会通过,不会把3个问题都找出来告诉你为什么拒绝,所以如果经验不足,上架N次花费几个月都是很有可能的。
③发布小程序到微信公众号:需要把小程序发布提交给微信团队审核并上架,一般1-2个工作日就可以通过审核上线。
(3)源码交付
APP开发测试上线后,要进行终验交付,即按照合同规定,将源码、说明文档、操作文档等所有项目的相关资料交付给客户。
包括但不限于:
①前后端项目的所有最新源代码(含注释)
②数据库设计文档
③API设计文档
④所有的开发者账号资料
⑤测试文档
⑥原型设计稿
⑦UI设计稿
⑧项目相关文档等资料
(4)项目运营培训
在交付源码时,喜望的项目经理会给客户针对项目的所有功能操作进行培训,比如优惠券怎么发、司机怎么核审、怎么查看用户注册等。我们也会根据客户需求,让品牌设计师和新媒体运营官为客户设计上线海报和新媒体运营方案。
三、售后
1.前期维护
一般的App开发完后都需要进行维护,即便是已经达到相对稳定的阶段,也可能随着手机系统的升级或长时间的使用等,出现一些小问题或隐藏得比较深的bug。
喜望会免费赠送客户三个月的维护期,一个项目正式上线运营了3个月左右的时候就已经清楚了整体的运营模式和部分功能欠缺,接下来想要继续运营app就需要迭代开发、优化功能模块。
在此期间,我们会解答客户的疑问、指导软件的使用和内容的上传等事项,以及修复程序Bug、突发情况发生后紧急维修等。
2.定制更新
在App投放到市场后,会得到用户以及市场本身的一些反馈,从而知道该如何修正或者调整运营策略,当目前系统的功能无法满足项目需求时,就需要规划新一版本功能的迭代问题了,也就是开发项目2.0。
喜望会帮助客户进行定制更新,也就是继续App开发前期“售前”所做的工作:需求沟通、可行性分析、功能流程梳理以及量身定制实施方案。
这个迭代方案一般根据以下2点进行制定:
①未完善的BUG
比如上线后的App在运营过程发现的一些BUG,或者逻辑错误的一些地方,如果我们想要修复这些逻辑错误问题和功能BUG,就必须进行App的迭代。
②App数据分析
数据是极其重要的衡量标准,通过分析App的投放资源、用户激活率、转化率、留存率和用户进入使用不同功能的占比、各个环节的流失,寻找对App体验影响较大的指标,分析自查功能设计上的优劣,以便进行功能上的版本迭代。
3.迭代开发
同样的,当项目进行迭代开发时,也会重新经历“售中”的全部过程,包含产品设计、敏捷开发和上线交付等所有的产品生命周期。
4.项目维护回访
当项目运营过一段时间(免费维护期结束)后,喜望会对客户进行回访,询问运营情况等。当然了,如果后续客户需要我们继续提供运维支持,我们也是很乐意的,因为在App运营的过程中需要与时俱进、维护更新,App才能长存。
从上面的App开发流程来看,每一个项目研发都要经历以上3个阶段22环节,这其实是一条完整的流水线,做到这样往往能达到较高水准的项目质量。但是如何保证流程顺畅进行?如何使项目成员的工作效率最大化?这就十分考验开发公司的专业度和项目成员的规划能力了。
如果您想开发App软件,或者想了解更详细的开发流程、开发方案、报价等等相关内容,欢迎咨询成都喜望软件,有专业的售前顾问、产品经理为您详细解答App相关疑问。
㈢ 软件项目管理的大概流程是什么
项目管理的对象是工程项目。它所涉及的范围覆盖了整个工程过程。 为使项目开发获得成功,关键问题是必须对项目的工作范围、可能风险、需要资源(人、硬件/)、要实现的任务、经历的里程碑、花费工作量(成本)、进度安排等做到心中有数。 这种管理在技术工作开始之前就应开始,在从概念到实现的过程中继续进行,当工程过程最后结束时才终止
项目管理是为了使项目能够按照预定的成本、进度、质量顺利完成,而对人员(People)、产品(Proct)、过程(Process)和项目(Project)进行分析和管理的活动。 项目管理的根本目的是为了让项目尤其是大型项目的整个生命周期(从分析、设计、编码到测试、维护全过程)都能在管理者的控制之下,以预定成本按期,按质的完成交付用户使用。而研究项目管理为了从已有的成功或失败的案例中总结出能够指导今后开发的通用原则,方法,同时避免前人的失误。 项目管理的提出是在20世纪70年代中期的美国,当时美国国防部专门研究了开发不能按时提交,预算超支和质量达不到用户要求的原因,结果发现70%的项目是因为管理不善引起的,而非技术原因。于是开发者开始逐渐重视起开发中的各项管理。到了20世纪90年代中期,研发项目管理不善的问题仍然存在。据美国工程实施现状的调查,研发的情况仍然很难预测,大约只有10%的项目能够在预定的费用和进度下交付。 1995年,据统计,美国共取消了810亿美元的商业项目,其中31%的项目未做完就被取消,53%的项目进度通常要延长50%的时间,只有9%的项目能够及时交付并且费用也控制在预算之内。 项目管理和其他的项目管理相比有相当的特殊性。首先,是纯知识产品,其开发进度和质量很难估计和度量,生产效率也难以预测和保证。其次,系统的复杂性也导致了开发过程中各种风险的难以预见和控制。Windows这样的操作系统有1500万行以上的代码,同时有数千个程序员在进行开发,项目经理都有上百个。这样庞大的系统如果没有很好的管理,其质量是难以想象的。 项目管理的内容主要包括如下几个方面:人员的组织与管理,度量,项目计划,风险管理,质量保证,过程能力评估,配置管理等。
㈣ 软件开发项目中,过程管理文档包括哪些
在软件项目开发过程中,应该按软件开发要求撰写十三类文档,文档编制要求具有针对性、精确性、清晰性、完整性、灵活性、可追溯性!
需求阶段
1、可行性分析报告
说明该软件开发项目的实现在技术上、经济上和社会因素上的可行性,评述为了合理地达到开发目标可供选择的各种可能实施方案,说明并论证所选定实施方案的理由。
2、项目开发计划
为软件项目实施方案制订出具体计划,应该包括各部分工作的负责人员、开发的进度、开发经费的预算、所需的硬件及软件资源等。
3、软件需求说明书(软件规格说明书)
对所开发软件的功能、性能、用户界面及运行环境等作出详细的说明。它是在用户与开发人员双方对软件需求取得共同理解并达成协议的条件下编写的,也是实施开发工作的基础。该说明书应给出数据逻辑和数据采集的各项要求,为生成和维护系统数据文件做好准备。
设计阶段
4、概要设计说明书
该说明书是概要实际阶段的工作成果,它应说明功能分配、模块划分、程序的总体结构、输入输出以及接口设计、运行设计、数据结构设计和出错处理设计等,为详细设计提供基础。
5、详细设计说明书
着重描述每一模块是怎样实现的,包括实现算法、逻辑流程等。
开发阶段
6、开发进度月报
该月报系软件人员按月向管理部门提交的项目进展情况报告,报告应包括进度计划与实际执行情况的比较、阶段成果、遇到的问题和解决的办法以及下个月的打算等。
测试阶段
7、测试计划
为做好集成测试和验收测试,需为如何组织测试制订实施计划。计划应包括测试的内容、进度、条件、人员、测试用例的选取原则、测试结果允许的偏差范围等。
8、测试分析报告
测试工作完成以后,应提交测试计划执行情况的说明,对测试结果加以分析,并提出测试的结论意见。
收尾阶段
9、用户操作手册
本手册详细描述软件的功能、性能和用户界面,使用户对如何使用该软件得到具体的了解,为操作人员提供该软件各种运行情况的有关知识,特别是操作方法的具体细节。
10、项目开发总结报告
软件项目开发完成以后,应与项目实施计划对照,总结实际执行的情况,如进度、成果、资源利用、成本和投入的人力,此外,还需对开发工作做出评价,总结出经验和教训。
11、软件维护手册
主要包括软件系统说明、程序模块说明、操作环境、支持软件的说明、维护过程的说明,便于软件的维护。
维护阶段
12、软件问题报告
指出软件问题的登记情况,如日期、发现人、状态、问题所属模块等,为软
件修改提供准备文档。
13、软件修改报告
软件产品投入运行以后,发现了需对其进行修正、更改等问题,应将存在的问题、修改的考虑以及修改的影响作出详细的描述,提交审批。