前言:咳咳,一个多月了,最近忙这忙那,都把这个故事给落下了,昨晚刚回到家,白天得干活,晚上赶紧把这个故事写完,以此纪念自己的软工。
说明:故事中的人物均是化名,故事情节经过些许加工,故事情节并没有针对任何人,仅以此纪念自己的成长。
回顾上一章:详情请猛戳该链接:http://www.cnblogs.com/dasusu/p/5086187.html


第四章:Alpha冲刺


  Alpha阶段的冲刺就这么的来了,似乎来得有点晚,因为你已经接近一个月没有敲过代码了。这个月来,懂哥一直要求你们写文档,学工具。其实,这些都是编程前的准备,但你们确实还没领悟到它们的重要性。

  冲刺的阶段碰上了你们的电工实习,懂哥说这段时间不用上课,正好可以拿来敲代码。

  但第一天的电工实习,你们发现,似乎时间不够,白天一整天都要在实验室焊字焊表,敲代码的时间就只剩下晚上了。在你们第一次的会议上(懂哥要求你们在Alpha冲刺阶段必须要有十次的会议记录),瓜哥为你们其他三人都分配了任务,你负责界面的编写,而BOSS继续学生服务器的知识,元哥负责一些工具的编写。瓜哥表示他不参与编程,他专心做PM。

  一开始都是处于各种探索的状态,不管是任务的分配,还是敲码的分工,以及编码规范等。这些任务都是由瓜哥来负责,并且瓜哥还特意花了一晚上的时间给你们讲解编码规范的各种要求。虽然在日后你们并不是次次按照文档的要求,毕竟你们各自的风格习惯一时改不过来。

  你的第一次任务就是编写一些基本界面,有标题栏,有列表等。虽然是第一次接触安卓,你照着教程书上的代码,自己做些修改,勉强算是完成了任务。但花费的时间其实比瓜哥给你预定的时间还长,但你觉得还行,毕竟还是在当天就完成了,虽然为此熬夜到了半夜一二点。

  第一天过了,瓜哥审核了你们提交的代码,然后合并到仓库中。瓜哥找到你,叫你可以先写个基类的界面,把所有界面的一些共有属性提取出来。你一听,这个好,可以这么做。然后在自己琢磨时才发现,其实你对Java的继承,多态并不是很了解,而且你似乎没办法找出各个界面的共有属性,你突然觉得好烦躁。这一天的时间就要这么的浪费掉了,一点进展都没有。

  无奈之下,你只能出下下策。你跟瓜哥表示,你找不出有多少共有的属性可以提取出来的。而且,一旦界面是继承基类的话,就没办法再实现自己的界面布局了,其实是你没搞懂安卓的界面机制。但也没时间留给你慢慢去推敲了,所以只能在以后碰到共有的属性时复制粘贴了,这是个很低级但却能解决的办法。

  就这样,你们小组的项目在一点点的进展着,期间你们又开了几次会议。其实,你之前并没有这么正式的开发软件的经验,以前的实践课虽然也有组队,但都是各做各的,有的同学是抱大腿的,大家也都心知肚明,能带就带。开会这种事,也就是QQ上说两句而已。因此,在第一次开会中,你看见瓜哥那么重视,你觉得似乎没这种必要。

  但瓜哥仍旧一直这么严肃下去,在之后的几次开会中,瓜哥次次要求围成一个圈,不能坐着,不能嘻哈。看见瓜哥那么重视会议,你也渐渐的端正了态度,也重视起了会议来。在会议上都是汇报自己的进展,然后说一下自己遇到了什么困难,最后再讨论一些解决方案。

  一个礼拜的时间,你负责的界面却还没有全部完成,懂哥给的时间是两个礼拜。只剩下一个礼拜,既要完成界面,又要完成各种逻辑的书写,你突然觉得时间来不及了。而且,这并不是你们这一组的状况,似乎有很多小组都进展缓慢,很多人在群里抱怨说任务量太大了,白天要焊字,晚上敲代码,已经连续一个礼拜在熬夜了。

  最后,懂哥表示,截止时间可以延后一个星期。这确实是一个令人兴奋的消息。

  瓜哥为了能更好的安排进展,叫你们把各自每天能挤出多少时间来敲代码都自己先算一下,然后汇报给他。然后,瓜哥根据你们各自的安排,给你们安排了一个礼拜的工作量。

  这样看下来,进展似乎就能保证了。而且,每个人也具体到每天要做什么了,但其实,就像你在几个月后读人月神话中看到的一句话一样,“我们采用的估算技术隐含地假设人和月可以互换,错误地将进度和工作量混淆”

  瓜哥给你的安排的每天的任务里,都给出了预计的用时。但真正开始时,总会碰上各种想不通的问题,为了解决自己不断地找资料,这样一来,时间将大大的超出了预计的用时。当实在不知道怎么实现的时候,你烦躁得想吐槽,并不是给你时间,你就能做出结果来。有的问题,实在是无法搞定。

  吐槽归吐槽,项目还是要继续做。这条路不行,那就换一条试试。时间超了,今天的任务要来不及了,那就自己熬夜去吧,反正给瓜哥汇报的时间里又没有算上熬夜的时间,自己在预定的时间里完成不了,就只能自己再次挤时间来补充了。

  时间一天一天地过,在第一个礼拜里,你白天都用来焊字了,瓜哥还曾表示说没必要花这么多的时间在上面,项目重要。但你觉得这毕竟这门2学分的实践课,老师布置的作业还是好好做吧。但当第一个礼拜末,你含辛茹苦的焊了四五天的字在老师的手中待了不到0.5秒时,你才意识到自己太年轻了。之前还吐槽说学长骗人,这门课根本就不水,白天都要焊字。现在,算是见识到了。

  在第二个礼拜的实践里,你花费更多的时间投入到了项目里去了。至于电工实习,花完时间学懂就放一边了。算上第一个礼拜,你总共花费了一个半礼拜将所有界面草草完成。接下去必须进入逻辑的书写了,或者有专业术语叫业务层的逻辑。但由于你们之前并没有对这个项目进行架构设计,这些东西并没有区分得特别开。

  甚至你还在界面代码里混杂着对数据库的操作,因此,被瓜哥一顿批评。

  会议保持着一定周期开着,进展也一天天的提高。你和元哥一起负责着安卓端的逻辑实现,两个礼拜过去了,一些基层的逻辑也完成了,但也找出了几处BUG,而且有的思路不懂怎么实现,只能暂时假想客户会正确的使用软件,这样程序就不会崩了。

  是时候跟服务器端连接上了,在一次的会议上,针对这个问题的实现思路组员出现了分歧。元哥,你还有瓜哥都有各自的实现思路,都觉得对方的并不合理。为此,你们讨论了将近一个小时,但仍然没有谁说服谁,瓜哥不得不终止这场会议。瓜哥说怎么实现,搜集好更多的资料再来继续讨论。

  而且,BOSS负责的服务器端进展也很缓慢。后来,为了能按时完成任务,瓜哥表示,他要开始参与进敲代码的工作了。瓜哥说,让团队里编码能力最强的来做PM是个错误的决定,你却觉得这才是正确的决定。或许放到公司里这是错误的,但这只是在学生之间,团队的成员并没有像公司的职员一样,已经具备基础能力,懂得各种开发流程,只剩下一个PM来领导。

  相反,团队成员里基本都是零基础,都是第一次接触。这时,要是没有一个能力强的来领导团队,给队员安排好任务,指导学习方向,那么这个项目很可能根本就启动不了。

  瓜哥参与编程后,先是完成了一个服务器端的接口,然后让BOSS照着学习,完成剩余的。而安卓端也可以开始着手进行与服务器的交互。之后,瓜哥便参与进了安卓端的任务,就这样项目的进展一下子快了起来。

  但参与越多,瓜哥越生气,他表示你跟元哥的代码实在让人看不下去,太多地方需要重构了。为此,瓜哥叫停了你们的工作,他要先对当前的项目代码进行一次大修改,然后大家再继续去完成。

  瓜哥是怕到时会出现太多冲突,然后才让你们停下手头工作。你却觉得自己对Github已经足够掌握了,没有听取瓜哥的安排,继续你的开发。结果,你算是体会到了大冲突的滋味了,而且冲突最后也是交由瓜哥进行处理,你才彻底的服了,对于Github的操作你还需要多学习。

  就这样,三个多礼拜的Alpah冲刺,你们碰上了各种问题。有过冲突,有过争吵,有过烦躁,甚至有过厌工。最终,算是挺过来了,Alpha版本预计的功能基本上已经实现。懂哥的验收演示上,虽然临时出了各种意想不到的问题,比如没网络,服务器崩了!但最终还是完成了,成绩也不错,这几个礼拜的努力也是值得了。

  接下去就是好好休息几天,然后等待懂哥的Beta冲刺了。
  

  (本章完,下章请猛戳该链接。)

