技术开发 频道

做好轻量级开发的先决条件

    徒具形式的开发流程可怕,半吊子的轻量级开发也很凶险

    徒具形式的开发流程固然可怕,但半吊子的轻量级开发也是凶险异常。这样子的开发,表面上似乎提升了效率,但是,骨子里付出许多隐形的额外负担。例如,节省了撰写需求规格文挡的时间,却没有搭配客户的配合,使得开发团队不能准确地捕捉客户需求,因此,时常在开发完成后,客户才发现不合预期,引发更多的修改请求,白白浪费开发的力气。

    又例如,允许频繁的变更,但又无单元测试及重构的活动与之相对应,因而导致修改程序的副作用频繁发生、品质降低,代码架构也渐渐趋向叠床架屋。表面上,开发团队节省了一些功夫,但是无形中可能损失更多。

    有些开发团队由于成员中的开发人员技巧高超,所以即使缺乏某些相对应的配套活动,整体的冲击有可能不那么大,显现出来的负面效应也不明显。但这不意味着抽掉这些活动,对所有的团队来说都是适宜的。

    若要略去轻量级开发的某些活动,必须有其他条件配合

    开发流程是用来辅助开发团队迈向完成目标的一个工具。开发流程中的活动,某种程度来说算是一种额外的成本,但也是投资,我们希望投入一些力气,使得开发的整体成本降低,品质也维持。

    理想的情况下,这个额外的成本自然希望能够降到最低,但又能维持整体成本最低、品质不变(或变得更好)。轻量级的开发,便是希望能够降低投入的成本。

    降低因为开发流程活动而造成的损耗,大方向是对的。但是,究竟能节省那些活动,必须根据所面临的环境、开发的标的物,以及限制条件(包括人力的多寡、素质)决定。

    当开发团队决定采取较为轻量化的开发时,最好先对一般较为重量级的开发方法有基础的认识。因为所有开发方法的发明及设计都有动机,而开发方法中的活动安排也都有原因。你在轻量的开发方法下,之所以能够略去某些活动,必须是因为有其他的条件或是辅助的活动可以相对应,才不致于引发问题。

    开发团队在选用一个开发的流程时,无论轻重与否,都应该根据目前所处的环境及目标,设定开发流程所应具备的条件。例如,开发流程究竟要不要管理需求的变更?你必须知道,要管理需求变更,究竟会付出的代价以及获得怎样的好处。倘若决定不管理需求变更,那么可以省掉多少力气?又会增加多少潜在的风险?而这些风险以该项目的环境及条件,是否可以降低或是接受……

0
相关文章