软件项目开发过程中的几点体会

      在从事开发时,往往思考的是具体开发问题,如何提高代码质量,如何加快开发过程,将采用什么新技术等等,偶尔也会以开发的角度思考项目管理中该如何如何;等到从事项目管理时,考虑的主要问题是如何按工期、高质量、快捷、低风险的完成项目开发,围绕此主题,结合项目情况和以前的经验,制订出各种项目管理的策略和计划;下面,结合项目开发谈谈体会。

 

筹备阶段

1.        召开项目誓师大会,讨论形成一致共识;

在下达项目开发任务后,组织团队成员召开讨论会;通过介绍项目任务,引导大家一起讨论项目改如何进行,畅所欲言,倾听意见和建议,最终形成一致共识;这样做的目的:一是让团队提前进入项目状态;二是调动团队对项目的积极性;三是达成项目过程中一些基本原则,比如严格服从开发管理、所有问题都是团队的问题等等。

 

2.        对团队成员的性格有个基本了解;

对成员性格了解后,有利于彼此交流,有利于开展工作,可减少交流中的冲突点。

 

3.        项目经理要向团队阐述自己的做事方式方法;

比如,开发中遇到重大问题,要提出来大家一起商量解决。

 

4.        对团队成员的技术水平有个基本的把握;

这点非常重要,项目开发过程中采用技术含量高低,就来源于这里,比如Hibernate技术,如果团队成员有1/2熟练运用,且项目经理包括在内,就完全可以采用此技术;另外,通过对技术水平的了解,在项目开发时可以有个侧重点,对技术水平低的多些关注,技术高的也可以帮助解决问题。

 

5.        明确要求的事必须不折不扣的执行;

在项目开发过程中,会要求团队执行各种标准、开发要求等,这些都必须得到彻底执行,才能最大限度提高软件的质量。

 

需求阶段

6.        开会整体介绍、讨论需求,分配开发模块;

 

7.        各自阅读需求文档,列出疑问点;开会讨论,列出剩余疑问,提交业主或需求人员;

以上是本人理解需求的基本思路,屡试不爽。

 

8.        此阶段测试人员必须介入;

测试人员提前理解需求,对测试工作非常有帮助,尽快制订测试用例,编写测试计划,提高测试质量;另外,如果现在不介入,等到提交功能测试时,再理解需求,就影响项目进度,而且费时费力。

 

9.        需求阶段必须实现对需求至少60%的理解度;

通过67两种方式,实现这个目标问题不大。

 

设计阶段

10. 要求开发人员书写部分详细设计文档,包括程序结构图IPO(输入、处理、输出)、算法、数据流程图、操作流程图、系统页面设计等等;

这样可以进一步加深对业务的理解,需求理解度达到80%以上;从开发的角度,思考软件的实现方式,明确业务流程等等,这样在开发阶段就可以专著于具体代码书写。

 

11.    整理准备所有的Cell报表,要求加入输入限制公式等;

 

12.    要用陌生技术的开发人员,要及时阅读相关资料,做好技术准备;

开发过程中,有时需要用到陌生技术,这时要给予相关人员一定时间来阅读学习。

 

13.    原则上统一设计数据库模型;

这样做目的是规范数据库的设计,统一标准,统一模型,统一部署;如果数据库设计量较大,可以允许开发人员单独设计,但要严格遵循设计规范,设计完交数据库工程师(或项目经理),确认方可部署到库里;经验证明这样做可以避免很多问题,比如数据库设计混乱,数据库版本混乱。

 

14.    此阶段需要开发人员做许多工作,要加强监督检查,以保质保量的完成工作;

对于工作内容安排,开发人员必须绝对的支持和执行,不能打折扣或者跳跃工作内容,让做这个他做那个。

 

开发/测试阶段

15.    在开发前期统一开发工具;

开发工具统一非常重要,可避免很多潜在的问题,比如由于JDK版本不同,导致整合版本后无法正常运行,Tomcat版本不同也会如此;开发工具统一如下“JDK1.4+Eclipse3.1+MyEclipse4.1+Tomcat5.0+SQL Server 2000

 

