【基于微信小程序的社区电商平台】Alpha迭代心得
项目团队:小豆芽
开发周期:11.5-12.2(Alpha版本)
设想和目标
1. 我们的软件要解决什么问题?是否定义得很清楚?是否对典型用户和典型场景有清晰的描述?
- 解决问题:当前电商平台卖家买家角色固化,买家在没有寻求到心仪商品时无法记录并告知他人,卖家出售商品无法确认是否有市场有需求;
- 软件定义:基于微信小程序,实现一款可以个性化发布心愿或商品,借助圈子个性化营销的电商小程序;
- 典型用户:热爱线上购物的小伙伴;
- 典型场景:肥宅的家中;
2. 我们达到目标了么(原计划的功能做到了几个? 按照原计划交付时间交付了么? 原计划达到的用户数量达到了么?)
目前来看Alpha版本的计划基本完成。
- 预期实现功能:首页浏览商品,点击相应商品可以查看其详情/评论,以及可以选择加入购物车/关注卖家/直接购买三个功能,搜索栏可以搜索商品,发布模块实现发布心愿/商品,心愿单界面对已发布心愿的修改或删除,“我的”模块是修改用户昵称头像,绑定邮箱手机号,填写收货地址,查看购物车和交易记录等。
- 验收交付:在第一阶段验收成果,以上功能基本实现,遗留的问题就是微信支付的接口个人小程序无法调用,这是技术之外的又一大难题。
- 用户数量 这一指标不在本次计划范围之内,用户反馈模块还未知;
3. 用户量, 用户对重要功能的接受程度和我们事先的预想一致么? 我们离目标更近了么?
- 在这一阶段不考虑上线,接受程度还未知,不过这一模块的开发目标还是更近了。
4. 有什么经验教训? 如果历史重来一遍, 我们会做什么改进?
- 在确认需求阶段不仅要有创新有难度,还要做好任务难度衡量,因为比较特殊的是这个项目创新需求是团队自己来提,很容易导致任务难度不在能力范围之内,比如微信支付功能,在后续开发时才知道个人无法调用,实现困难。
- 会在之后遇到类似情况吸取教训,历史不会重来一遍,不后悔选择这个项目,遇到问题和团队一起想办法去解决就OK。
计划
1. 是否有充足的时间来做计划?
- 按照课程流程来说,4-6周做出项目整体计划的完善与原型制作,时间还是充足的;后期开发按照计划来进 行,有改动也是酌情而定;
2. 团队在计划阶段是如何解决同事们对于计划的不同意见的?
- 团队有不同意见很正常,原型计划阶段是开会大家轮流在黑板上画出自己的简单构思,大家觉得可行的办法记录下来最后一起汇总,这一阶段不同意见还不是很大的冲突。
- 数据库设计阶段因为不同意见难以调和确实有点小冲突,哈哈哈哈不过也是很有趣了,既然你不让我我不让你最终决定:找老师!在老师指导下发现有些功能单独做出表会提高检索效率,有些不必太过精细。准备阶段就这样结束,之后就是开发了。
3. 你原计划的工作是否最后都做完了? 如果有没做完的,为什么?
- 目前这一阶段计划的工作除了微信支付这个小意外,其余基本完成,后期会讨论是否去掉这一功能,毕竟可行性的确受硬性条件限制(没有公司也没有钱)
4. 有没有发现你做了一些事后看来没必要或没多大价值的事?
- 这个只不过有些不熟悉走了太多弯路浪费时间(比如备案)。
5. 是否每一项任务都有清楚定义和衡量的交付件?
- 是,小程序拥有清晰的框架,这一阶段基本一个界面对应前端一个文件夹和后台一个jsp。
6. 是否项目的整个过程都按照计划进行,项目出了什么意外?有什么风险是当时没有估计到的,为什么没有估计到?
- 计划自然赶不上变化,因为备案原因,一开始只能用ip访问实现一些小功能,发布上传图片必须要域名通过,所以和团队暂时搁置了这部分,开始其他功能界面开发,险就险在验收前五天终于完成备案,开始突击发布模块和整合所有功能。
7. 在计划中有没有留下缓冲区,缓冲区有作用么?
- 缓冲区的话。。周天验收,计划周五通宵完成所有剩余模块,周六这个缓冲区测试bug,小修改什么的,不然在deadline最后一天来完成心里压力也是有点大。有用是有用,就是通宵才发现以后还是好好养生吧
8. 将来的计划会做什么修改?(例如:缓冲区的定义,加班)
- 之后项目注重于算法和美工,所以和前期不一样,每周都要有个deadline吧,不然算法这块真不是最后突击就有用的,而且希望能避免刷夜,真扛不住扛不住。
9.我们学到了什么? 如果历史重来一遍, 我们会做什么改进?
- 整个项目发展到现在,收获最大的就是真切感受到了一个软件的生命周期是怎样运转的,coding是重要,但是前期的充足准备更能让开发事半功倍。重来一次,会在需求讨论时候多方面考虑。
资源
1. 我们有足够的资源来完成各项任务么?
- 可以完成任务,但还没有到充足的程度,时间比较紧张,没钱也是硬伤。。。
2. 各项任务所需的时间和其他资源是如何估计的,精度如何?
- 时间安排大致按照计划,有些模块难度较大会延长时间,都是看情况而定,精度不高。
3. 测试的时间,人力和软件/硬件资源是否足够? 对于那些不需要编程的资源 (美工设计/文案)是否低估难度?
- 测试的时间不太多,完成每一功能自己会先测试,最终汇总再次测试,但是因为考虑的方面不太全,这次验收来看还是有遗漏。
- 人力资源还是可以的,软件/硬件这部分,服务器也是学生价,被吐槽无数次。
- 前期原型设计和过程中的文案,难度可以接受,只不过就是投入时间很重要。
4. 你有没有感到你做的事情可以让别人来做(更有效率)?
- 分工还是较为合理的,每一阶段每个人都有不同的任务,开发阶段也不能只靠代码能力强的同学。
5. 有什么经验教训? 如果历史重来一遍, 我们会做什么改进?
- 美工文档方面还是要精细注重的,接下来这一阶段希望整体更加规范。
变更管理
1. 每个相关的员工(组员)都及时知道了变更的消息?
- 是的,每一次变更或讨论都会在群里通知。
2. 我们采用了什么办法决定“推迟”和“必须实现”的功能?
- 按照迭代计划优先级以及实际情况实现可行性。
3. 项目的出口条件(Exit Criteria – 什么叫“做好了”)有清晰的定义么?
- 能够达到迭代计划里的预期功能即可。
4. 对于可能的变更是否能制定应急计划?
- 在微信支付无法实现的情况下选择调整优先级先做下一功能块,应急计划还是视情况来定的。
5. 员工(组员)是否能够有效地处理意料之外的工作请求?
- 可以,在测试的时候需要更多测试数据,后台同学能够及时处理好向数据库再次添加数据。
6. 我们学到了什么? 如果历史重来一遍, 我们会做什么改进?
- 开发阶段沟通很重要,所以这几周面对面沟通编程时间强度加大。再有一次仍会如此。
设计/实现
1. 设计工作在什么时候,由谁来完成的?是合适的时间,合适的人么?
- 设计阶段在最初4-6周,PM完成框架汇总大家意见,可以改进的地方队友再进行修改。时间人员分配较为合适。
2. 设计工作有没有碰到模棱两可的情况,团队是如何解决的?
- 功能块细分的时候意见不统一会再次沟通。
3. 团队是否运用单元测试(unit test),测试驱动的开发(TDD)、UML, 或者其他工具来帮助设计和实现?这些工具有效么? 比较项目开始的 UML 文档和现在的状态有什么区别?这些区别如何产生的?是否要更新 UML 文档?
- 运用UML,让每一个功能块细化,自然也是在改进,因为项目进行中不同的小意外与实现度加大,UML也是要修改的。
4. 什么功能产生的Bug最多,为什么?在发布之后发现了什么重要的bug? 为什么我们在设计/开发的时候没有想到这些情况?
- 发布信息模块,因为不同其他只是向服务器请求数据,这块需要上传数据,因为不太熟悉还有时间问题,bug较多,这一阶段还未发布上线。
5. 代码复审(Code Review)是如何进行的,是否严格执行了代码规范?
- 小组之间相互检查代码,还没有严格执行代码规范。
6. 我们学到了什么? 如果历史重来一遍, 我们会做什么改进?
- 没有哪一阶段是不重要的,原型设计与代码规范要注重。
测试/发布
1. 团队是否有一个测试计划?为什么没有?
- 目前还没有,会在项目coding结束后集体进入测试,形成测试文档。
2. 是否进行了正式的验收测试?
- 是,这是由课程老师安排助教来进行的。
3. 团队是否有测试工具来帮助测试?
- 目前还没有。
4. 团队是如何测量并跟踪软件的效能的?从软件实际运行的结果来看,这些测试工作有用么?应该有哪些改进?
- 目前还没有。
5. 在发布的过程中发现了哪些意外问题?
- 目前还没有。
6. 我们学到了什么? 如果历史重来一遍, 我们会做什么改进?
- 测试阶段更要注重细节,今后会投入更多测试检查时间。
团队的角色,管理,合作
1. 团队的每个角色是如何确定的,是不是人尽其才?
- 按照每个人的意愿分配,完成效果也很好。
2. 团队成员之间有互相帮助么?
- 有,每一次开会编程遇到问题都是互相帮助解决的。
3. 当出现项目管理、合作方面的问题时,团队成员如何解决问题?
- 开会前期每个人会把问题都提出来,面对面沟通最高效。
- 我感谢项目组每个小伙伴,每个人都在努力做好这个项目,才能让项目进展到现在,也感谢队友 张鑫平 对的帮助,因为前端开发遇到难题在其讲解下才明白问题出在哪里,该怎么解决。
4. 我们学到了什么? 如果历史重来一遍, 我们会做什么改进?
- 团队精神很重要,目前团队氛围也很好。接下来会一起攻克剩余的难点。
总结:
你觉得团队目前的状态属于 CMM/CMMI 中的哪个档次?
- 应该是处于CMM初始级。
你觉得团队目前处于 萌芽/磨合/规范/创造 阶段的哪一个阶段?
- 磨合向规范转型。
你觉得团队在这个里程碑相比前一个里程碑有什么改进?
- 沟通交流更多,合作效率提高。
你觉得目前最需要改进的一个方面是什么?
- 开发的代码规范性问题。
对照敏捷开发的原则, 你觉得你们小组做得最好的是哪几个原则? 请列出具体的事例。
- 不论团队内外,传递信息效果最好和效率最高的方式是面对面的交谈。
- 这也是目前开发阶段我们一直遵守的原则,面对面交谈与开发减少不必要的模棱两可之处,及时发现问题并解决。
- 可工作的软件是进度的首要度量标准。
- 最基本的测试就是打开小程序看运行情况,能不能和数据库进行增删改查的操作是这一阶段最主要的工作。
最后这个照片环节,虽然开发阶段偷偷收集了队友大量黑照做表情包,哈哈哈哈但通宵战友情不能这么被出卖,那就酱啦。
【基于微信小程序的社区电商平台】Alpha迭代心得的更多相关文章
- 【基于微信小程序的社区电商平台】需求分析心得——小豆芽
一.项目内容 基于微信小程序,做一个社区电商平台,抓住社区电商的特点,做出特色,与微信集成,实现商品的个性化发布,以及个性化营销. 个性化发布:用户可以在应用上直接发布自己的商品,通过搜索心愿单可以查 ...
- 【基于微信小程序的社区电商平台】第一次迭代心得(非正式版本
一.迭代任务 团队在第八周确认迭代计划时,是想要在第一阶段实现电商小程序的核心功能,就是买和卖,也是前端和后台数据交换的核心模块.涉及到首页浏览商品信息,查看商品详情及评论,选择加入购物车.关注卖家以 ...
- 微信小程序 | 未来O2O电商的“阴谋”
发展历史 2016年1月11日,微信之父张小龙时隔多年的公开亮相,提出了公众号服务的短板,而透露微信内部正在研发的新形态工具,称之"微信小程序". 2016年9月21日,微信小程序 ...
- 微信小程序实战篇-电商(一)
我想大家对电商一定不陌生,一般电商的底部导航栏有以下几个首页.分类.购物车.个人中心.所以我们按照这个来做吧. app.json是用来配置page路径以及导航栏属性的,那我们要做首页.分类.购物车.个 ...
- 国内首个微信小程序开发者社区www.mntuku.cn
微信小程序开发者社区-微信小程序开发教程-微信小程序最新资讯 - www.mntuku.cn .本站作为专业的微信小程序开发者社区为大家提供:微信小程序开发者交流平台,微信小程序开发教程,微信小程序定 ...
- 基于微信小程序的失物招领系统的Postmortem
基于微信小程序的失物招领系统的Postmortem 设想和目标 1.我们的软件要解决什么问题?是否定义得很清楚?是否对典型用户和典型场景有清晰的描述? 对于我们团队要解决的问题和实现的功能在项目开始就 ...
- 基于微信小程序的用户列表点赞功能
代码地址如下:http://www.demodashi.com/demo/13997.html 一.前言 (1).适合人群 1.微信小程序开发者 2.前端工程师 3.想入门学习小程序开发的人员 4.想 ...
- 基于微信小程序的系统开发准备工作
腾讯推出微信小程序也有一段时间了,在各种行业里面也都掀起一阵阵的热潮,很多APP应用被简化为小程序的功能迅速推出,同时也根据小程序的特性推出各种独具匠心的应用,相对传统的APP来说,微信小程序确实能够 ...
- 基于微信小程序的票价和时间选择以及计算总价
发布时间:2018-10-30 技术:wxml+wxss+JS 概述 微信小程序实现选择时间和票价,根据选择的票价和时间实时计算总价,当时间和票价都显示缺货状态时,点击弹出缺货登记,需要选择票 ...
随机推荐
- linux服务基础(一)之CentOS6编译安装httpd2.4
安装http-2.4 Http依赖于apr-1.4+,apr-util-1.4+ CentOS6上默认是apr-1.3,apr-util1.3 先编译安装apr-1.5,apr-util-1.5 开始 ...
- WebPack打包后如何调试
作为一个程序员每天的大部分工作就是调试自己写的程序,那我们使用了webpack后,所以代码都打包到了一起,给调试带来了麻烦,但是webpack已经为我们充分考虑好了这点,它支持生产Source Map ...
- [luaj]在安卓用使用luaj
luaj与安卓 什么是luaj luaj是一个Java的一个lua语言引擎,他可以让你在java上运行Lua代码. 在安卓中使用lua干嘛 lua代码可以用来书写布局,或者一些业务逻辑. 为什么要在安 ...
- rabbitmp安装记录
第一次安装一路遇坑,安装步骤及问题如下 1:安装erlang依赖 yum -y install make gcc gcc-c++ kernel-devel m4 ncurses-devel opens ...
- Java的异常机制
Java的异常机制 (一)异常的概念 异常是指程序在编译或运行时出现的导致程序不能继续编译或运行的状况.. (二)Throwable类 Throwable类继承自Object类,是Java中所有错误或 ...
- Codeforces 803C. Maximal GCD
题目链接:http://codeforces.com/contest/803/problem/C 中了若干trick之后才过... k个数的严格递增序列最小权值和就是${n*(n+1)/2}$,枚举这 ...
- js 延时等待
//延时器,2秒后执行函数 function test(){ alert("aaaa"); } setTimeout(function () { test(); }, ); //或 ...
- ASP.NET MVC CSRF (XSRF) security
CSRF(Cross-site request forgery)跨站请求伪造,也被称为“One Click Attack”或者Session Riding,通常缩写为CSRF或者XSRF,是一种对网站 ...
- linux shell实战之知识体系
1.认识GUN/bash shell 梳理清楚硬件,内核及模块,shell之间的关系:熟悉GUN的bash以及bash shell的功能:学习shell的通配符 2.shell 的变量 变量的设置,取 ...
- DPDK kni创建要先于port开启
DPDK kni创建要先于port开启 1. DPDK kni创建使用API:- rte_kni_init- rte_kni_alloc 2. DPDK port开启使用API:- rte_eth_d ...