第一次迭代开发心得
引言
在本科时期第一次完整尝试着去做自己的项目,而且也是以一个team的方式,其中也出现了很多问题,然而还是在学长的帮助下和团队的共同努力下,共同克服了这些问题。
队名:改不完bug不起名
成员:童天瑶,李斌,夏昊,李兴皓,顾杰伟(Me)
设想和目标
- 设计一个面向研究的rdf搜索引擎,其次面向普通用户。搜索引擎的提出主要是为了对精准信息查询的需求。
- α版本目标大致实现,剩下几个功能没有完成,sparql和个人中心模块需要完善。
- 相比于之前阶段,项目的bug都被我们改正了过来,但服务器解析程序还存在些许问题待修正,从稳定性和代码结构性来说,程序层次提升了许多,鲁棒性更好。
- 由于项目面向研究,还待完善,用户也需要探索,这方面还需要之后考察。
计划
- 团队准备比较充分,对于所有计划都能提前安排好。
- 对于不同意见,我们主张少数服从多数。
- 几乎完成了所有项目,剩余一些项目需要之后补充,延迟主要是因为时间紧促,另一方面是技术难度过高。
- 项目变数最大的是对需求的变更和对进度的变更,对于需求的变更我们能够及时调整,但是当进度要变更时,往往会比较急促,或者赶工。
- 之前的时间安排没有留下缓冲区,一般是一件一件事情做完,经过这次迭代之后,意识到要对时间进行一定的调整,这样才能对突发时间有充分的解决空间。
最大的教训就是事情最好一定要提前最好,因为不变的是需求的变化,我们不能过于放心的认为需求一开始定好就不会改变,这是一个不断反复迭代的过程,需要不断的更改,所以非常有必要提前完成之后进行需求的校对。
资源
- 空间资源,团队项目是一个一起工作的过程,我们需要讨论,但是宿舍又不是一个讨论的好地方,图书馆的研讨空间资源紧缺,外面的自习空间价格高昂,团队一起讨论时间显然是比较珍贵的资源。
- 硬件资源,服务器配置,阿里和腾讯对于学生服务器有一定的优惠,在数据库服务器上我们可以解决,在应用服务器上我们有老师的支持,一切还算顺利。
- 在设计页面相关或者web工程时,自己的效率显然更加低下,需要队友的支持。
技术问题是第一大难关,一个项目的技术需求是多样的,但是一个人的能力是有限的,术业有专攻,需要特定的人才做特定的事情。
变更管理
- 我们拥有自己的讨论群组,每次变更公告都会在群里公布,并且,我们沟通会面比较频繁,大家都会及时知道最近的活动变更。
- 关于功能实现,我们认为项目的核心功能放在最高优先级,其他按照优先等级排序,先做完必须的,剩余锦上添花的功能可以推迟实现。
- 我们追求项目的完整性和美观性,项目完成不能单单以功能实现作为结束,测试和美化也是相当重要的一部分。
- 应急变化是我们所欠缺的,虽然能按照时间进度来做,但缺乏对变更的应对措施。
- 对于extra work我们通常是一起实现。
一个大的团队应该是真正分成了几个小的模块分成小组来做,每组有专攻,而不像我们团队每个人都是“全能高手”,所以对于比较成熟的团队,我觉得还是应该分成小组,小组只有在对接时才会进行协商,技术问题也应该是在小组内解决。
设计/实现
我们团队人才能力比较分散均匀,每个人都又自己擅长的部分,前段代码和图形设计都有相应的人才,后端也有相对熟悉的人。
面对设计中的分歧,我们采取的是界面设计人的意见为主,其他人员意见为辅的方法。
团队属于萌芽期间,在对整个项目的制作都是探索阶段,不断学习如何做一个项目,从需求文档到uml,再有那些周总结,都是一步一个脚印走过来的。
对开发工具的掌握可能不够熟练,想git和测试工具,团队都没有系统学习过。
bug主要产生在后端,服务器端bug第一次发现在验收的时候。
代码复审通过代码合理性,命名规则等方面众人一致审查,汇总后圈出不规范地方,统一提交被修改方。
设计需要特定的人才,对团队至关重要。
好的开发工具如git,工蜂一定要学会使用,大家如果都在写自己的代码,只有汇总是很难的。
bug检查是一个复杂的过程,需要一个系统的学习。
测试/发布
缺乏针对性的测试计划,因为对这方面没有具体的学习和了解,如何系统得去测试是一个难题。
我们的测试主要是对后端代码的测试,对于界面我们都是能看得见就是ok的。
之前的测试都是手动记录bug,看到bug记录一处然后修改,显然效率低下。
测试其实是一个很有技术含量的工作,系统得测试可以察觉程序的漏洞,也是一个要求思维严密的工作,当然也需要强大的工具来辅助,但问题是我们现在正缺少这样的意识和工具,需要之后来弥补。
Our team
PM 童天瑶:负责认真的pm,完成各种工作安排,主动揽起所有的责任和义务,design了项目整体框架。
UIer_1 李斌:良好的审美意识,能帮助我们完成特殊图形的设计
UIer_2 李兴皓:优秀的前段知识,帮助我们解决前段代码实现
Backender_1 夏昊:对问题敏锐,创新意识强,能发现程序中的漏洞
感谢我的团队,大家能够一起努力,朝同一个方向使劲,从开始决定是一个team到后面的互相帮助,学会了许多,感受了上进的氛围,对于所有的安排也从来没有怨言,希望我们的team能够越走越远。