16.    商讨将要运用那些开发技术(StrutsAjaxHibernateSpring);

采用技术的原则是团队必须1/2成员会用。

 

17.    参考行业标准和实际要求,制订详细的代码书写规范和代码结构要求;

通过规范要求可相对的提高代码质量,使项目更接近一个人开发出来的,增强代码的可读性,最重要的是增加代码的可维护性,长期来看降低了项目的风险性,从公司发展上看,有利于技术的沉淀积累。

先开发部分程序,然后一起阅读部分代码,检查代码规范执行的情况,包括类和JSP;同时,也看看代码的书写思路是否有问题,特别是书写的结构是否规范等,现场解释解决问题,最终完善出一套具体的代码书写规范,以及程序书写的结构思路规范出来,列如下:

a.类及方法都要有注释;

b.方法中的变量和程序块,要有注释;

c.页面也要有注释,比如页面所属JS方法注释等等;

d.每次页面动作只能创建一次数据库连接并用完及时关掉;

e.数据库连接取得使用关闭的程序块,得按照制订的模式书写;

f.对数据库进行添加、修改、删除操作时,一定要运用事务机制(系统底层已经封装,注意调用就可以实现);

g. 在构架每次页面动作的业务类时,要严格按照MVC的结构书写,同时完全运用Struct思想;

h. 对于异常的报出,调用公共类,输出相应类名、方法、说明”;

i. 页面上不允许做任何的访问数据库或业务操作,只可以显示、获取数据;

注意调用一些公共类,可以减少工作量,也使程序模块化,比如项目列表标段列表编制范围的生成程序等等。

 

18.    与测试组交流,商讨项目测试目标,了解测试报告和测试用例准备情况;

 

19.    部分模块开发完成,马上提交同步测试,对测试问题及时进行修改;

 

20.    注意对测试问题的累加分类,及时进行复测;

 

21.    定期开会一起讨论测试问题,找出问题出现的原因,及时调整开发方式,加强工作细心态度,争取类似的问题不再出现;这样可有效的降低BUG出现率;

 

22.    积极协调开发进度,协调好开发与测试的关系;

在软件开发中,开发与测试是最容易产生矛盾的双方,但是他们协调工作的效果高低,直接影响项目软件的质量;项目经理要营造一个良好的工作气氛,当出现矛盾时,及时的协调化解,推动测试进度。

 

23.    开发人员遇到难解问题时,要及时帮助解决,困难的开会商讨,千万不能积压问题,因为这往往是关键点问题,不解决会极大的影响开发进度;

 

24.    每周都要开会了解开发进度情况,及时把握项目进度,做到心中有数;

 

25.    要多协调多商议多交流,充分调动大家的积极性;

 

发布阶段

26.    书写详细发布说明文档;

 

团队建设

27.    考虑问题以成员为出发点,维护他们的基本利益,帮助做好辅助工作;

 

28.    可以不定期的组织茶话会,聊聊天,释放工作压力;

 

29.    与成员一起寻找利益的共同点,建立共同的价值观,才能最大限度的凝聚力量,发挥主观能动性;

 

30.    对成员要求不能急于求成,要循序渐进,共同进步;在不断的历练中,提高团队的工作效率;

 

31.    采取民主集中的原则,用集体的力量解决问题;

 

以上就是本人在项目过程中一些体会,对于一般公司项目经理往往需要身兼数职,比如构架、设计、管理、协调等,所以项目涉及的方面比较复杂;如果简单的从项目出发,关注点是如何保质保量、低风险的完成项目任务;但是经过数个项目后,才发现项目不是最重要的,重要的是团队建设和公司产品技术的积淀,在项目开发过程中形成一支高效的团队,经过几个项目的磨合,团队的开发效率将得到极大的提高,公司产品技术得到有效累积,这时项目只是团队工作过程中的积淀的产物而已;不过有个问题,往往公司的开发人员是随机组合的,对此可采取相对稳定团队,保持团队的基本构架不变即可。

 
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值