基于微信小程序的社区电商平台Alpha迭代心得

Posted vicetone

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了基于微信小程序的社区电商平台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迭代心得的主要内容,如果未能解决你的问题,请参考以下文章

基于微信小程序的社区电商平台需求分析心得——小豆芽

基于微信小程序的电商平台——测试心得

第一次迭代开发心得

微信小程序可以解决电商行业的哪些问题

电商微信小程序的开发,项目及功能描述

基于微信小程序社区疫情防控系统