闲聊:项目延期,怎么回事?

来源:互联网 发布:女明星的淘宝店铺 编辑:程序博客网 时间:2024/04/26 17:56

所有的软件项目从立项到结项,几乎都是有延期交付的情况出现,不论你在项目的实施过程多么严密的把控,几乎无一幸免。看到这里的,都是同行,你可以结合自己经历的项目回顾一下。

导致这一现象的具体原因,我作为一个老鸟,以亲身经历总结大概这么几个:

1需求不明确。

这个是非常重要的一个原因,因为项目里所有的人,所有的工作都是围绕这个东西来推进的,所以,这个是根本,如果这个都不明确,那么其他的工作推进都会受阻,而其他工作之间的交集也会导致无法按时推进,这个原因导致的耗时将会是其他某个工作模块的n倍级别的。而且如果程序员跟需求一样粗略,交付后用户反馈问题,需求必然要改动(增加或者修改)需要程序员再做其他工作,情绪不好(本来做完的东西又要继续),会导致质量下降,恶性循环。正所谓:磨刀不误砍柴工。但是,这么说还是不具体,什么是需求不明确?举个例子。要做一个登录模块:需求需要明确定义的地方其实有很多,如果明确定义在先,将会是事半功倍的:

(1)登录页面的进场方式:是匀速平移进入 还是其他其他动画效果进入?是从屏幕下方还是右方进入?等等。

(2)页面的控件布局:页面背景,输入控件(位置<上下左右的距离,不同屏幕尺寸时各自的距离>,背景,边框,聚焦效果,失焦效果,占位符,字体,颜色,默认键盘类型,默认键盘上的回车键展示(Done/Return/Search/Go等等)),登录按钮的所有约束:位置(不同屏幕尺寸如何处理),默认背景,点击背景,点击后回弹背景,按钮标题文本字体,大小,颜色,居中与否

(3)交互逻辑定义:用户名输入控件获得焦点后,键盘至少不能遮挡用户名输入框,输入完毕后,点击键盘的 (Done/Return/Go)是要消失键盘还是要自动聚焦到密码输入框?如果自动聚焦到密码输入框,输入数据是密码是明文还是密文展示?如果是密文用什么特效(点/星),什么颜色的点/星?用户名和密码输入框的字符个数是否有限制?输入类型是否有限制?比方不能输入特殊字符,不能输入中文或者表情等等,点击输入框以外的非交互控件<页面空白处>是否需要键盘隐藏?如果密码输入框被键盘遮挡?需要将密码输入上移到什么位置?动画移动还是直接一下子到位?页面其他控件是否也需要做相应的移动?输入用户名后<用户名输入框有内容,而且密码输入框获得焦点>需要自动做一些逻辑吗?比方需要自动检测用户名的合规性吗?如果需要检测,那么这个过程要展示给用户还是要偷偷的去做?如果不合规,当场就提示用户还是稍候提示?提示的文案是什么?怎么提示?弹框还是小Tip闪屏?需要去服务器验证用户名的存在与否吗?如果需要验证,那么这个网络操作是否需要向用户展示?怎么展示这个操作?转个菊花还是怎么滴?同理在密码输入框失去焦点后是不是也有类似的逻辑?登录按钮点击后该先检测输入(用户名密码)的合规性还是直接提交服务器?不合规该怎么提示?强提示还是弱提示?文案,字体颜色,展示时间长度等等。如果提交成功后,结果返回前,这一段时间(极限假设为10分钟<因为你不能确定网络的耗时,你是绝对不能确定的,不要想当然>,不然这个场景很容易被忽略)该如何展示?菊花?还是其他的?有超时限制吗?限制多久?超时后如何提示?服务器返回结果后,如果一切正常是否有提示?该怎么过渡到下一个页面?如果有异常是否有提示?

等待期间是否可以进行本页面的其他交互:再次点击登录?再次输入用户名和密码?其他操作等等。


这都是需求要明确的!如果需求仅仅是说有两个输入框,一个登录按钮,那你看看上面的问题,程序员需要思考多少问题?他是该如何自己做决定呢?每个小问题他都要自己纠结一下,纠结这些耗不耗时?这得花费多少时间和精力?说的不好听就是产品需求做不到这些,就是不负责任,导致下游工作推进难度激增,怎么能保证项目如期完工?而且就算你做了时间的富裕考虑,程序员工作的反复(当然是需求不明确导致的)会导致情绪极大的波动,影响项目的进度。


作为项目的负责人,不但要关注进度更重要的是关心大家是否需要帮助?不仅仅是一句:遇到什么问题了吗?有什么困难吗?而是要具体到被询问者的工作内容上,怎么具体呢?就是要问:你知道xxx模块要做成yyy样子的吗?主动去发现问题,发现具体的问题,并且帮助解决,推进整个项目的进度,假设技术上你不懂,你也要从需求上去主动的深入交流。


2技术储备不足,风险过大。

   从来都没有做过游戏的一群人,被要求做一款游戏,需要使用从未使用过的开发语言,框架,技术。并不是每一个人都是那么富有激情,富有学习能力,善于举一反三。学习成本过大,导致工期被迫延长,而且质量堪忧。

3交流不畅,理解错位。

这一点其实就是第一点,如果第一点到位了,根本不存在这个,交流的成本几乎为零。



暂时就想到这么几点,我觉得做产品的这个人是非常重要的,也就是产品经理 这个职位的人非常非常重要,如果一个创业项目:产品经理做不好,你看会有什么问题,整个团队的人的所有工作都是围绕他的工作展开的,如果他做的不够好,不到位,影响到的将是整个团队,产品经理不是仅仅需要有好的点子,还要有严谨的逻辑,强大的执行能力。不是说吗:人人都是产品经理,也就是说谁都会有那么几个点子,这个不难。但是为什么没有 人人都成功呢?逻辑能力,执行力不一样:好的产品经理就能面面俱到,让下游工作顺利推进,而没有任何疑虑(程序员跟产品的交集也就是这些:需求全明白就行,至于技术是程序员自己的问题)。

如果产品经理做的到位了,设计按他的要求出稿子,技术上程序员又是轻车熟路,那这个项目推进起来简直是行云流水。


0 0
原创粉丝点击