购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

2.3 产品的建设过程

SaaS产品自其首个版本发布以来,其后续阶段一直处于持续的迭代状态,直至产品生命周期结束。一些成熟的SaaS产品会经历数年甚至超过十年的持续迭代。每一次的产品升级都为下一次迭代提供了基础,这是SaaS产品的显著特征。

2.3.1 建设流程

在SaaS产品的建设过程中,一个相对通用的产品建设流程,应该包含需求调研、需求分析管理、产品设计与评审、产品开发、产品测试、产品上线,然后进入到产品运营,获取用户的使用反馈后,再循环这个过程。每个环节又包含若干个子流程。每个环节间要做到流程清晰,职责明确,确保产品建设的过程顺畅、高效。

图2-3是产品建设流程的一种方法,供大家参考。

图2-3 产品建设流程

在SaaS产品开发过程中,我们发现流程的每个环节都存在一些与传统软件开发不同的特点。因此,在实施过程中,我们需要不断实践、总结经验,并根据实际情况进行调整。

2.3.2 迭代开发

SaaS创业面临诸多不确定性,因此通常建议首先构建最小可用闭环的产品(MVP),以缩短开发周期并迅速推向市场。在客户使用过程中收集反馈信息,并根据反馈情况对产品进行调整和修正,以更好地满足目标用户的需求。这种产品建设的特点是需要迅速响应变更,与“迭代开发”模式非常匹配。

迭代开发,也称为迭代增量式开发或迭代进化式开发,是一种与传统的“瀑布式开发”不同的软件开发过程。它弥补了传统开发方式中的一些弱点,具有更高的成功率和生产率。

在迭代开发模式中,整个开发工作被组织为一系列短小的、固定长度的小项目,称为一系列的迭代。每次迭代都包括产品调研、需求分析、产品设计、产品开发、产品测试和产品上线。采用这种方法,产品开发工作可以在一个大系统需求被完整地确定之前启动,并在一次迭代中完成系统的一部分功能或业务逻辑的开发工作,即MVP(最小化可用产品)。然后通过客户的反馈来细化需求,并开始新一轮的迭代。

迭代开发、敏捷开发、瀑布开发经常在一起比较,我们简单区分一下。

1.迭代开发和瀑布开发

两者都是软件开发过程中的模型,属于开发模式。

瀑布式开发是一种传统的软件开发流程,它从需求分析开始,逐步进行设计、编码、测试、提交等阶段。在瀑布式开发中,每个阶段都必须达到高质量标准,以确保最终产品的质量。因此,对于需求的确定性要求较高。

瀑布式开发在传统的2B企业中较为常见,如ERP(企业资源计划)、MES(生产执行系统)、WMS(仓储管理系统)、CRM(客户关系管理)、OA(办公自动化)、IBMS(智能化集成系统)等。此外,在一些大型项目或外包项目中,瀑布式开发仍然被采用。通常情况下,瀑布式开发的周期较长,几个月甚至一年以上是常见的情况。

在迭代开发过程中,我们并不追求每个阶段的任务都达到完美状态。相反,我们认识到存在许多不足之处,因此我们集中精力首先搭建主要功能,以最短的时间和资源投入,完成一个“最小化产品”并提交上线。然后,我们根据客户或用户的反馈信息,逐步对产品进行完善。一般来说,迭代开发的周期较短,通常以“周”为单位,例如1~2周或3~4周。我们当前的SaaS产品基本保持每3~4周迭代一次的速度。

这两种开发模式在流程上并无根本性的区别。即使是迭代式开发,每个迭代阶段也需遵循从需求分析到设计,从设计到编码,再从编码到测试的流程。这与瀑布式模型的流程具有许多相似之处。

迭代式开发更适合于需求信息不明确的项目。在开发过程中,需求变更对迭代式开发的影响相对较小。鉴于目前许多项目中频繁出现需求变化的情况,迭代式开发的优点更加突出。

2.迭代开发和敏捷开发

迭代开发是一种软件开发的生命周期模型,与瀑布模型、螺旋模型等并列。敏捷开发则是一系列软件开发项目管理方法的集合,其中包括了XP、Scrum等十几种开发模式。这些开发方法具有一些共同点,如重视响应变更、实现客户的价值以及开发人员的自身发展等。在开发方法上,迭代开发和敏捷开发具有局部与整体的关系,其中迭代开发是敏捷开发中的一种项目管理方法。相比之下,敏捷开发所涵盖的内容更为广泛。

在敏捷开发中,团队更注重响应需求及其变更,而相对不重视文档。然而,在SaaS产品的建设中,对需求文档的重视程度逐渐提高。一方面,由于产品持续周期较长,人员变动可能发生,因此文档的完整性、可读性、可理解性和可维护性变得尤为重要。另一方面,随着产品的迭代和产品功能的增加,产品的各种规范和设计细节也越来越多。为了确保整个流程能够按照最初的预期实施,详细的文档是不可或缺的支撑。 GEA0tGADkqfqkLxNLKbBW4vBRQKfI3wht6Lt3bEihWFZ2BtxaQfEHaxRvf49OREv

点击中间区域
呼出菜单
上一章
目录
下一章
×