01. 需求管理模型和敏稳双态开发
在研发产品之前,我们都需要先了解客户的需求。常见的需求理论模型有三种,可基于不同业务和产品复杂度的需求层次结构进行选择。
- 简单的业务和产品:拆分成两层,产品需求➡技术任务
- 典型的业务和产品:拆分成三层,业务需求➡产品需求➡技术任务
- 复杂的业务和产品:拆分成四层,业务需求➡产品特性➡产品需求➡技术任务
那么如何将需求理论模型跟现有的流程结合起来呢?
下图为某大厂公布的研发效能白皮书中的一张图,根据需求来源的不同和不同人员所需要具备的能力,把产品管理分成三个层次,通过流程与工具相结合进行描述或使用项目管理工具。
软件开发流程在这儿不过多介绍,业界用的最多的就是瀑布开发模式、敏捷开发模式和DevOps开发模式。尽管常见的开发模式是这些,但是大多数工具只支持敏捷开发模式,很少有工具支持双态(既支持瀑布,又支持敏捷开发模式)模式。
我们对标业界最佳实践,争做国内最好的项目管理工具,不仅既支持瀑布开发模式,还支持敏捷开发模式;同时具备存储文档、Wiki等功能。也就是说,在项目管理和需求管理方面,我们的平台能涵盖95%以上的使用场景(扫描文末海报二维码,立即申请试用)。
02. DevOps涵盖产品全生命周期
有些人可能对敏捷、DevOps等涵盖的领域有些模糊。一般来讲,敏捷解决的是业务部门和研发部门之间的矛盾,DevOps解决的是开发测试运维这一过程中可能遇到的冲突,涵盖的是整个产品全生命周期。
1. 研发环境
随着公司规模的扩大,开发层面常面临以下问题:
- 公司需要不断为企业研发人员配备合适的本地研发工具(如多核高内存的计算机设备、Mac 笔记本电脑),这些设备可能价值不菲,而且需要定期的更新换代。
- 新加入的员工,在正式开始开发前,需要配置复杂的本地开发环境,安装特定的软件及插件,并熟悉项目的研发流程及各个线上系统;部分项目因为网络配置等问题,可能第一时间无法在本地启动,还会耽误不少额外的配置及调试时间。
- 公司需要投入较多的资源,才能构建起匹配管理者需求的效能度量系统和安全管控系统,并且因为云端体系天生对开发者本地环境的弱管控性,效果只能差强人意。
- 当产品对保密性要求极高,或者当企业外部成员参与对代码保密性有要求的项目时,需要确保核心代码的安全管控。
由此可见,本地开发环境已逐步难适应因公司规模扩大所带来的问题,云端开发工具(WebIDE)应运而生。尽管云端开发工具有优势也有劣势,不同的人对它所持的态度也不同,但云端开发已是不可阻挡的趋势。