前言:咳咳,一个多月了,最近忙这忙那,都把这个故事给落下了,昨晚刚回到家,白天得干活,晚上赶紧把这个故事写完,以此纪念自己的软工。
说明:故事中的人物均是化名,故事情节经过些许加工,故事情节并没有针对任何人,仅以此纪念自己的成长。
回顾上一章:详情请猛戳该链接: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. Windows下Tomcat内存占用过高问题跟踪(ProcessExplorer+jstack)

    一.问题描述 Tomcat下面部署很多个java项目的war包,tomcat启动一段时间后,发现cpu占用过高,整个界面卡死! 二.通过process explorer查看java进程下的线程 pro ...

  2. 前端页面使用emoji

    概述 最近在工作中遇到了移动端emoji的显示问题,于是查找了一些相关资料,试验了一番,把心得记录下来,供以后开发时参考,相信对其他人也有用. 参考资料: 为网站添加emoji表情的支持 思路 在页面 ...

  3. Core 接口发布报错

    An error occurred while starting the application 提示:启动应用程序时发生错误 这个错误在Startup启动项里面 要找具体的报错位置 如下 这样就可以 ...

  4. C#退出窗体的总结方法

    一.关闭窗体 在c#中退出WinForm程序包括有很多方法,如:this.Close(); Application.Exit();Application.ExitThread(); System.En ...

  5. Spring 实现事务的三种方式

    事务:保证数据的运行不会说A给B钱,A钱给了B却没收到. 实现事务的三种方式(重要代码): 1.aspectJ AOP实现事务: <bean id="dataSourceTransac ...

  6. 超声波手势识别(STM32四路超声波获取)

    超声波手势识别在市场上已经有见实现,但研究其传感器发现并不是市场上随意可见的,如果暂且考虑成本,该如何入门实现简单的手势识别呢.聊天中老师给出一个很好的提议,就是固定四个超声波,分别为上下左右,然后进 ...

  7. 破解第二课 JMP法

    首先,我用录屏大师自制了一个视频,给视频加上密码.任意输入,看到报错信息“密码不对,请重新输入” 第一步 反汇编窗口右键点击“中文搜索引擎”---“智能搜索”,搜索引擎界面再次搜索“不对”,结果如下: ...

  8. 十大经典排序算法(python实现)(原创)

    个人最喜欢的排序方法是非比较类的计数排序,简单粗暴.专治花里胡哨!!! 使用场景: 1,空间复杂度 越低越好.n值较大: 堆排序 O(nlog2n) O(1) 2,无空间复杂度要求.n值较大: 桶排序 ...

  9. STL::sort函数实现

    声明:本文参考链接:STL::sort实现. 排序是面试中经常被问及的算法基础知识点,虽然实际应用中不会直接使用,但是理解这些简单的算法知识对于更复杂更实用的算法有一定的帮助,毕竟面试总不能问的太过深 ...

  10. Python Selenium 常用方法总结(不断补充)

    还有此篇内容也丰富Selenium常见元素定位方法和操作的学习介绍 selenium Python 总结一些工作中可能会经常使用到的API. 1.获取当前页面的Url 方法:current_url 实 ...