经验分享-20天轻松搞定一个6000的小项目

通过20天的沟通与开发,在云沃客上接的第一个项目终于成功交付了。目前产品运行良好,与客户的远程合做还算顺利,进度把握的也很好,算是比较成功的一次接包经历。如今给你们把从平台接包、开发、沟通、测试部署到最终的项目交付过程分享出来,供你们参考,若有须要改进的地方,也欢迎你们指正。前端

接包node

之前作的项目都是经过熟人介绍或者本身跑的,偶尔在线接一些小的项目,可是没怎么用过相似这种自由开发平台或者众包平台,有次在网上找项目的过程当中,偶然间发现了云沃客,上边项目很多,观察了几天发现项目更新的也挺快,立即决定在上面试一试。翻了一会终于找到一个适合本身的了,是实现一个小游戏的后台管理系统,其中附带了一个功能模块描述文档,看过以后感受工做量适中,前台页面,后台服务以及数据库的设计一我的就能搞定,难度不大,6000元20天感受还行,果断就投标了。mysql

投标的时候要根据本身的心理价以及发包方的预算定一个项目报价,不恶意压价也不天马行空,再选择一个合适的工期,而后在留言中写了一些本身的相关技能,以及提供一些我以前参与过的与标的相似的项目案例,网址或者下载连接,供客户参考从而提升本身的中标率。linux

投完后就能够静待对方的回复了,建议安装官方的云沃客APP,若是客户打算和你进一步详谈,经过APP能及时收到消息。这时的沟通主要是一个相互了解和熟悉的过程,为之后的合做打好基础,要让客户放心把项目交给你,估计是人品爆发,谈了一会客户就决定让我作了。接下来就是针对当前的需求进行一下简单的梳理,作到心中有数,若是有比较大的坑或者一些明显的问题及时提出来,以避免作的过程当中又扯皮。最后就是对项目价格和工期进行再次确认,一次肯定好或者根据最后的项目交付状况灵活处理,具体状况具体分析。待这些准备工做作好后就能够开工了。git

技术面试

我接的这个项目由于是一个后台管理系统,所以客户对于UI设计没有严格规定,只要不难看知足功能要求就行,这个省了很多事,本人自认为开发还行,设计彻底是个二把刀,不过审美能力和需求把握能力还行,知道客户想要个什么样子的系统。由于工期短,要快速出东西,同时客户对于技术这块也没有要求,通过短暂的思考后就肯定好了技术方案。sql

  • 前端:Vue+ElementUI
  • 后端:nodejs+thinkjs
  • 数据库:mysql

这样搭配有个好处就是先后端开发效率都很高,而且能同时进行,打包部署也很方便。前端的ElementUI就是为后台管理而生,丰富的界面组件和优雅的主题几乎能知足全部须要,同时有强大的社区支持,这样妈妈不再用担忧我掉进坑里而不能自拔了。此项神器再配以天生高效而且功能强大的Vue,简直了都。由于项目自己并不大,所以后端选用轻量级的node服务就够用了,再搭配thinkjs这种通过业界考验的MVC框架写起API来简直是驾轻就熟。没用express或者koa这种轻量级框架彻底出于我的喜爱,就是懒得找插件。数据库

话说开源社区真的是一个好东西,虽然以上这些框架都有脚手架支持,能快速搭建项目,可是你能在开源社区里找到更棒的,而且更省时省力的干货,无论是GitHub仍是OSChina都能发掘些能拿来直接用的代码或者源码,非常方便,此次就帮我很多忙。express

项目管理后端

以前作项目时用的比较多的项目管理工具是teambition,很好用,无论是人员管理仍是任务分配都很便捷,可是自从部分功能收费后就不怎么用了。如今几乎全部项目都用tower来进行管理和跟踪,小巧而灵活,所以这个项目我也选择了tower,不过据说云沃客也在开发本身的项目管理工具,并且立刻就要上线了,到时能够尝试一下。在tower上建好项目后把客户也加进来,让客户能够在之后的开发过程当中能清楚当前的项目进度以及遗留的问题。明确哪些是待处理的功能,哪些是进行中的功能以及哪些是已完成的功能,这样持续性的分阶段测试和交付更能保证项目进度和质量。

首先在tower上建立好项目后,根据项目的功能需求分阶段建立任务,每一个阶段的任务应该有优先级之分,最关键的永远在最前面。一开始的时候,任务粒度能够稍微大一些,在后续的沟通和开发过程当中能够慢慢调整和细化,任务处理和更新要及时,作到每日一更,遇到问题作好备注和记录,方便稍后处理,这样在体现本身工做量的同时也能让客户心理有底。同时在tower上,可让客户在系统的测试过程当中提交bug,早发现早处理,尽可能作到,一次过去,寸草不生。

时间管理

我不是彻底的自由开发者,还有本身的工做,所以如何平衡本职工做和这个兼职工做的时间也是比较关键的,若是处理很差,就很容易翻车,两头不讨好。还好,在这以前,公司的一个项目成功上线,如今只是进行bug修复和功能上的维护,处于一个平稳期,所以天天能够保证必定时间的开发工做。

