今天的阳光真美好,从来没有觉得这么美好过,这是我从总监办公室走出来后的第一个感觉。此时,部门的一位新来的美眉笑眯眯的走过来问道:“什么事这么开心了,难道有钱分了!”。“还真别说,今晚请你吃饭!我升职经理了……”我得意洋洋的说道(梁卓耀http://liangzhuoyao.blog.51cto.com)
    本人项明,在一家服装企业信息部里担任程序员,至于工作嘛,无非就是写写代码,开发一些信息系统或软件。至于为什么今天这么高兴嘛,人生最快乐的事情,莫过于升职加薪了!没错,我马上就升为技术经理了。虽然职位相对不高,但对于才工作三年的我来说,也算是一个鼓励——好歹也踏进管理层了,偷偷的臭美一把,我公司里还有一位做了四年多的同事依然没动过位置呢!
    临下班的时候,跟她确认约好下班后去公司旁边的刘爸爸土菜馆吃饭。她已经来了好几个月了,是应届毕业生,学的也是软件专业,不过这年头都很难找工作。不过生得挺漂亮的,在程序员这世界里,美女程序员永远都是最受欢迎的。因此一直都很想约她吃顿饭,但苦于没机会。今天终于趁着这机会,好好的威风一把了。
    很快不知不觉的就到了晚饭时间,大家坐好点菜后,便开始聊起天来了!她也好奇的问起我有什么职场秘芨来了。听到这里,我心里偷偷的乐了一把,然后故弄玄虚的把所谓的经验总结为四个字:“多想少做”。“多想少做?”她听了之后有点吃惊,“应该是多做少想吧!”她纠正道。“不是的,是多想少做。详细情况,请听我娓娓道来!”(梁卓耀http://liangzhuoyao.blog.51cto.com)
    “我主要的工作是写代码,但你可不要以为我只会写代码。我觉得技术能力很重要,但正确的工作方法更重要。比如现在需要开发一个在线考试系统,你觉得应该如何做呢?”我问道!
    “一开始当然是进行需求调研,看一下要开发一些什么样的功能,然后再根据这些功能去开发了”美眉答道。
    “没错,假设如果调研到以下的需求,开发的时间是半个月,按常理来说,这时间很紧很紧,基本上加班加点都难以有足够的时间完成。”我说道,然后找了个笔记本和笔,在纸上列出了一些需求:(梁卓耀http://liangzhuoyao.blog.51cto.com)
1.    考试网页不能刷新和后退;
2.    不能具有复制考题的功能;
3.    具有自动计时和提醒的功能;
4.    具有到时间后强制交卷的功能;
5.    管理员可任意设置考试试题、答案、评份标准等;
6.    考试系统具有随机抽取题库进行考试的功能;
7.    考试系统具有交卷后自动评分和通知考试人的功能;
8.    考试系统需要至少支持选择题、填空题、判断题三类题型的功能;
9.    考试系统具有查询和汇总各考生成绩的功能;
10.考试系统具有智能纵向和横向统计分析考生成绩的功能;
“假设我们调研到这些需求后,在这么紧张的时间里,那接下来你是怎么去做的?”我问道。美眉想一下,回答道“应该写成简单的需求文档,然后进行撰写代码进行开发!”
我笑一笑,竖起手指摆了摆,“NONONO!按照软件开发的步骤和理论,是到此为止的。但如果要做得更出色一点,调研到需求后,绝不是就立即进行代码撰写的!”“那你说,需求都很明确了,你说,不进行程序开发,难道还有其它东西要做吗?”美眉扬着眉不服气的说道。(梁卓耀http://liangzhuoyao.blog.51cto.com)
“是的,我一般调研完需求之后,我会首先进行换位思考,如果站在考试系统使用者和管理员的角度上,我如何看待这个考试系统的功能呢?然后我把调研到的需求分为两类,一类是必须要做到的功能,一类是希望能做到的功能。”我喝了点茶,继续说道。
“把刚才列到的需求重新分一下类,以下分成这样”我在笔记本上继续写道:
必须要做到的功能:
1.      考试网页不能刷新和后退;
2.      不能具有复制考题的功能;
3.      具有自动计时和提醒的功能;
4.      具有到时间后强制交卷的功能;
5.      管理员可任意设置考试试题、答案、评份标准等;
6.      考试系统具有交卷后自动评分和通知考试人的功能;
7.      考试系统需要至少支持选择题、填空题、判断题三类题型的功能;
8.      考试系统具有查询和汇总各考生成绩的功能;
希望能做到的功能:
1.      考试系统具有随机抽取题库进行考试的功能;
2.      考试系统具有智能纵向和横向统计分析考生成绩的功能;
“嗯,这样一分类,好像清晰了些。如果我没理解错,必须要做到的功能就是考试系统一定要具有的核心功能,如果没有这部分功能,考试系统的就不能发挥其应有的作用,是属于基本型功能。而希望能做到的功能,是考试系统增加这部分功能之后,会发挥更大的作用,但没有也不是不能正常使用,是属于增强型功能。然后在程度开发的过程中,优先完成基本的功能,然后有剩余的时间再完成增强型的功能。如果时间不够,也能因为有基本的功能,使得考试系统能先进行正常的使用。增强型的功能后补。这样无论是对于客户来说,还是对于项目成果来说,都大有益处。你看我理解的对不对!”美眉得意的说道!(梁卓耀http://liangzhuoyao.blog.51cto.com)
“是的,你很聪明,理解的很到位!果然外秀慧中、冰雪聪明!”我不失时宜的称赞道!
“当然了!分完类后,那应该接下来就是进行代码撰写了吧?这就是你所说的多想吧,确实是多想了一步!”她谦虚的继续问起来了!
“不是的,这个多想一步,很多人很多书都会提到。但我的独门秘芨,岂会如此简单呢!我的起码胜“多想一步”两倍了”我故弄玄虚的说道!
此时服务员端了之前我们点的招牌菜“剁椒鱼头”,大大的鱼头上面铺满了红红的辣椒,引得人食欲大振。于是我示意道“来,我们边吃边聊!”于是大家一起动筷子,开始横扫桌面菜!
“这里的鱼头做的就是不错,我在家里就是做不出这个味道!我想这大厨肯定有他自己的独门秘芨,就像你的独门秘芨一样。那个大厨我不认识他,但此时你却坐在我的面前,大家同坐一席,但可能我却无缘聆听大侠的绝世武功秘芨了!”美眉说到最后,一面可怜惋惜状。(梁卓耀http://liangzhuoyao.blog.51cto.com)
见到此,我心中突然一阵难过。其实我也并非小气藏私之人。只不过想故弄玄虚而已!听到这话,连忙接话道“怎么说得我好像那么吝啬似的!其实‘真传一句话,假传万卷书’!我的所谓秘芨其实就是多想两步而已!”
“说白了,就拿刚才我说的需求调研来说,就是除了把需求调研的功能分类对待,把资源和时间弹性高效的用于满足于基本型的功能或者说是条件型的功能,然后再满足于增强型的功能。能确保软件的按时按质完成之外,还有一点就是除了调研得到的需求外,还要主动去想各种特殊情况下还有些什么样隐性的需求。比如这个考试系统,按表面正常来看,上面调研发掘的十项功能,基本上就能正常运作,满足需求了。但其实不然,因为这些需求都是在正常流程或正常情况下运作所需要的功能,还有一些没有想到的,但确实存在这方面需求的功能!”
“嗯,还有其它功能吗?我先想一下”美眉托起头,费心的想了一会儿,开口说道“我真的想不出来了!”(梁卓耀http://liangzhuoyao.blog.51cto.com)
“其实我们可以模拟一个使用者的使用流程来测试这个考试系统。当然从开始考试到阅卷评分,以上的功能基本上都能满足了。而且一个考生基本上知道自己的分数后,也完成了该项考试任务了!”感觉到有点口渴,我端起杯来喝了点水,继续说道“虽然大多数考生对自己的考试成绩基本上都不会产生怀疑,但有部分学生,如果考得特别差,就会要求老师复查成绩,知道试卷的扣分情况。如果我们事先没有想到这点,而等到考试系统完工正常运行,之后才发现这个问题,将需要比较长的时间又去补充开发,使用者就会产生不满,而客户也会觉得我们需求调研做得不够。因此为了更好的完成项目,我通常在开始进行代码撰写之前,一遍遍的在心里模拟整个考试系统的运作过程以及某个点上出现特殊情况的措施等等!这样当我动手进行代码撰写开发的时候,那些功能需要补上,那些问题点需要特别注意,那些细节需要特别小心,都会全局考虑到。这能有效的减少软件的返工次数和程度。这也是我多想的第二步!”(梁卓耀http://liangzhuoyao.blog.51cto.com)
“心细如尘,佩服佩服!怪不得你的工作质量和表现如此的好!多想两步,果然不错!以后我也要好好的运用在实际工作当中!”美眉不失时宜的称赞道。“来,祝你新的仕途前程似锦,步步高升!我们干一杯!”(梁卓耀http://liangzhuoyao.blog.51cto.com)
听着美眉眉的赞扬,喝着干杯的啤酒,心里美滋滋的!
“嗯,你刚才说的好像都只是‘多想’的部分,那么又如何‘少做’呢?”美眉一副听课的样子。(梁卓耀http://liangzhuoyao.blog.51cto.com)
我想了一下,回答道“嗯,现在时间也差不多了,我们桌上的菜都凉了,还是先吃东西吧!你先把这个好好的运用起来,等下次有机会,我到你家品尝你的厨艺的时候再好好的交流交流吧!”在有求于我的时候,我不忘记制造机会多多接触!