设想和目标

我们在Alpha阶段对网站的定位布局一直在摸索,网站所有功能和网站所能解决的需求痛点并不是在前几次会议就定死了的。Alpha阶段整个过程中我们团队靠着频繁的scrum会议和微信群交(shui)流(qun)来探索网站的功能定位,Alpha阶段结束的时候我们的网站将可以解决同学们对学校课程的评价功能,实现多级学生间的选课经验开放交流,对典型用户和典型场景都有清晰的描述查看以往的有关博客。在最开始的scrum会议期间,大家对项目还是有很多不同想法的,例如我们怎么在前期积累一部分基础的评价内容?我们是不是需要在所有页面都放置一个全局搜索框?等等这些想法都让我们在Alpha阶段的设想和目标不断细化、落到实处。

计划

团队计划的任务都已经完成,计划内容可以查看我们的GitHub issue,关闭的issue都是已经完成的任务计划。根据前几次博客的燃尽图也可以看出,我们团队在Alpha阶段最开始进度慢于预期,主要是因为团队成员对于前端页面开发都不熟悉,边学边开发需要消耗大量时间,但是在Alpha阶段的后期我们团队还是把进度肝上来,整体进度符合预期。

变更管理

在Alpha阶段我们没有较大的设计变更,大部分任务还是按照一开始发布的issue完成即可。这可能也是我们组严格按照敏捷开发的思路,细分任务issue,即使有些地方需要修改也不会波及大量其他模块程序的开发。我们的组员对于新需求都有着很快的反应处理能力。当然变更管理我们也有需要反思的地方,我们的“出口条件”非常模糊,这也造成了后面一些考虑不周到的网络安全问题。

资源

首先是团队内的人力资源,我们团队不乏优秀的后端大佬,但是对前端和测试熟练的同学较少,但是大家在Alpha阶段还是克服了自身的知识经验短板及时完成了所有的任务。机器资源上还是配置得很顺利的,Alpha阶段我们使用nginx+uwgi+django在课程提供的华为云服务器上成功部署了服务。
对于各项任务的时间与资源的管理,我们是按照任务的难易度来管理的,在Alpha阶段也遇到了很多问题。在软件开发过程中,任务所需要的时间有些时候并不完全和任务的难易度有关,也和组员的技术熟练度有关,我们一般有限将任务分配给对这个技术最熟练的组员,再从他实际操作实际出发来管理时间资源。

测试

测试严格地说是一项永远不会结束的工作。在Alpha阶段我们的测试人员是流动的,例如后期测试的李青阳同学在前期参加页面逻辑设计等等,这主要是考虑到Alpha阶段是一个从无到有的过程,测试也就顺理成章地变成一个前期任务很少后期任务很多地工作。另一方面我们在Alpha阶段发布网站后,发现安全测试至关重要,包括ddos、恶意post、mysql注入等攻击都要考虑在内,这也为我们Beta阶段的软件工程开发提出了全新的信安需求。

04-27 20:17