【软工神话】第四篇(Alpha冲刺)的更多相关文章

  1. 软工实践 - 第九次作业 Alpha 冲刺 (1 / 10)

    队名:起床一起肝活队 组长博客:https://www.cnblogs.com/dawnduck/p/9949350.html 作业博客:(班级博客本次作业的链接) 组员情况 组员1(队长):白晨曦 ...

  2. 福大软工1816|K班—alpha冲刺

    Part.1 开篇 队名:彳艮彳亍团队 组长博客:戳我进入 作业博客:班级博客本次作业的链接 Part.2 成员汇报 组员1(组长)柯奇豪 过去两天完成了哪些任务 了解前端方面的相关内容,便于后续对进 ...

  3. 软工实践 - 第十次作业 Alpha 冲刺 (2 / 10)

    队名:起床一起肝活队 组长博客:https://www.cnblogs.com/dawnduck/p/9960710.html 作业博客:班级博客本次作业的链接 组员情况 组员1(队长):白晨曦 过去 ...

  4. 福大软工 · 第十一次作业 - Alpha 事后诸葛亮(团队)

    福大软工·第十一次作业-Alpha事后诸葛亮 组长博客链接 本次作业博客链接 项目Postmortem 模板 设想和目标 我们的软件要解决什么问题?是否定义得很清楚?是否对典型用户和典型场景有清晰的描 ...

  5. 软工 · 第十一次作业 - Alpha 事后诸葛亮(团队)

    软工 · 第十一次作业 - Alpha 事后诸葛亮(团队) 组长本次作业链接 现代软件工程 项目Postmortem 设想和目标 1.我们的软件要解决什么问题?是否定义得很清楚?是否对典型用户和典型场 ...

  6. 福大软工·第十一次作业-Alpha事后诸葛亮

    福大软工·第十一次作业-Alpha事后诸葛亮 组长博客链接 本次作业博客链接 项目Postmortem 模板 设想和目标 我们的软件要解决什么问题?是否定义得很清楚?是否对典型用户和典型场景有清晰的描 ...

  7. 第四篇Scrum冲刺博客

    第四篇Scrum冲刺博客 一.站立式会议 提供当天站立式会议照片一张 二.每个人的工作 成员 已完成工作 明天计划完成的工作 遇到的困难 林剑峰 用户界面跳转到用户信息页面的按钮,设计用户信息页面 测 ...

  8. 第四篇Scrum冲刺博客--Interesting-Corps

    第四篇Scrum冲刺博客 站立式会议 1.会议照片 2.队友完成情况 团队成员 昨日完成 今日计划 鲍鱼铭 搜索页面跳转.设计及布局实现 音乐详情页面跳转.设计及布局实现设计 叶学涛 编写设置页面 编 ...

  9. 【软工神话】第五篇(Beta收官)

    前言:这应该是最后一章了,故事虽然到这就结束了,但现实里还要继续下去,希望在很久的以后来回顾时,能因自己学生时代有这样的经历而欣慰. 说明:故事中的人物均是化名,故事情节经过些许加工,故事情节并没有针 ...

