最近工作中做了不少超出开发“本分”的事情,比如直接对接第三方公司的产品经理参与需求的讨论,比如去处理一个没有前因后果的线上问题,甚至参与一个未知业务流程项目的业务流程闭环探索。
中国是一个人情社会,同事拉你入会邀请你讨论一些问题也不能驳人家面子。但总觉得同事之间的边界还不够清晰,故,坐下来梳理了一下自己心中的理想边界。
万物皆“可交付物”
首先我们看一下IT软件开发中一个需求的生命周期
然而实际的生产工作中,我们可能省去了其中的某些环节。最极端的情况是省去了除需求、代码开发、部署以外的所有环节。需求提出方直接对接代码开发人员,由开发人员进行开发部署。这样的生产过程非常高效,但是质量很难有效把控。需求提出方往往得不到精确匹配的产品特性,从而引发民事冲突。在大型软件生产公司中,可能会有比上图更复杂的生命周期管理。然而需求的生命周期越长,沟通成本也就越高,也同样会面临交付失败的风险。
就上图中的所有的生命周期节点而言,每个节点的工作理论上都应由相应专业的人来完成,并将产出物发送给下一个生命周期的专业人员来处理。在我看来,所有工作的产出物都可以用“可交付物”来描述。
生命周期节点 |
交付物 |
产生人 |
接收人 |
---|---|---|---|
需求 | 文档化 |