怎么提升自己做项目能力

来源:互联网 发布:淘宝直通车使用教程 编辑:程序博客网 时间:2024/05/02 09:52

 

怎么提升自己做项目能力

 

 

1.引言

为什么标题我会取一个怎么提升自己做项目能力?而不是怎么做提升自己开发能力、编程能力、设计思想等。因为我觉得这些东西是靠时间一点点磨练出来的,每个人都有自己的理解,自己的一条路自己的方式。不可以拷贝,但可借鉴。从别人的成功中,找出自己的道路。因为我觉得我都不算成功,所有就不献丑了。我就给大家谈谈怎么提升做项目的能力吧。

首先给大家举几个例子:

场景1

你去A店买包子,老板,来个肉包子。老板给了你个肉包子。

你去B店买包子,老板,来个肉包子。老板:有猪肉,牛肉,羊肉的,你喜欢什么口味的?你说:牛肉的,老板给了你个牛肉包子。

上面场景描述完了。我想正常人都会选择再去B店,为什么去B店呢。因为B店给你的感觉,服务态度更好,更周到。当然排除什么价格、味道、环境因素。

下面我们把这件是拿到平时我们做功能上来说。

客户叫我们做个查询某业务的功能。

A程序员完成了这个查询某业务的功能。

B程序员问了客户想着重关注这些业务下的哪些指标?平时有什么使用习惯?然后根据客户反馈完成了这查询某业务功能。

我就是B程序员做出的功能有思想,而A程序员做出来的没有。什么叫思想,这个简简单单的东西就叫思想。

总结以上B店老板和B程序员具备了什么,具备深层挖掘客户需求的能力,或许你只是吃个包子就可以,但是B店老板迎合了你的口味。或许你只是要个某个业务的查询而已,B程序员通过你的使用习惯让你觉得这个查询好用,乐意去使用。

场景2

客户眼中的小龙女

 

你期望的小龙女

 

你做出来的小龙女

 

客户要求:小龙女 你交付的:小龙女  结果不言而喻。

这告诉我们什么道理,我们看人都说“知人知面,不知心。”那我们怎么能要求客户不看外表呢?所以在我们开发过程中不可能忽视页面带来的额外加分。我以前从来没接触过CSS,但是目前现在简单的CSS 以及一些前台框架都会使用。这个就是因为以前交付了失败的“小龙女”。

场景3

我以前北方出差的时候就感觉比较深刻,在北方馆子里面吃饭,点一个花生米。老板说:没有了。然后就没有了。

在成都吃饭的时候,点一个花生米。老板说:没有了,还有蚕豆,下酒还是巴适!

然后我就要了一份。

这个故事告诉我们,没有花生米,还可以吃蚕豆下酒。当然不是这个道理。意思是,在你无法满足客户这个需求的时候,尝试引导客户进入另一个需求。能完成同样的事情(下酒)至于怎么实现,客户会不会关心呢?我们平时做开发的时候,如果做不到。实现不了的东西,不能埋怨客户需求变态。想想自己是否真真理解透彻了,客户要的是花生米还是下酒菜?

场景4

选择题:你和你女朋友怎么过周末。

A.你女朋友说叫你去逛街。

B.你女朋友说陪你打游戏。

肯定一般的我们程序员都愿意让女朋友陪着自己打游戏 或者宅家里玩(个别例外就当我没说)

我们从做项目的角度出发想一下,你是客户,你女朋友是开发人员。A答案就是开发人员把自己觉得好的功能提供给你,B答案就是把你觉得好他觉得不怎么好的功能提供给你。你作为客户,你希望得到哪种结果肯定自己已经清楚了。这告诉我们,我们做程序开发不能站在自己的立场思考问题,而要站在客户的立场思考问题,但是你不懂业务,不了解业务。你怎么能站在客户的立场思考问题呢?就像你不懂你女朋友的喜好,怎么来让女朋友开心呢?当然女朋友叫你去逛街还是要去逛街的,不然后果自负。

总结

上面提到几个场景,可以概述为:

1.深层挖掘客户需求,做到真正的明白需求;

2.注重UI呈现效果,做到不止完成功能,要完成一个不难看的功能;

3.不对客户说不,懂的对需求进行二次分析,适当考虑当前技术框架情况进行引导需求;

4.了解业务,懂需求,站在客户的立场做设计;

 

当然,我总结的也不算全,还有很多实际情况会让大家遇见。但是阐述那么多,无非围绕一个,编程要有自己的思想。什么是编程思想?答案可以很复杂,但也可以很简单。一句话来讲就是,用计算机解决人们实际问题的思维方式,即编程思想。而我们就是通过编程语言,把用户的思想表达给计算机,让计算机解决这些事情。很多人都有个误区,以为我们编程的是和计算机打交道。

这里讲个笑话:

一个老婆叫程序员老公回家的时候路上买两个包子,如果遇见卖西瓜的,买一个。结果老公回来只买了一个包子。这个就是编程语言中的结构化思想 分支(if),但是如果老婆是客户 他没有得到想要的结果。

