版权声明
---------------------------------------------------------------------------------------------------------------------
该文章原创于Qter开源社区(www.qter.org)
作者: 女儿叫老白 (白振勇)
转载请注明出处!
---------------------------------------------------------------------------------------------------------------------
课程目录:《C++老鸟日记》目录
本套课程属于:《C++跨平台开发干货》系列课程。
----------------------------------------------------------------------------------------------------------------------
不论采用哪种编程语言,软件的研发过程大致是一样的。都要经过需求、分析、设计(架构设计、详细设计)、编码实现、测试、上线的过程。
现在,越来越多的公司或团队采用敏捷开发过程而非传统的瀑布式过程。在体验敏捷所带来的好处的同时,大家也尝到了很多困惑。比如是否要放弃架构设计、是否对PO言听计从、PO能否干预设计等等。这里我就以个人的体会跟大家讲一下我的认识。
是否放弃架构设计?我的观点是不能放弃。架构设计对于中大型项目来说是非常基础的工作。如果一旦架构除了问题,那是要伤筋动骨的。虽然敏捷提倡拥抱变化,但是一味的片面去理解或追求重构,将导致非常高昂的重构成本,比如将带来更多的bug、更难发现的问题、代码更难以修改、工期无限期延长等等。我个人的经验是项目启动之前带领整个团队熟读需求文档,对于把产品做成什么样进行充分交流,并且提前与需求提供者或者PO机型沟通。争取项目启动前或者项目启动初期,进行架构设计,对架构设计进行充分讨论和论证。这样才不会在后期导致代价高昂的重构。
是否对PO言听计从?我的答案是NO。担任PO的人员应该是客户代表,但是项目中可能不一定有客户参加或者客户也不一定正确,有时候PO是我们自己的同事。这样的话,PO也不见得对产品拥有绝对正确、完整的认识,这跟PO的工作经历、工作能力、工作经验等有直接关系,因此,如果项目研发团队认为自己的观点是正确、合理的,那么就一定要坚持自己的意见。
PO能否干预设计?我的观点是:看情况。我经历过的项目中,有不少是上级担任PO,这会导致很多成员对PO不敢讲太多话生怕得罪领导。但是,上级的意见也不见得完全正确。因此,我们不用排斥PO,可以听一下PO对于设计的看法。有原则的进行取舍就可以了。但是千万不要因为是上级,就完全不敢坚持自己的意见,那样对项目、对公司、对个人都无益处。