软件项目研发领域有种提法,范围、质量、时间、资源四要素是相互制约的。我专门又研究了下,这个概念并不新鲜,不是软件行业特有的,而是来自于传统领域,而放到软件领域未必准确。
因为软件领域有其特色,产品/技术方案多、方案调整的灵活性、试错成本低等。所以这就导致为了一样的业务目标,可以通过优化方案,在业务范围、业务质量(目标)不变的情况下来压缩时间(工期)和资源(投入人力、设备成本),所以四要素相互制约就未必准了。而说四要素相互制约的,应该是站在被动干活的角度,对方案没有讨论、决策权的角度来讲的。所以如果站在更高的视角,情况就变了,真理不再是真理。
基于这点思考,怎么指导我们的工作呢?我的想法、包括实践中也是这么多的:
1、研发、测试等下游岗也应该充分理解业务需求,参与方案讨论,从时间和资源对自己有利的角度把好关,一起优化平衡方案,达到更优的结果,大家皆大欢喜,而业务目标也得以实现。而不是让研发、测试等下游环节与产品方案割裂,被动消极干活。
2、除了上述产品方案,管理者也要重视技术方案的跟踪,比如提供两套技术方案PK,优秀的技术方案思路大道至简、开发难度低、方便别人理解维护,最重要的是节约成本。
通过上述方案,看来在实践中业务目标(范围、质量)不变的前提下,压缩工期时间、开发资源是可行的。但相应的也要重视研发团队文化建设、加强激励机制,才能和员工形成良好互动,团队和个人达成奋斗目标一致。