前言:这应该是最后一章了,故事虽然到这就结束了,但现实里还要继续下去,希望在很久的以后来回顾时,能因自己学生时代有这样的经历而欣慰。
说明:故事中的人物均是化名,故事情节经过些许加工,故事情节并没有针对任何人,仅以此纪念自己的成长。
回顾上一章:详情请猛戳该链接:http://www.cnblogs.com/dasusu/p/5158868.html
第四章:Beta收官
三个多周的Alpha冲刺,一个周左右的休息调整时间。紧接着也就是Beta阶段的冲刺了。
在Alpha版本中,虽然你们预期的功能基本都实现了,但仍然有很多不足。比如界面太丑,代码模块化太烂等等。瓜哥跟你在那一周的休息调整时间里都表示过,要在Beta阶段大干一场,好好的将这些问题都解决掉。然而,现实总是残酷了,当然,这是后话,暂且不提。
在Alpha结束后,你写了篇总结。也就是总结了下在Alpha阶段的一些感想,里面你提到了你们的项目因准备不足而陷入各种难题,提到了队友因意见不合而不断争吵的问题。总之,这三周过来,或多或少都学到了很多。
在Alpha刚开始的编程时,你记得懂哥说项目要学会使用在框架的基础上进行开发,而不是所有代码都自己来书写。带着这种观念,你在写界面的时候引入了一大堆第三方库。需要一个点击效果,好,引入。需要一个弹窗效果,好,引入。然而你并没有真正的深入去学习你所引入的第三方库,导致很多库之间其实已经有冗余的功能了。
更糟糕的是,队友因为你引入这么多库,从而导致在编译项目时花费了大量时间。因此,你打算在Beta阶段时将多余的库都删除掉。
另一个项目的问题是,当初因为没认真考虑,而引入了一个不熟悉的数据库框架。到后面进行开发时,才发现你们需要的很多功能那个框架都实现不了,但已经有很多基础的数据库功能是基于那个框架上面编写的,如果要换掉那个框架,将是一个工作量巨大的任务。但如果不换掉,想要的功能又没办法实现。
为了解决这个问题,你查了各种资料,做了各种尝试,熬到了半夜两三点。最后用一种特别暴力的方法去暂时的解决掉,搞定后你特别想去睡一觉,这种活简直了!日后需要怎么做再留给瓜哥去头疼吧。
Beta期间也有两三周的时间,但懂哥只要求进行七次会议记录而已。瓜哥为了能让项目保持一种稳定,平均的进展,安排了每过两三四天开一次会议。但计划总是赶不上变化。
第一周还好,因为大家第一周里面都没有什么考试,进展也还算顺利,一些Alpha遗留的问题也渐渐的解决了。但到了第二周时,有的队员有考试,而且是接连两三场考试,基于此,瓜哥最后表示,这周就先把项目放一边,大家好好复习,准备考试,等最后一周再来继续项目。
本来以为,放一周的时间去调整,不做项目可以让大家到最后一周时能更有干劲。但事实却是,一周没碰过项目,导致大家对于项目的热情大大的降低了。不仅如此,对于项目很多地方都渐渐的感到陌生了,更可怕的是,你居然忘记了某块有合作的代码当初到底是不是你编写的。
日后瓜哥也提过,当初因为放了一周,导致他也对于项目的进展掌握出现了很多问题。当然,这是后话,暂且不提。第二周的Beta过去了,大家都在忙着复习,确确实实都把项目扔一边去了。等到了第三周时,第一次会议上,大家甚至都不知道要说什么话。
离最后的时间也就只剩下一周左右了,你突然觉得来不及了。自己无聊时不断地手工测试你们的软件,你发现似乎还存在一大堆问题,但就是不知道怎么把这个问题描述出来。你觉得队友应该也会自己去手工测试,然后发现相同的问题,但事实上队友基本没提过你发现的问题。
在一次会议上,你直接表示出了厌烦,你表示说这样下去项目根本做不出来,现在仍然存在很多问题。瓜哥要你说出具体有哪些问题,但你又说不出来,你说自己跑一遍就会发现一堆问题了,但瓜哥却表示,你说有问题却又不把问题说清楚。这样,在Alpha阶段发生的一次冲突到现在又出现了一次。只是这次你没有继续接话下去,因为你突然很不想说话了。
甚至,你出现了厌工。你总觉得,软件只有你一个人在测试,在找Bug,但事实上很多Bug都被你因为自己的心情烦躁而放大了。你不知道这是不是因为情绪不好,还是因为时间快临近截止,还是因为缺少跟队友的沟通,从而导致了你对于项目厌工的心情。
你甚至出现过,你不做了的想法,放一边去,反正等最后验收时没办法完成作品那责任也不是你自己去担。
然而,就在你自己胡思乱想,乱发脾气时。瓜哥又对总仓库进行了一次提交,你去看了下瓜哥的提交代码。你发现,瓜哥居然把你一直很苦恼的一些BUG解决了。瞬间,你冷静下来了。每个人都在为这个项目不断的熬夜,不断的努力。在别人埋头修BUG的时候,你却在抱怨,却在厌工。
那天你没敲什么代码,就只是早早结束熬夜,提前上床。你想平静下自己,想让自己恢复到Alpha阶段时的状态。你觉得如果你继续以这种情绪下去的话,特别对不起瓜哥。当初是你把瓜哥拉进队伍里来的,瓜哥对于项目也一直很负责,你不能只是因为自己的情绪不好就厌工。这对项目,对瓜哥,对队员都很不公平。
调整了状态后,你继续做项目下去。每次的会议上,你也很少再带有情绪,而是静静的听着瓜哥的安排。然后根据瓜哥安排的任务,尽可能的保证在规定时间内完成。
Beta阶段的主要任务是实现跟网页端小组的项目的互联互通。使用同一个数据库,对数据库中表的设计,字段的设计,瓜哥都去找网页端的负责人讨论,然后再把结果告诉你们。但实现的过程中仍然碰到很多问题,为了解决这些问题,基本都把时间放在上面。
导致了你们一开始计划在Beta阶段对界面进行大修改,对项目进行大重构的安排完全被丢到一边去了。
在Beta的演示验收上面,又出现了各种问题,更奇葩的是这问题竟不带重复的。Alpha阶段演示验收时你们就碰上了无网络,服务器崩了,数据线连接没反应等问题导致被迫下台,先让下一组演示。而这一次的演示上,居然碰上了服务器连接不上,重启不了,演示时漏掉演示某部分功能~~
Beta的演示验收是由各小组互评加懂哥点评结合完成的。其他小组对于你们的项目看法基本都是功能太单一了,太简单了!好吧,其实是没演示。
演示验收完毕,这学期的软工实践算是告一段落了。也是时候再写篇总结了。
不同于以往的数据库实践之类的课程,这门课确实让你经历了很多。见客户、每日会议、分工开发、Github团队合作、争吵讨论、编码规范、写文档等等。懂哥说过,他最大的希望就是通过这门课程,可以让他的学生能有能力接私活。你突然很期待起来,好想自己接一次私活看看。那么,就再继续充实自己吧,让自己可以拥有接私活的能力。加油吧。
(完结。再次向懂哥,范老师表示致敬)