产品与项目双线并行式研发管理的思考

如题所述

第1个回答  2022-07-28
软件项目团队管理者会遇到这样的情况,团队开发软件,开始是以软件产品的模式进行研发。研发完成落地后,一旦有了企业客户,企业客户部署系统,成为企业的长期合作客户,对于企业客户来说,就形成了针对该客户的软件项目。

软件产品为了适应行业产品业务与技术的发展,还需要不断地进行升级优化,发布新版本,从而在市场竞争中获得优势,争取到更多的客户,扩展市场份额。

这个时候负责这个软件产品的开发团队就会遇到这样的问题,在软件产品版本迭代升级过程中,当前版本的企业客户在使用中,提出了新的需求,要求在当前使用系统版本中实现应用。

企业客户在购买软件产品后,通常都会有长期维护合同,客户的要求不能无视。

这就形成了产品与项目需要双线并行的局面。

这种情况很难进行取舍。是暂停当前新版本开发,在当前客户项目中先去做客户需求升级开发,还是在完成新版本后,在新版本里面进行客户需求升级改造?

第一种方式,势必会导致新版本发布延误,导致在市场上与竞品竞争中处于劣势。

第二种方式,一旦处理不好,客户需求实现等待时间过长,也会引发客户的不满情绪,导致后续合作出现问题。

在实际工作中,这种情况遇到了很多。这里聊聊我的处理方式。

首先是在做软件产品迭代版本升级开发计划时,要预先考虑到企业客户运维升级的临时需求,在开发计划中预先预留一部分资源(包括时间和人员)。

其次产品迭代升级过程,监控好开发进度,保证在预期开发计划中,不要出现过大的偏差。这部分按照正常开发管理流程处理就可以了。

接下来主要就是企业客户临时提出需求处理了。

首先要判断客户需求紧急重要程度。

如果客户提出的需求或者问题,已经严重影响了系统正常使用和流程执行,客户当前系统是停滞状态,那么优先级自然是最高的。需要尽快系统修复,发布补丁,让企业客户系统恢复正常状态。这时候正常的产品迭代升级开发只能被中断,或者分出去一部分资源去处理。

如果企业客户提出的仅仅是优化需求,不影响当前系统的使用,时间上也不紧急,可以重新排定开发计划。把这部分开发任务加到团队未来工作计划中,至于是在客户当前项目中,还是在产品迭代新版本中实现,后面我们再具体分析。

这样之前预留的资源可以派上用场了,在尽量不影响开发进度前提下,去处理临时的需求。

如果预留资源不够,或者无法预留出资源,势必影响产品迭代升级开发计划,后期需要在具体开发过程中想办法弥补,特别是第一种情况。

为了减轻客户临时需求带来的影响,我们可以把客户临时需求形成产品需求,提高产品功能适用特性,更好地为同类客户服务,把损失降到最低,形成收益。

客户提出的项目需求通常都是有实际应用价值的,是符合实际要求的。我们应该认真对待。

对客户需求分析后,形成新的产品需求,判断当前版本中是否可以加入实现。在客户时间允许的情况下,加入到新版本中,形成新版本的产品需求。使用新版本升级客户系统,满足客户需要。

如果时间不允许,或者需求与当前版本冲突,在当前版本中临时使用成本最低的实现方法,发布系统升级补丁,先满足客户的需求。

如果需求仅仅是当前迭代版本暂时无法实现,可以形成后续迭代版本需求,加入到产品需求池中。

如果是客户特殊需求,发布升级补丁就可以终止了。

产品与项目双向并行冲突难以平衡解决,都需要牺牲某一方面的利益去处理。尽量减少损失的方式,就是把项目需求,分解形成实际的产品需求,提高软件产品的品质,让客户成为我们的“产品需求方”。
相似回答
大家正在搜