zoukankan      html  css  js  c++  java
  • 第一次迭代开发心得

    引言

      在本科时期第一次完整尝试着去做自己的项目,而且也是以一个team的方式,其中也出现了很多问题,然而还是在学长的帮助下和团队的共同努力下,共同克服了这些问题。

      队名:改不完bug不起名

      成员:童天瑶,李斌,夏昊,李兴皓,顾杰伟(Me)


    设想和目标

    1. 设计一个面向研究的rdf搜索引擎,其次面向普通用户。搜索引擎的提出主要是为了对精准信息查询的需求。
    2. α版本目标大致实现,剩下几个功能没有完成,sparql和个人中心模块需要完善。
    3. 相比于之前阶段,项目的bug都被我们改正了过来,但服务器解析程序还存在些许问题待修正,从稳定性和代码结构性来说,程序层次提升了许多,鲁棒性更好。     
    4. 由于项目面向研究,还待完善,用户也需要探索,这方面还需要之后考察。

    计划

    1. 团队准备比较充分,对于所有计划都能提前安排好。
    2. 对于不同意见,我们主张少数服从多数。
    3. 几乎完成了所有项目,剩余一些项目需要之后补充,延迟主要是因为时间紧促,另一方面是技术难度过高。
    4. 项目变数最大的是对需求的变更和对进度的变更,对于需求的变更我们能够及时调整,但是当进度要变更时,往往会比较急促,或者赶工。
    5. 之前的时间安排没有留下缓冲区,一般是一件一件事情做完,经过这次迭代之后,意识到要对时间进行一定的调整,这样才能对突发时间有充分的解决空间。

      最大的教训就是事情最好一定要提前最好,因为不变的是需求的变化,我们不能过于放心的认为需求一开始定好就不会改变,这是一个不断反复迭代的过程,需要不断的更改,所以非常有必要提前完成之后进行需求的校对。

    资源

    1. 空间资源,团队项目是一个一起工作的过程,我们需要讨论,但是宿舍又不是一个讨论的好地方,图书馆的研讨空间资源紧缺,外面的自习空间价格高昂,团队一起讨论时间显然是比较珍贵的资源。
    2. 硬件资源,服务器配置,阿里和腾讯对于学生服务器有一定的优惠,在数据库服务器上我们可以解决,在应用服务器上我们有老师的支持,一切还算顺利。
    3. 在设计页面相关或者web工程时,自己的效率显然更加低下,需要队友的支持。

      技术问题是第一大难关,一个项目的技术需求是多样的,但是一个人的能力是有限的,术业有专攻,需要特定的人才做特定的事情。

    变更管理

    1. 我们拥有自己的讨论群组,每次变更公告都会在群里公布,并且,我们沟通会面比较频繁,大家都会及时知道最近的活动变更。
    2. 关于功能实现,我们认为项目的核心功能放在最高优先级,其他按照优先等级排序,先做完必须的,剩余锦上添花的功能可以推迟实现。
    3. 我们追求项目的完整性和美观性,项目完成不能单单以功能实现作为结束,测试和美化也是相当重要的一部分。
    4. 应急变化是我们所欠缺的,虽然能按照时间进度来做,但缺乏对变更的应对措施。
    5. 对于extra work我们通常是一起实现。

      一个大的团队应该是真正分成了几个小的模块分成小组来做,每组有专攻,而不像我们团队每个人都是“全能高手”,所以对于比较成熟的团队,我觉得还是应该分成小组,小组只有在对接时才会进行协商,技术问题也应该是在小组内解决。

    设计/实现

      我们团队人才能力比较分散均匀,每个人都又自己擅长的部分,前段代码和图形设计都有相应的人才,后端也有相对熟悉的人。

      面对设计中的分歧,我们采取的是界面设计人的意见为主,其他人员意见为辅的方法。

      团队属于萌芽期间,在对整个项目的制作都是探索阶段,不断学习如何做一个项目,从需求文档到uml,再有那些周总结,都是一步一个脚印走过来的。

      对开发工具的掌握可能不够熟练,想git和测试工具,团队都没有系统学习过。

      bug主要产生在后端,服务器端bug第一次发现在验收的时候。

      代码复审通过代码合理性,命名规则等方面众人一致审查,汇总后圈出不规范地方,统一提交被修改方。

      设计需要特定的人才,对团队至关重要。

      好的开发工具如git,工蜂一定要学会使用,大家如果都在写自己的代码,只有汇总是很难的。

      bug检查是一个复杂的过程,需要一个系统的学习。

    测试/发布

      缺乏针对性的测试计划,因为对这方面没有具体的学习和了解,如何系统得去测试是一个难题。

      我们的测试主要是对后端代码的测试,对于界面我们都是能看得见就是ok的。

      之前的测试都是手动记录bug,看到bug记录一处然后修改,显然效率低下。

      测试其实是一个很有技术含量的工作,系统得测试可以察觉程序的漏洞,也是一个要求思维严密的工作,当然也需要强大的工具来辅助,但问题是我们现在正缺少这样的意识和工具,需要之后来弥补。

    Our team

      PM 童天瑶:负责认真的pm,完成各种工作安排,主动揽起所有的责任和义务,design了项目整体框架。

      UIer_1 李斌:良好的审美意识,能帮助我们完成特殊图形的设计

      UIer_2 李兴皓:优秀的前段知识,帮助我们解决前段代码实现

      Backender_1 夏昊:对问题敏锐,创新意识强,能发现程序中的漏洞

      感谢我的团队,大家能够一起努力,朝同一个方向使劲,从开始决定是一个team到后面的互相帮助,学会了许多,感受了上进的氛围,对于所有的安排也从来没有怨言,希望我们的team能够越走越远。

      

  • 相关阅读:
    QQ邮箱接收Gmail邮件的方法
    Python连接Mysql数据库——pymysql驱动
    nodejs pm2守护进程使用
    出现次数超过一半的数
    Good Hacker——模拟&&双向队列
    poj 2481 Cows——树状数组&&python
    Navicat15破解注册机详细教程-Navicat Keygen Patch v5.6.0
    宝塔面板6.X在Docker中安装宝塔面板5.9.1 – 我是不是太闲了?
    Vue全家桶(Vue-cli、Vue-route、vuex)
    基于.net core微服务(Consul、Ocelot、Docker、App.Metrics+InfluxDB+Grafana、Exceptionless、数据一致性、Jenkins)
  • 原文地址:https://www.cnblogs.com/gujiewei/p/10084471.html
Copyright © 2011-2022 走看看