来新公司接近大半年了,共参与了一款小程序、两款APP的开发与迭代(产品用户量不是很多,所以在此就不对产品做过多的说明了)。但整体上各个项目都存在了或多或少的项目延期情况,所以静下心来针对项目具体开发过程中出现的问题及项目管理方面做出的一些分析和反思,旨在以后的产品设计和管理方面可以优化。
以下问题是我们公司项目开发过程中遇到的问题,公司是创业团队,且仅代表本公司出现的一些实力开发问题,每个公司的研发流程可能不一样,大厂可能会更规范些,所以如果有意见不一致欢迎来怼!
文章主要从开发过程中的四个方面分别做出了反思,项目启动、项目开发、项目测试、正式上线。
一、项目启动——概要设计与开发周期评估
1、项目启动研讨会
从项目立项、市场调研、需求确定、原型及交互确认在此就不多做阐述了,此处主要针对项目启动研讨结束,准备概要设计及接口设计之前,应保证所有开发人员(含UI)对项目逻辑及详细需求充分理解,以避免出现二次开发、开发及测试需求逻辑不理解、后期功能模块缺失等(在评估之前需要至少3个工作日充分理解项目及具体逻辑)
2、开发周期评估
在理解项目需求逻辑情况下,由开发组组长综合评估各组整个开发周期工作量及按需求等级安排开发顺序(包括所有的功能模块及子模块设计、功能模块优先开发顺序、数据库设计、接口对接、单元测试时间、bug修复时间等都应详细评估),确定开发周期后应由各组负责人签字确认,责任到人
3、开发周期及上线时间设定
必须要明确开发周期评估与工作量关系,实际工作量决定开发周期及上线时间(若涉及到公司战略性问题,可根据功能开发优先顺序决定开发周期内优先完成的功能模块,但 不等于在约定开发周期内压缩各功能模块预期工作量,可能会因为压缩一个模块工作时间导致整个项目延期),工作量评估、开发时间的最终确定应由各负责人及CTO商讨后签字确认为准,责任到人
二、项目开发
1、项目开发过程应由各组负责人统一协调每周工作内容及进度,每周实际工作时间逾期不得超过评估工作时间的20%,若有逾期,可由各组负责人酌情协调安排加班事宜,若因功能模块延期造成的项目逾期应由各组负责人做出合理解释(涉及逾期组成员加班,且加班应该应设定详细加班体系)
前后端功能模块开发步调应大概一致,避免出现接口联调时间交错造成的时间消耗
2、由产品经理组织,各组组长每周一 统一协调本周工作事宜,如果本周工作计划变动,应通知其他各开发组人员,并对任务安排做出相对应调整(需向项目负责人/CTO做出合理解释);各组组长每周五需对本周开发任务做小结,查看并核对延期任务,如果可以可酌情安排加班
任务时间执行应按照周为单位,每周不应存在其他周逾期任务存在(若有上周逾期任务,应由各组负责人做出合理解释)
附:关于已有开发模块及组件的可复用性:组件的可复用应该由各负责人商讨解决方案确定已有组件的可复用性
三、项目测试
1、单元测试
开发人员各模块开发结束后,应进行各模块单元测试,并及时反馈测试问题(若存在参数缺失、数据缺失、联调失败等应及时组织小组内会议提出解决方案;若存在重大需求变更,应及时向产品经理及项目负责人提交申请)
单元测试结束,由各组组长签字确认单元测试通过,交由专业测试人员功能性、系统性、健壮性测试(专业测试阶段不应存在重大功能性bug,如果存在各责任组组长应作出相对应解释)
2、bug解决与关闭
各开发人员需在每天下班之前完成当日解决bug(必须是“开发人员”完成自测确定bug解决以后才可关闭bug,如果复验造成重新激活bug各负责人应该做出合理解释,单个bug激活次数不可超过1次),专业测试人员应在下班之前应完成所有bug的关闭
测试人员在测试过程中发现的重大测试bug或者需求变更(修复时间超过2个工作日的)应该由相关责任人做出合理解释,并提供相关证明
测试人员验收通过后,应签字确认,交由产品经理进行最后确认测试(产品确认测试结果不可出现1级bug3个以上,如果出现,则应该由测试人员及开发人员做出合理解释并提供相关证据)
四、产品上线
1、上线时间
产品上线时间应该以项目一开始的约定的开发周期及上线时间为准,对于未完成或者模块逾期造成上线阻碍的,应由相关责任人承担相应责任;如果项目超预期完成,应提供合理的奖励措施
2、产品上线
上线时间确定后,项目上线期间应保证项目顺利上线(若有需要可酌情加班)
以上是一些不成形的反思和想法,但是确实是实际项目开发过程中遇到的问题。