在开发的过程中需要进行pdca的循环,下面这些流程并不是意味着做完一个才能开始下一个。一个合格的技术经理不应该循规蹈矩,在所有的产品过程中唯一不变的就是变,适应变化拥抱变化。时间因素在任何事情中都是很重要的,从市场竞争上讲,先一步就是先机,从开发上讲快一步就是成本降低。
产品立项:由决策人员描述大概要做个什么产品或者实现什么理念,大致功能有哪些,大致的目标市场和用户。这一步可能是领导拍脑袋的发明,也可以是客户提出来的需求。产品的决策要符合公司的决策。
可行研究:由产品经理对产品进行明确的语言描述,并从经济、技术、法律等多方面进行可行性分析其可行性,以及决定是自己开发、外包还是外部购买后二次开发,如果可行还需要确定核心功能。这一步至少要从市场和技术两方面进行论证。
大致计划:确定最终的产品大致交付日期,各个里程碑的时间点,交付的产品必须包括可行性分析中的核心功能。
需求分析:定义软件系统的全部需求,编写《需求分析说明书》和《需求规格说明书》,最好做一个产品原型,提交评审。
技术选型:一般项目缺少这个环节,但是非常重要,影响深远。在这里选择使用的开发语言等大方面,这个受公司条件影响比较大,如果和当时公司团队语音相左,选择困难还是很大。
团队建设:一般也是缺少这个环节。对于初创公司或者新的团队,这点是必须要考虑的,直接影响到产品是否能正常顺利的开发完成。放在技术选型后面是因为团队是要为开发产品这个目标服务。
开发计划:每个版本的交付时间,功能点时间点和资源分配。这个计划是需要随着进度发展进行修正的。
架构设计:由架构师或高级程序员搭建软件的架构,一般基于权限管理,好架构具有连续性,以后的开发只是增加功能,新增功能类似插件一样整合进去而不影响原有代码。
详细设计:由高级程序员描述类和接口等之间的关系,这部分如果是好的框架,直接在代码里面处理就行,也就是将接口定制出来交给程序员实现即可。
开发编码:将接口进行实现。这部分工作还包括单元测试等,界面部分的就按照《需求规格说明书》来做。
项目测试:QC对开发部提供过来的项目进行测试,包括功能和性能测试,依据《需求分析说明书》和《需求规格说明书》,通过发布《用户手册》,测试验收后才能发布。
产品维护:包括bug修改,新功能收集、完善性维护等相关操作。bug要及时修改,新功能可以放置到下一版本中增加。


 

重要性来讲,越是前面的过程对项目产品影响越大。从商业角度讲,产品立项最重要;纯粹开发技术来讲,架构设计应该是最有技术含量的。

这些都是我多年工作经验基础上总结的。微笑