技术开发 频道

中国软件开发模式遭遇展瓶颈



    【IT168 专稿】信息技术和现代管理学知识的迅速发展,使应用软件得到前所未有的普及,市场竞争非常激烈,软件产品眼花缭乱,各产品的开发模式也大同小异,一般都遵循软件开发过程的规范,但在软件开发过程的各个阶段,都会遇到各式各样的问题,阻碍了软件的正常发展,尤其在任务的下达、执行与监督方面,存在着很多开发瓶颈,现根据本人的一点认识及体会,就软件开发阶段遇到的问题分别做一下阐述。

    一、 任务的下达

    任务的下达一般是项目经理给开发人员的指令,这个指令包含开发人员将要做什么、工作完成后的效果等等,但实际中这种指令往往比较模糊,不具体,也不太明确,没有把注意事项及对其它功能的影响明确出来,更严重者是不能理解任务所表述的含义,毕竟部分开发人员之间的水平还是存在差异,这种情况的存在往往造成开发人员工作效率低、代码冗余、做无用功等,另外一点项目经理对开发人员的了解也很重要,这样可以避免本来开发人员半天可以完成的任务,给他分配一天的时间等,任务的下达一般存在以下几个问题。

    1、空泛的估计项目的进度:项目经理在分配任务时,往往受客户的要求及紧迫程度的影响,而造成不合理的安排,这种现象在软件行业尤为普遍,这种分配任务的方式没有相应的数据分析作为前提,加上完全凭借于项目经理的经验来估算,风险度可想而知。

    2、所要传递的任务不明确:项目经理有时不能完全表达所要完成的要求,更可怕的是自己对客户的要求都不了解,在现实开发中往往会存在这种情况,需求分析人员在调研客户需求时只理解客户需求的90%,等到了设计人员只能理解80%,等到了开发人员恐怕也只能理解60%,造成需求缩水,导致项目经理在下达任务时,也只是大体描述要完成的任务,而不能明确完成此项任务要注意的很多细节,注意事项、完成时间、对界面的要求等,毕竟开发人员水平不同,考虑问题全面度也不一样,有些涉及整个系统流程的东西还需要项目经理给予说明。

    3、分工不明确:在整个项目运作的过程中,要明确分工,综合考虑项目团队内每个人应担当的角色及外界因素的影响,因为重要角色的更换(如项目经理或开发经理)往往是极具风险性的,当然这种角色一般也不会更换,但开发人员往往是不确定因素,频繁的调度开发人员也会影响项目的进度与质量,所以项目经理在分配任务时要综合考虑,尽量排除这些不确定因素的存在。

    4、行之有效的沟通:沟通在软件开发过程的每个阶段都很重要,前期沟通不好将来的影响就会以扇形扩张,对后期造成的损失也是无法估计的,分析设计人员的文档开发人员看不懂,开发人员完成的功能测试人员看不懂等,这些都是沟通的问题,沟通的主要目的有两个:一是传达需求者能把需求描述清楚,二是接收需求都能把需求理解并确认无误,但现实中这种沟通很多却是流于形式,效果不是很理想。

    5、没有效果的讨论:众所周知,在项目组运作的过程中,可能伴随着很多问题的交流、讨论,这是好事,讨论问题越明确、越清楚,对项目后期的运作越有保障,但往往存在这样的问题,项目组成员在开会前都没有目的性,没准备,只有项目经理一个人在说,遇到问题发生争执时也是各抒己见,这种争执最终会导致项目计划被不断的改变,项目进度被延时。



    二、 任务的执行

    在软件开发的过程中,任务的执行阶段一般由开发人员来完成,无论是项目还是日常的产品维护,此阶段主要的任务就是理解并完成上级下达的指令,对开发人员在开发工具的熟悉程度与理解、逻辑处理能力及把握客户需求上都有很高的要求,开发人员水平不同,在执行任务的过程中或多或少会存在一些题,一般也不外乎以下几种。

    1、最优的解决方法:同一问题的处理方法有很多种,有些开发人员可以用100行代码完成,而有些开发人员用500行还不一定表述清楚,所以在开发过程中要综合考虑,选择最优的解决问题的方法,不仅不会造成代码冗余,还便于后期的维护工作,还能提高软件的性能。 

    2、看懂需求再写代码:国内很多软件企业在开发过程中对内分工不明确,很多分析设计岗位一般由资深开发人员担任,这些开发人员由于对各方面都很熟悉,在开发过程中迫于项目进度或客户压力,往往先写代码后写文档,这是一种不好的习惯,会导致做很多无用功,还有一种就是开发人员在不理解设计文档的情况下就开始编码,这样不但不能很好的按设计思路完成任务,还会影响项目的进度。

    3、缺少自测:开发阶段检验工作成果最好的方法就是自测,即单元测试,从中发现不足,及时改正,但不愿过多测试自己写的程序也是开发人员的通病,开发人员一般都比较自信,感觉自己写的代码不会出问题,这是一种不好的习惯,自测的目的除了发现问题外,还要记录可能出错的功能点,为以后测试人员提供参考数据,所以在此期间不但要做好黑、白盒测试,还要记录测试数据。

    4、写好代码也要关注性能:性能问题对任何软件供应商都是一个瓶颈,不论系统是C/S还是B/S架构,都会而临这个问题,也是客户最常抱怨的问题之一,软件在易用性与性能上很难达到两全其美,只能尽量去改善,性能问题也往往是开发阶段造成的,如上所述,在没有找到最好的方式前就去实现,在这一点就要求开发人员除了对开发工具有深入了解外,还要对数据库语言有所了解,这样才尽可能的去避免系统的性能问题。 

    5、代码要让别人看懂:说白了就是适当的加注释,开发人员实现问题的思路不同,写出的代码有的易理解,有的难理解,在软件维护过程中,几百行代码中没一条注释的情况也很常见,给后续的维护工作带来困难,代码写出来不仅要自己看,还要为以后的维护着想,让他人能易读、易理解,所以开发过程中要养成写注释的好习惯。

    6、功能的易用美观:科技在发展,时代在进步,现在人们除了对软件的功能方面有要求外,还非常关注软件的易用性及界面美观度,现在很多软件企业也都认识到了这一点,在易用与界面美观上都进了一大步,但现在国内很多的软件企业对此都没有专门的岗位,这方面的工作还是由开发人员来完成,虽然开发人员在工作中以开发者的角度去改进一部分,但离用户的要求及专业的程度还有一定的差距。

0
相关文章