项目回顾
设想和目标
我们的软件要解决什么问题?是否定义得很清楚?是否对典型用户和典型场景有清晰的描述?
答:社团管理系统是为了更好地管理学生参加社团情况、活动情况等信息而设计的。定义的很清楚。对典型用户和典型场景也有清晰的描述。
是否有充足的时间来做计划?
答:是,在做这个项目之前,我们进行了广泛的人群调研与需求分析,同时小组间对于本项目的需求,一起进行了详细讨论,尤其接口文档的交流十分关键,直接影响后期前后端后台对接的时间成本花费.
团队在计划阶段是如何解决同事们对于计划的不同意见的?
答:我们小组大部分意见都是统一的,出现冲突时,组长听取冲突双方意见后做最终决策,组员依然反对则在群内发起投票以多数服从少数为原则.
用户量、用户对重要功能的接受程度和我们事先的设想一致吗?我们离目标更近了吗?有什么经验教训?
答:接受程度基本与预想的一致,因为我们预想的很接近常理,离目标已经很接近了。不能盲目,认真规划,明确目标。
如果历史重来一遍,我们会做什么改进?
答:在工作方面,团队积极讨论,以免产生不必要的分歧。
在代码方面,团队所有成员加强学习代码能力。
在能力方面,除之外我们还需利用其它时间来进行补充其它方面的能力。
以至于在团队整体提高了效率,对队员的工作方面也是一种很大的补充。
计划
你原计划的工作是否最后都做完了?
答:原计划的工作最后都做完了。
有没有发现你做了一些事后看来没必要或没多大价值的事?
答:我们所做的事都很有价值,任务当初指定的时候就是为了完成我们的软件,每一件事都很重要.
是否每一项任务都有清楚定义和衡量的交付件?
答:是,我们团队的每一项任务都是在经过讨论并且已经协商确定,每个任务该完成什么功能都已经清楚,并清楚定义了任务内容。
是否项目的整个过程都按照计划进行?
答:是的,项目整个过程大部分按照计划进行的。
在计划中有没有留下缓冲区,缓冲区有作用么?
答:在计划中有留下缓冲区。
缓冲区非常有作用,我们团队主要是利用缓冲区的时间里进行我们项目代码的测试、查找项目的Bug和修复项目的已知Bug。
也利用了缓冲区这段时间进行团员之间的相互讨论交流,并根据讨论的结果对项目进行了整体的完善。
将来的计划会做什么修改?(例如:缓冲区的定义,加班)
答:成员之间建立起互相监督的机制,提高效率。加强组员交流,减少理解偏差。
如果历史重来一遍,我们会做什么改进?
答:团队内沟通得体,任务计划合理分配。
资源
我们有足够的资源来完成各项任务么?
答:我们有教课老师和专业老师的帮助,以及各种学习资料来完成我们的任务
各项任务所需的时间和其他资源是如何估计的,精度如何?
答:各项任务所需的时间一般是按照任务的难度进行估计安排的
用户测试的时间,人力和软件/硬件资源是否足够?
答:都很足够
你有没有感到你做的事情可以让别人来做(更有效率)?
答:没有,因为当初分配职务的时候就是按照自己擅长的,所以都很有效率,无可替代
如果历史重来一遍,我们会做什么改进?
答:如果历史重来我们会努力学习代码的知识,给其他项目工作留有足够的时间,
不把时间都浪费在代码身上,让我们得项目做的更加完美。
变更管理
每个相关的员工都及时知道了变更的消息?
答:都及时的知道了,有任务都会发在群里,有没看见的也会私聊,知道回复为止
我们采用了什么办法决定“推迟”和“必须实现”的功能?
答:我们依据需求的重要性来分配必须实现的核心功能
项目的出口条件(ExitCriteria)有清晰的定义吗?
答:没有,对这个不是很了解,需要老师的指导
对于可能的变更是否能制定应急计划?
答:可以,我们会立即召开每日例会来商量解决办法
员工是否能够有效地处理意料之外的工作请求?
答:不能,因为组员能力有限,可能无法应对,需要一起解决
如果历史重来一遍,我们会做什么改进?
答:如果历史重来一遍,我们将把各项工作做得更全面、更细致,不出现不该犯的错误。
大家团结在一起的精神,什么困难我们都能克服。
设计和实现
设计工作在什么时候,由谁来完成的?是合适的时间,合适的人么?
答:设计工作是在选题结束后立即进行的。由组长牵头,大家一起参与完成的。尽量服从有设计经验的组员的建议。是合适的时间,合适的人。
设计工作有没有碰到模棱两可的情况,团队是如何解决的?
答:有,通过投票来决定
团队是否运用单元测试(unittest),测试驱动的开发(TDD)、UML,或者其他工具来帮助设计和实现?这些工具有效么?
答:没有,不会用
什么功能产生的Bug最多,为什么?
答:社团申请功能bug最多,吐司一直弹不出来
代码复审(CodeReview)是如何进行的,是否严格执行了代码规范?
答:是由小组成员完成的,因为没学过,所以没有严格按照代码规范
如果历史重来一遍,我们会做什么改进?
答:如果历史重来,我们设计更多的项目功能,完善整体项目,
并且严格按照代码规范进行编写代码,复审也将严格仔细认真查看!
测试和发布
团队是否有一个测试计划?为什么没有?
答:有测试计划,由软件测评师完成
是否进行了正式的验收测试?
答:没有,时间比较仓促
团队是否有测试工具来帮助测试?
答:有夜神模拟器来帮助
团队是如何测量并跟踪软件的效能的?从软件实际运行的结果来看,这些测试工作有用么?应该有哪些改进?
答:测量效能主要有软件是否正常运行,运行速度是否高效率,运行效果是否令人满意等。
从实际结果来看,测试工作还是有用的,在测试的过程中还是发现了一些开发时欠缺考虑的问题,
改进主要还是从软件本身出发,争取能更优化下用户体验。
在发布的过程中发现了哪些意外问题?
没有发布
我们学到了什么? 如果重来一遍, 我们会做什么改进?
软件的开发过程中,测试这一环节是必不可少的。一款软件即使测试完毕发布后,仍然会出现或多或少的问题,
而这就体现了在测试环节你付出了多少,就决定了你最后遇到的问题是大是小。
而测试也是需要有技巧性,有针对性的去测试你的软件,而不能照搬其他人的测试方式,软件都有各自独有的特点。
如果历史重来一遍。我们会在测试的过程前,再进行更多的交流和讨论,
争取考虑更多方面可能出现的问题,有针对性的提出一个详细的测试计划,
并分配给多人重复测试,争取减少发布后遇到的问题。
总结
1.产品项目经理这个角色,首先认为自己有管理能力和关于各项目情况都基本了解,并能积极督促团队成员的。
UI设计师这个角色是根据学习方向以及兴趣爱好来制定的。
软件工程师也是根据学习的方向选择来担任角色。
软件测试师根据兴趣和能力以及其他方面的不足来进行担任角色。
可以说是团队人员都是各尽其才,分配得体。
2.互相帮助的情况经常出现,以上也说了,我们对代码能力不是特别的强。
因此为了我们团队整体项目发展,团队所有成员除完成自己工作外,一起共同开发代码完成项目。
3.当出现项目管理、合作方面问题时,团队也会积极组织开会讨论,并且发表问题,提出解决方案。
拿不准正确方案的时候即可投票表决,或者请其他人帮助解决问题。
我感谢姜浩对我的帮助,因为项目的集合都是他完成的.
通知软件测试师这一职务,我学会了如何测试bug和如何更加规范的书写测试报告;能更加熟练的使用码云仓库和打包构建,测试能力逐渐提升,每一次的测试报告的提交,都是我迈向成功的一小步。
我觉得目前团队处于量化管理级,我们处于磨合的阶段
团队合作之间更加默契,明白了团队合作的重要性
我觉得目前团队最需要改进的就是提高个人编程水平,提高工作效率,更好的完成任务.