在创业开始时,也许有一个点子,经过研究调查有市场可行性就开始召集人员开始创业。这个时候一般都是单打独斗,一两个人负责所有的事情,包括产品设计、交互原型设计、网页美工切割、程序开发、功能测试。这个时候基本不用合作,采用独立开发模式,自己搞定保存就可以了。不过也有风险就是硬盘坏了怎么办呢,要知道硬盘是最脆弱的东西了,我一般的话会定期备份硬盘的东西。
如果发现创业模式可行,需要赶时间抢市场,一两个人完成不了很多任务,就需要更多专业的人加入才能做出一个交互很好、页面美观、功能好用的产品。这个时候一般的话应该有产品经理、美工设计、程序开发、测试、运维。但是这些角色不是说一定要安排这么多岗位的人,需要根据公司具体自身情况来设定。
有了点市场机会,时间才是最重要的。如果按照传统的计划型开发模式就不太适合了,敏捷开发还算比较相像。不一定说非要采用什么开发模式,这个也要根据自己的公司来决定。我们的模式应该是像中国的社会主义社会一样是基于敏捷的XX公司的开发模式。
好了,岗位都有了,咱们怎么分工合作呢?这时,因为是根据点子来演化产品,很多东西都是不确定的,不能定一个大的一成不变的长时间计划和需求。毕竟这个时候要求需求不变也是不可能的,我们本身自己就充当了产品经理的角色。不只要想市场和老板的需求,还要产品本身和功能实现的需求,逐步把一个模糊的东西变成可以实际操作的产品原型,再形成最终产品。结合敏捷开发的特点,以人为本,把一个大的需求分成小需求分给适合的人来完成。上面所说的那些角色不一定每个岗位都需要一个具体的人,也可以是一个人承担一个角色,或者多个人承担一个角色。比如我们公司暂时就没有产品经理、测试、运维,程序开发负责开发、测试、运维,产品设计所有人都要参与。总体产品设计由一个人来把关和跟踪,细分到每一个产品都要对自己的产品负责分析和跟进。相当于贯彻了一句话,好像来自于阿里巴巴的一个产品写的一本书《人人都是产品经理》。如果自己对自己的产品都不清楚、玩不转、操作不了,谈什么让用户喜欢呢?不管美工、研发、测试、运维,都需要对产品有很好的理解。如果可以的话,不只是要理解自己做的一小块需求的产品,还应该了解更多其他同事的产品。作为产品总体把关的人一般是技术总监需要对每一个产品都很熟悉,这样才能跟进和设计讨论。所以研发、美工、测试、运维不管做什么工作,都需要站在一定高度思考问题,既然创业就需要以创业的角度思考,这样对自己的职业发展有帮助,也可以做好产品。
在根据一个大需求技术总监和大家讨论,把模糊的东西逐步清晰化得到一个比较明确的做法后分到合适的人上。这样大家各自领导自己的需求开始分析具体实现,得到一个大概的思路后再和技术总监讨论确定最终具体实现。关于美工总体需求分析可以参与,这样便于了解整个需求,还是那句话了解了才能设计出好看好用的产品界面。细节的需求和技术实现就让研发来想和确定。在研发确定好了实现方案后,和美工进行讨论界面的实现方案,这个时候美工就清楚了小需求的实现功能和界面方案。然后美工设计界面,有时间可以多弄几个方案,开始可以在草图用笔画,也要沟通、讨论、确定。最后选择一个用户界面,研发开始开发程序、美工切割页面。如果美工的模板和规范基本都有确定了,那工作可能就不是太紧张,所以可以应对几个开发的需求。这个根据具体的情况确定美工的人数。
研发开始可以自己弄页面,先把动态的标签确定好了,后面根据美工切割的页面套入。然后研发后台逻辑,一般都是从前台到后台开发甚至db开发都需要懂点,这样才能保证高效开发。如果横向切分,一些人研发service、一些人研发dao,一些研发jsp会增加不必要的沟通浪费时间。如果后面项目庞大了,还是建议应该增加一个专业的前端js开发和后台DBA。研发开发好自己的业务代码对功能进行测试,测试ok技术总监确认就等集成连调。这个时候的开发都是在自己的本机完成,不在测试环境测试是为了提供研发速度和效率。大家都知道如果是java开发,部署war不断reload会影响他人的工作,如果工程比较大启动也比较慢。如果在本机,只是修改类里面的东西和jsp等直接就可以看到效果。修改类签名和增加类等需要重新部署。
大家都开发好自己的模块后,集中在测试服务器集成测试。这里可以由指定人来打包部署,大家一起测试找问题,修改。关于前端一般是自己改好了原型界面,后面被嵌入了动态页面后就直接修改动态页面了。预览在集成服务器,这里可以把预览和svn服务器集成,前端美工提交jsp到svn后就生效,他也可以直接看到效果了。具体操作后面文章再介绍。最后测试没有问题,老板确认,发布外网服务器、部署db。这里也容易出错,如果发布者不是本人很容易漏掉东西,所以最好在发布时,如果改了除了程序以前的东西需要提供发布列表一并修改。
再以后随着项目的庞大和人员的扩充就需要借助更多的模式和辅助工具来寻找更适合自己的方式了。比如页面发布工具(前端可以直接发布IDC)、持续集成(可以自动部署测试和IDC)等等。项目中最最重要的还是人,根据人来选择不同的工作模式,就像豆瓣CEO说的,什么语言工具技术都没关系,最重要的是人、团队。相信经过大家的磨合, 每一个都是超人(技能、沟通、合作)的团队就是这么诞生的。
原创文章,转载请注明: 转载自LANCEYAN.COM