回顾1些在项目管理中遇到的问题和解决方式

从事软件开发很长很长1段时间了,除去在校时光,正式进行社会工作也已经4年光景了。记得最初的时候,我还是使用ASP,那会儿asp还很流行,.net framework1.1才出来不久,那会儿是2003年吧;那会儿你要既会vbscript也要会javascript;那会儿你要既会css也要会html4;那会儿你要既懂vb.net 2003,也要懂c++;总之那会儿,我接触到了很多语言、思想之类的东西。
工作4年了,大小遇到过的项目也有三四十个了吧,由于1直以来,从踏入社会的那1刻就从事项目管理和开发的工作,所以在实践的道路上遇到过很多问题,通常是通过自己翻阅资料,以及寻求互联网帮助来解决,现在也慢慢的喜欢上这种方法。
现在把1些近期项目中遇到的问题记录如下,另外也附带了自己当时的处理方法和思路:
1.信息的不对称和不及时,这个问题是所有问题的根源。打个比方,进入某个迭代的产品测试环节,产品告诉美术根据客户需求,需要将新闻和公告互换位置,美术将更改后的效果图发送至项目经理和产品进行确认,项目经理可能还不知道这样1件事,项目经理、产品、客户确认过后,美术将效果图发送至前端,前端可能还不知所以然,问:“这是什么呀?”,然后美术又需要将修改的地方告诉前端。
这种信息的不对称和不及时,在项目的开发过程中,会浪费很多时间和工作量,我们应该使用1种网络软件管理或电邮等方式,要让所有项目组的人及时清楚,以及明确各自的责任。这个环节我目前使用的是zentao来进行管理。

2.草图原型图问题。有很多同行曾经问我,你们为什么大点的项目都有草图的,不怕浪费时间呀?我告诉他们,草图是为了节省后面的工作量。是的,草图,对于大点的项目是必须的,更大点的项目就要设计原型图了。
草图能够以最快的速度最简单的方法来描述客户大概的意思。如果直接让美术从事效果图的设计,那么如果返工往往投入的工作量可要比1张草图大的多,目前草图我们项目组使用的是2款软件,1款是对于小项目的,叫Balsamiq Mockups,另1款是针对于大中型项目的,叫AxureRP。
3.页面确认环节的问题。每1个项目或多或少,客户都会对页面的设计提出修改意见,1般来说我们会让客户签写效果确认书,但是对于政府类项目,聪明的你应该不会这样去做,那么我们该怎么办呢?
现在我和项目组交待的方法是:如果这是效果图口头确认过后第1次修改,那么答应他;如果这是确认过后第2次修改,那么告诉他,我没有答应你的权限,我们会先评估工作量,因为界面的修改,会直接涉及到后面相关环节的调整,调整的工作量需要整体评估,如果会影响到项目的进度,我们会建议你使用替代的方法。
4.产品数据调用说明图。很多时候,这个东西可以不要,如果你的网站栏目和结构非常清晰或者简单的话,但是对于大1点的项目,这个东西还是非要不可的,无论是针对于项目组成员还是客户,必须要有这样的1个东西。
这个东西,可以让开发人员知道某个版块或者栏目,需要怎样去调用数据,可能它是需要来自于:国际新闻类、热门推荐位、图文属性、未回收、有缩略图,5种and条件的结果。当我们把产品给客户的时候,如果你不给他1份这样的数据调用说明图片,我想他是记不住的,即使他记住了,他的后来者也记不住的。
5.统一的页面元素。这个是什么意思呢?就是网站在设计的时候会用到很多相同的元素,比如宽度、按钮、提示方法、表单样式等等。这些东西其实在项目所有页面里面是可以通用的,美工不能在设计的时候随心所欲,这个页面的新闻热门用的200px,那个页面的公告推荐用的201px,这是不行的,不认真的,这对于后面人员的工作是在恶意增加负荷,必须改正。
我们项目组现在的方法是,当客户将首页效果图确认后,就立即开始设计1张叫做“页面元素”的效果图,这张“页面元素”效果图会包含如:normal text、h1、h2、h3、h4、strong、em、code、small、big、mark、del、a、ul、ol、dl、message box、warning、error、success、button、tab、table、forms等,以后该项目中页面只要使用到这些元素就直接拖过去。
6.提高网站用户体验。这是1个核心的概念,涉及的方面也非常多,我们按照顺序来说:
第1个,服务器的性能和网络带宽,也许我们会投入负载均衡和千M光纤,其中负载均衡可以使用基于软件的lvs。
第2个,数据库优化。结构设计思想、表索引、查询语句优化是中小项目需要考虑的重点,大1点的可能就要上NOSQL了,还有可能定义专门的只读数据库、只写数据库、分库分表等等方法。
第3个,Url Routing或Url Rewriter。Routing是.net中的说法,Rewriter是apache中的说法,总之就是将url地址形象化,1个能够代表1定意义的url总比长长的查询字符串要好的多吧。
第4个,缓存。是的,缓存,这个简直太重要了,可以缓存的东西有很多,比如数据库、配置信息、变量、页面代码等等,总之你需要缓存的是那些经常用到、会影响到性能的东西。
第5个,输出封装。是的,你现在应该需要考虑这个概念了,在你将页面代码输出给客户端的那刻之前,你应该将页面所有没用的空格、tab、注释等过滤掉,你应该将所有的js代码合并和编码,你应该将所有的css文件合并压缩,然后将这样的页面和页面元素进行缓存并输出给客户端。
第6个,交互体验,使用jquery、YUI、ExtJS吧。不要再怀疑,相信你也不会怀疑,你可以现在还没有使用过YUI、ExtJS,但是你不能不去使用jquery,用户可以允许你的网站加载速度慢1点,但他绝对不希望打开的是1个交互体验糟糕透顶的“效果图”。
第7个,云。是的,云,当大家都在说云时候,你是否真的用了云,国内的云和国外的云,语义差别太大。如果条件允许,你可以使用微软Azure、亚马逊S3等等。
先写这些吧,当然你肯定不能缺少的是使用Project来进行项目整体控制,使用Word来进行书写和排版,使用PDF来发布文档,使用PowerDesigner来设计模型等。

One Reply to “回顾1些在项目管理中遇到的问题和解决方式”

  1. 没想到六年前,我就写出了这么高水准的文章。现在反而写不了了。哈哈。。。自吹自夸。。。

Leave a Reply

Your email address will not be published. Required fields are marked *