上面一个只是笑谈,但是也反映出一个情况。但是其实我们做开发的人,是和人在交流,是通过计算机来和人沟通,这也是现在一直在说做程序人性化,人性化。

所以我理解的编程思想,就是在开发过程中,你明白了业务规则,取得了他人的认可,你就有了编程思想。中国有句老话“尽信书,不如无书”,书本上学到的专业知识,在工作中可以完成开发一个功能的阶段。但是书本不会教我们怎么去做好一个功能。

说到这,借用电影里面的一句话“我从小到大听了那么多道理,依然过不好这一生。”既然电影都这么说了,我下面整理一些我个人对做好一个项目的“游戏规则”。

2.游戏规则

2.1不随便改变需求

不要主观上的改变一些东西,不管对还是错,如果要改的话,开会的时候或者私下和负责人、经理、客户沟通,通过后再改。否则就按需求办事。

2.2不写没有思想的代码

什么叫思想,可以理解的很简单。在写功能的时候加一些人性化的东西,比如加载数据的时候的进度条、显示时候的一个小图标、录入时的一些验证、处理一些操作习惯、加加快捷键、处理好TAB顺序等等,这些东西可以赋予你功能的人性化。

2.3不写没有远见的代码

不要单纯的实现功能,在写代码的时候要想,如果别人要使用这个方法怎么办?以后要改的时候怎么办?代码这样写是否合理?是不是会影响性能?这个功能极限情况出现的时候会是什么样?考虑好这些之后再开工。

2.4不写不负责任的代码

我们写代码的目的,一是实现客户需求、二是方便其他人看。不单单是自己维护,要对自己的代码负责,从自己手里出去的代码就是自己的脸,代码不好别人也会嫌你长的“丑”。多加注释,怎么处理你当时的想法是什么等等。

2.5养成良好的文档习惯

我以前也特别讨厌写文档,在我的思维里,所谓文档就是废话,就像把我爱你写成山无棱,天地合。海可枯,石可烂...等等之类一大堆废话。但是,事实证明大多女孩子还是更喜欢听后者,而不是前者....良好的文档是正规研发流程中非常重要的环节,先写文档再进行编程,可以让你在整理文档的过程中确定你编程的思想。在文档的指引下开发,才能写出安全的代码。如果缺少文档化,小功能也许开发可以进行,大功能做到后面自己都会乱套。其实文档这个因人而异。只要清晰阐述出自己的设计思想实现步骤就是好文档,强烈推荐大家要善用图表来表达你的意思,好好利用VISIO或者别的工具来表达自己的思想。

2.6加强自我管理,善于自我总结,分析自己优点、缺点、发展意向。

人生最大的敌人就是自己,管好自己,认清自己,还有什么搞不定的呢。连自己的发展意向都没找到,还有什么工作动力呢?

 

3.结言

既然大家都进入了这个行业,真心希望在初入这行的时候能有自己的人生规划,以前我上家公司带了两个毕业生,其中一个做事老实,踏实肯干。另外一个比较浮躁,不安于现状。我对那个老实的人说,首先你进入公司的时候,明白这辈子为了生活,就算不喜欢程序员这行,也要做下去。既然要做下去,你就必须掌握基本技能,再掌握了这些基本技能之后,你可以考虑往你喜欢的方向发展,譬如前台、后台、数据库等等,其中又有分之,供你选择的东西很多。不要嫌累,累代表有事做,有事做代表你成长快,当初我年轻时候就是经常跳槽,嫌累了就跳。但是到现在一直都感觉自己什么都懂,但是什么都不精。现在他专注于做GIS 逻辑拓扑方面。至少找到了短期的一个目标。另外一个浮躁的同学,在我了解家庭条件不错,有家庭事业,我就直接告诉他,不要在这行混时间,以你的心性不喜欢这行,家庭条件虽然允许你一直玩,但是几年后你还是会回到家里,帮着家里做生意。为什么要做自己不喜欢的事情呢?这种家里是土豪的,就不说了。反正当初我才毕业的时候,没有人来告诉我,年轻的时候多吃苦,会少走很多弯路。至少我是走了很多弯路,希望大家不要走弯路。

平时,我们工作中,是相互的工作伙伴。生活上,是每天比家人相处还久的朋友。

放在战场上就是托付后背的兄弟,拿在项目中就是大家互相提供接口的战友啊!军哥叫我整理一个怎么快提高一个编程人员开发项目的方案,我想想自己也拿不出什么体系化的东西,我只能把自己的心得和经验分享给大家。其实就几个字:多想、多做、多看。

多想:为什么这么做,还能怎么做,怎么做更好等;

多做:额外完成任务,自己对自己经常总结评价等;

多看:多看高手代码,多看需求文档,多看别人有经验的人的开发规范等;

by于海航

2015-1-20

 

 

 

0 0
原创粉丝点击