谈谈自己对“功能优先原则”的一点儿想法
在开发一些功能的时候,尤其是自己设计并实现一些应用的时候,常常会被一些需求的细节所束缚,很可能是自己往往在开发伊始就考虑很多的需求细节问题的缘故,例如,我需要实现一个Create功能页面,使用的ASP.NET MVC 2,通过直接创建强类型View视图,就可以自动得到一个带有全部内容的Create页面,只不过页面样式是最初级的,展示的内容也是默认完整的,这时,自己就会想尽量把页面的内容和样式尽量多地确定,于是,花了很大的力气在上面……
后来,可能因为需要和其他页面保持统一,于是又返回来再次修改当时费了很大力气完成的“比较完美的页面”;也可能因为当时花在调整页面上的时间太长,导致自己连贯的设计思路被中断,于是整体的流程进度被严重拖累,后来自己又斗争了很多次,还算勉强接上前面的思路和进度,可是浪费的时间却很可惜。
再后来,在项目中也经常遇到类似的问题,例如,开发一个新的模块,如果要是不按照功能优先的原则来开发,则往往会导致耗时耗力,因为能够第一时间实现功能流程或者主要的功能流程,会带给自己一定程度了自信,剩下的工作都作为边边角角来修复,其压力程度就远远降低了,那么往往能按时或提前完成指定的任务。
于是,我又联想到了有关项目管理中是很有必要将这点进行贯彻实施的,作为项目Leader与其凡事都牢牢掌控,或者完全不管不问都不是很好的管理方式,而且前者会耗费相当大的精力。那么如何能够知道团队成员把握阶段工作的重点来进行攻克,尤其是需要多个功能模块进行独立开发,然后再对接联测的时候,尤其重要。从这点上来说,其对项目的安全控制也是大有益处的。
说了这么多,可能有点儿啰嗦,不过总的意思还是说,如果能够在动手开发一个项目或功能模块前,把握住其主线功能流程分布,并优先处理这些主体或难点,可能会让我们牢牢把握项目的主动权。
希望大家能够做到游刃有余~