终于从国庆节前后共两个月的连续加班中抽出身来,写出一篇心得,分享一下项目管理中的小经验
许多从事开发的人,都有一颗将来要做管理的心
那么想象一下,
将来有一天你坐在“产品经理”或者“研发经理”的座位上
老板/领导兴冲冲的跑来找你,手里拿着一摞纸,上面是各种项目的技术方案
一脸殷切的望着你,然后说:
“这些项目哪些适合咱们做?”
顺便还告诉你,尽快搞定拍板,半个小时后投资人就要决定初步的项目实施方案
估计大多数第一次碰到这种情况的人,内心都是崩溃的
或许,之前你在大公司,已经习惯了开各种会,对于这种紧急的需求完全没法应付
“这至少应该给一个星期的时间让我联系各部门研发主管,大家一起看完讨论过之后才能决定的啊!”
你默默的在心里吐槽
又或许,你之前的开发经验,只能用来判断“前端”或者“后台”或者“测试”中的某一项开发工作耗时长短,并不够hold住五花八门的各种需求
“这个APP不就是画个界面嘛,找两个移动开发两天就能搞定了——俺们PHP后端要解决的才是真技术难点”
于是,你秉承着开发时的优良习惯,打开了google或者百度,键入
“如何快速评价需求技术难点”
然后你看到了这个:
http://blog.csdn.net/dw_java08/article/details/7601386
这个:
https://www.zhihu.com/question/19686568
还有这个:
https://zhidao.baidu.com/question/1046225388775474819.html
丫怎么都是各种开会开会开会开会讨论讨论讨论读书读书读书啊???!!
能不能传授一些更宝贵的人生经验啊啊
你看了看表,十点二十六
”找不到给力的攻略,感觉不会再爱了”
————————少年啊!快看这里!!————————
作为一名既做过移动端也做过静态网页,阅读各类技术需求文档上千,PHP和Java后端也有实践涉猎,踏遍猪八戒从开发建站到营销推广乃至品牌创意各个板块的标准老司机
没时间解释了
————————文档~~来了!!————————
我随机找到了一篇某软件的开发技术文档
打开一看,哎八十多页怎么读的完
不用慌,只需五步,
就能对这个项目的开发所需时间和技术难点做到心里有谱
————————第一步,看用户————————
先ctrl+f,搜“用户”这个关键字
找到“用户业务逻辑”
OK,现在跟我来数:
管理员1
普通用户2
........
还有嘛?
木有了
OK搞定!
我们现在只用了十五秒钟就搞明白了这款软件的用户场景数量
那么搞定用户场景的数量有什么用处呢?
道理很简单:用户场景越多,开发时候需要考虑的用户使用方式和权限类的事情就越多!
————————第二步,看架构————————
是的没看错!就是架构图
搜“结构”或者“架构”
找到系统架构设计图
详细的查看每一个文件夹下的文件总数量
文件数量越多,那么这个系统里的各种方法在逻辑上的离散度就越高!
————————第三步,仔细浏览功能清单————————
查“功能清单”
会找到两个:
一个是管理员功能清单,一个是普通用户功能清单
OK我们现在要耐下心来认真读一下:
日程管理 |
我的日程 |
部门日程 |
我的便签 |
文档管理 |
文档管理 |
回收站 |
文件搜索 |
消息传递 |
消息管理 |
信箱 |
系统管理 |
角色管理 |
登录日志 |
操作日志 |
菜单排序 |
考勤管理 |
考勤历史记录查询 |
考勤统计 |
交流中心 |
聊天室 |
如果之前有开发经验,你肯定会对“如何实现这些功能”在心里有点谱
不过有没有谱这个不关键,关键的是:
在这些功能,那些有可能会出现技术难点?
直觉会告诉你
“文档管理”“文件搜索”和“聊天室”
这三个功能很可能会出现坑
至于为什么会出现坑,就先不提文件管理功能和用户端如何同步数据、还有文件搜索中的条件查询对数据库所造成的负载,和可以预见到的聊天室种种权限问题了
OK
现在把思路抽离出来
思考一下刚才的功能列表,有没有可能出现功能互斥或者逻辑矛盾?
没有
那就好
往下看
————————第四步,看界面————————
是的,现在开发是个艺术活儿
界面花哨,开发成本也越高
搜“界面”
你会看到产品的原型图和UI设计图
如果你看到有大量的华丽高端特效图
那么可以预见写界面那哥们会有多么亚历山大了
在这一步,对界面的特殊布局和特效出现“数量”
要心中有谱
还好,我们看到的这款软件,界面比较朴(cun)实(pao)
可以暂时松一口气
————————第五步,看平台————————
看清楚要给哪些平台的用户开发这款软件,PC?MAC?iPhone?Android?
搜“用户环境”
会看到如下:
浏览器(如IE 6以上版本)+网络
开发(生产)环境:
Window Server 2003 ; Visual Studio 2005 ; SqlServer2005
唔,只有浏览器端
再确认一遍。
哦,还是只有浏览器端
好了,这篇技术文档看到这里,差不多已经花了五分钟时间
看完这些,足够对这个项目的开发时间,有个大概的估计
至于具体用时的计算方法~~~~
————————如何计算项目开发周期————————
木桶原理!!!
“一只水桶能装多少水取决于它最短的那块木板”
是的,并不需要用到上面五步的每一个数据
我们只需要考虑到最耗时间的那一步,需要花费多久的时间就够了!
因为开发进度是可以通过增加一定数量的人手来加快
那么最最难实现的那些技术点,就是我们赶项目的过程中,最耗时的坑点!
思路图,
链接如下:
https://www.processon.com/diagraming/5820753de4b018542589a947
难点功能有几个?
三个!!
有木有硬伤或者难以实现的功能?
木有~~
很好!
预估项目开发时间就是:
最难的功能“文件管理”——开发周期约15天
乘以三倍等于:45天!
很好,现在拿着你的技术文档——胸有成竹的去会议室吧!