随机推荐

  1. Android 代码混淆配置总结

    一.前言 为何需要混淆呢?简单的说,就是将原本正常的项目文件,对其类,方法,字段,重新命名,a,b,c,d,e,f…之类的字母,达到混淆代码的目的,这样反编译出来,结构乱糟糟的,看了也头大. 另外说明 ...

  2. [Postman]创建第一个集合(2)

    邮递员收藏是一组可以组织到文件夹中的已保存请求. 您在Postman中发送的每个请求都会显示在侧栏的“ 历史记录”选项卡下.在小规模上,通过历史部分重用请求很方便.但是,随着邮递员使用量的增加,在历史 ...

  3. netty入门(一)

    1. netty入门(一) 1.1. 传统socket编程 在任何时候都可能有大量的线程处于休眠状态,只是等待输入或者输出数据就绪,这可能算是一种资源浪费. 需要为每个线程的调用栈都分配内存,其默认值 ...

  4. @vue/cl构建得项目下,postcss.config.js配置,将px转化成rem

    依赖包: postcss-pxtorem 配置: 在项目根目录下创建 postcss.config.js 配置如下: module.exports = () => ({ plugins: [ r ...

  5. Mac OS Eclipse 调试快捷键不好使(失效)的情况

    Eclipse调试使用的F5  F6  F8一直都好用,结果一次调试后忽然不好使. 问题原因,尚未知晓. 解决办法,重启机器.

  6. (转)p解决 java.util.prefs.BackingStoreException 报错问题

    原文:https://blog.csdn.net/baidu_32739019/article/details/78405444 https://developer.ibm.com/answers/q ...

  7. php安装xunserch

    xunserch的安装步骤 注意:xunserch只能在linux下使用 1.安装依赖工具 yum install make gcc g++ gcc-c++ libtool autoconf auto ...

  8. [Java 泥水匠] Java Components 之一:Java String (肯定有你不懂的)

    作者:泥沙砖瓦浆木匠网站:http://blog.csdn.net/jeffli1993个人签名:打算起手不凡写出鸿篇巨作的人,往往坚持不了完成第一章节. 1.1 前言 说起String,大家最熟悉不 ...

  9. python使用协程并发

    协程 协程是一种用户态的轻量级线程,又称微线程. 协程拥有自己的寄存器上下文和栈,调度切换时,将寄存器上下文和栈保存到其他地方,在切回来的时候,恢复先前保存的寄存器上下文和栈.因此:协程能保留上一次调 ...

  10. DynamicProxy系列目录

    C# 1.基于Emit实现动态代理 2.Microsoft.CodeAnalysis动态生成代理类 3.castle dynamicproxy + AutoFac 4.DispatchProxy .R ...