天天一到公司,先把本职工做中的紧急事情处理完,这样白天就不会有人打扰了,剩下的时间就能够彻底投入外包项目的开发,那段时间,白天上班期间能够投入3个小时,晚上回去根据状况再作2个小时,若是白天时间被挤压的不够,那就相应的延长晚上的工做时间,尽可能作到互不干扰。总而言之,天天时间就那么多,因此提升工做效率才是王道。

沟通

因为是远程开发,所以少不了频繁的线上沟通,有效且及时的沟通是项目成功的第一步。白天在公司接电话和语音都不方便,所以主要经过微信来进行交流讨论,虽然配有tower神器,毕竟不是很及时,所以不少时候就让客户直接在微信里贴图,我也能及时分析和回复。白天经过文字沟通毕竟不方便,有些问题描述不清楚,所以天天晚上就和客户约好时间经过语音沟通,总结项目问题,讨论项目进度。

沟通的时间成本是很高的,尤为在需求讨论阶段,可是这个阶段也是很关键的,若是理解不到位,就很容易在后期的开发过程当中跑偏。这个项目客户只提供了一个excel表格,将各个功能需求大体描述了一下,没有设计图也没有流程图,由于要作WBS,一开始我跟客户经过微信逐个功能的讨论细化,发现不但效率低并且很容易形成理解上的不一致。后来,就用了另外一个神器—百度脑图,将我细化的功能点画了一个思惟导图,而后教客户怎么用,让他根据他想要的在上边改,这样反复几回需求立马成型了,而后在根据这个图把任务加到tower上,大大缓解了远程沟通的不便以及提升了沟通效率。之后若是有问题能够先迭代思惟导图,而后更新任务,作到需求上全面跟踪,这样对本身是一个保障,也能很好的婉拒客户要求的改改改。

开发

前期工做准备充足后就能够安安稳稳写代码了,仍是这个最在行。因为项目不是很大,所以我就把先后端放到一个工程下,这样开发起来很便捷,不用切来切去。虽然是一我的全权处理,代码规范也要作好,以避免本身给本身挖坑。一我的也要把代码的版本控制工具用上,作好代码跟踪,我比较青睐git,不只开发时方便,并且部署也方便。

代码作好把控后,对于开发周期也要作好规划,不能从第一天一直埋着头作到最后一天,而后给客户说好了,作完了。这样不但客户会炸,本身也极可能白忙一场。我这个项目就分了三个阶段,恰好一周一个阶段,第一阶段主要是基础架构搭建和前端静态页面展现,完了能让客户看看大体效果,有问题及时更正,第二阶段主要是API的开发和主要功能的集成,第三阶段就是剩余服务的集成,测试和问题处理,给每一个阶段尽量的留出一些时间处理客户发现的bug以及作一些小的改进,尽可能作到不紧不慢,收放自如。若是在中间某个阶段客户忽然脑门一热要求大改,那就要仔细评估风险了,和他聊聊人生,谈谈美好的事物,若是仍是没法让他知足,那就要么加钱要么加时间再加钱,就这么简单。

部署与测试

就像以前提到的,要分阶段开发,所以完成一个阶段的任务就应该让客户能看到东西,并进行相关的测试。这样也不用把前边的问题压到后边,给本身制造混乱。客户的服务器是阿里云的linux服务器,已经用惯了,因此很顺手,两三下把环境搭建好,手动使用git远程拉代码和打包,还没尝试过自动部署,始终以为本身亲力亲为才让人放心,之后能够试试。不过尽可能不要本地SSH上传,由于很容易出现人为错误,再处理这个问题就有些得不偿失了。服务器环境处理好后,再配置反向代理,而后启动服务,客户就能随时随地进行项目测试了,发现问题及时经过微信反馈给我或者放到tower上,待我后续处理,井井有理。

交付

待全部功能开发完成,而且测试无误后,就能够结项交付了。若是须要质保的话这个一开始要谈清楚,包括时间和价格,要是有改动的话,那就是另一码事了。待客户确认好后就能够提交最终的里程碑文件,而后结帐付款,让客户在云沃客上给个评价,结束合同,至此,一个项目的周期正式结束了。

总结

一我的接包和开发有时是很孤独的,全部问题得本身所有扛着,因此前期工做要作充分,能干就干,干不了及时提出来,你们时间都很宝贵。对于有本职工做在身的开发者而言,项目管理和时间管理要作好规划,处理很差不但会影响本职工做还可能还会影响本身的生活,必定要谨慎。这种毕竟是远程开发,很难和客户面对面交流,因此在沟通上要认真和高效,说问题不扯淡,要作到相互信任。这些都是个人真实体会,有感而发,但愿帮助到你们。第一次在云沃客上接的项目还算顺利,下次继续。

相关文章
相关标签/搜索