起笔:我希望先简单总结一下我在这门课程中经历的一些工作以及学习到的一些东西,再对自己、队友、老师做一个评价。然后我想提出一些对这门课程的一些看法和建议,与自己的心得体会。

第一部分:

我在这门课上经历了个人开发、结对开发、团队开发三个项目。分别用三个词来形容它们我认为是:高效、愉悦、拖沓。

个人开发真的让人很烦躁,基于种种原因(文件太大、内存不足、系统更新、时间紧张),但毋庸置疑的是问题解决的层次逻辑非常清晰,psp表格也填的很明朗,即使在某些问题解决上卡壳了很久,总体的过程还是十分高效没有浪费时间。

结对开发时我们在单个问题的解决上显然快了许多,所以没有遇到非常棘手让人头疼的麻烦(得益于hzp大佬队友的帮助),但由于我们日常工作时间地点上的一些冲突导致我们沟通存在少许障碍,有时候打电话或者线上聊对于问题的描述会出现一些偏差,无形之中浪费了一些时间。总的来说还是两人在一起同时工作的效率最高。

重点想谈一谈团队开发的过程:我们小组的项目我认为在我心目中是完成的是不合格的,要甩锅的话,我肯定首先甩给组长。诚然,组长完成的工作量是组内最多的之一,但是我认为组长作为团队的核心,他有着更重要的责任,在如何解决个别队员积极性不高、团队时间与进度安排、项目管理与会议博客更新等问题上都做的不够。或许有人认为我站着说话不腰疼或者是个甩锅队友的坏孩子,但是我还是会理直气壮的说,几乎每次开会、博客更新、任务都是我在群里主动询问或者提出的,乃至于到了7月份我问这些问题的时候常常得不到所期望的回答(若有质疑我可以随时截图为证),我觉得最可怕的就是空闲的队员们得不到自己的任务,等到有其他事情了结果又开始被逼迫,而不想做的队员们却没有任何压力,在这一点上我认为首要责任在于组长。

关于我自己的工作,我给自己评分为A,至少7月中旬组长告诉过我,我只需要完成所有数据接口,接下来的工作交给他们,这部分我认为我全部完成并在测试文件中成功实现了,对接中据说遇到了一些奇怪的问题是队友解决的,所以我不敢给自己打A+。

关于这门课,助教和老师都很认真,我提出两点建议

1. 这门课比较适合在小学期自由选修,这样真的方便于更好的模拟公司制度的管理环境

2. 效绩考核、跳槽辞职、辞退裁员等等这种制度太有必要了,对于一个团队来说,热情与积极性我认为比稳定更重要

3. deadline的设置希望能够确定一些,可以一开始给一个弹性的时间范围,但是不希望改动太大,因为毕竟同学不是全心全意一门课

(时间紧迫,叙述潦草,暂时记录一下,8月12日回到家更新)

8.14到家更新:

引用队友一句话:任何一个功能的实现,需要数据库、前端后端良好的配合。

1.菜鸟的开发过程中哪一步最容易被忽视?

我记得上次俞昊然校友来做分享时给我们强调的最关键的一点就是“技术选型”,但是懵懂的我们并不理解要在这上面花费多大的心血。前期对技术一无所知之时花了太多时间在造轮子上,技术调研上队员没有做好,导致只能让组长一个人单方面决定,没有足够深入的调研选择。

导致的结果就是“乱”,走一步看一步,多小的一点事儿都只能看“队长”,给团队的leader增添了许多压力。除了队内的强调之外,我的建议:

a. 选题报告之后应该空出更多时间来做调研,之前老师定的一周(减去其他课程时间实则只有两三天)时间太短,实现不了“从无到有”

b. 各组之间的调研可以进行更多分享,不仅仅局限于一次简单的报告,可以针对项目技术类似的一些组进行多组会议

2.团队开发的队长怎么与队员相处?

或者说队长与队员应该保持怎样的关系?我从summer workshop回来也算是当过一次project的组长,虽然只有5人四天的工作,但维持良好的关系的确是不可或缺的。(队员会争吵、会不服气、会因为自己的想法被diss而沮丧,如果按照着别人的想法来做,人类是真的很容易就不上心,尤其是当我们做着毫无金钱收益的工作时。这一点我觉得需要队长和队员的social来解决)主要还是队员会不积极,会用一些理由来推辞安排的工作甚至不回复。关于这一点我的建议是:

a. 任务安排或者重要问题交流时必须面谈,至少是语音,不带任何感情色彩的几行字的安排和交流效果很多时候都更差

b. 组长在做任务安排时的ddl需要适当提前,保持一定弹性,无论是对项目进展还是与队友妥协的时候都会留有一定空间

c. 针对大家用的最多的借口“赶其他的项目”,必须要求本人做出一定字数的解释,其他ddl为什么存在?究竟是不可避免还是之前拖欠。关于这种请假方式,如果次数超过一定上限可以直接影响他的绩效。

建议都是建立在同学关系之上的,或许在企业内,某一些问题根本不会存在,某一些内容根本无法容忍早就被炒鱿鱼了,但我想说学校还是学校,这些问题只能改善,无法根除。

USTC现代软件工程--summary的更多相关文章

  1. USTC《现代软件工程》春季学期——第一次个人作业:词频统计

    截止日期 2018年3月29日23:59 要求 1. 对源文件(*.txt,*.cpp,*.h,*.cs,*.html,*.js,*.java,*.py,*.php等,文件夹内的所有文件)统计字符数. ...

  2. 20162314 《Program Design & Data Structures》Learning Summary Of The First Week

    20162314 2017-2018-1 <Program Design & Data Structures>Learning Summary Of The First Week ...

  3. Summary of Critical and Exploitable iOS Vulnerabilities in 2016

    Summary of Critical and Exploitable iOS Vulnerabilities in 2016 Author:Min (Spark) Zheng, Cererdlong ...

  4. 软件工程(C编码实践篇)学习心得

    孟繁琛 + 原创作品转载请注明出处 + <软件工程(C编码实践篇)>MOOC课程 http://mooc.study.163.com/course/USTC-1000002006 软件工程 ...

  5. 敏捷软件开发VS传统软件工程

    敏捷软件开发:又称敏捷开发,是一种从1990年代开始逐渐引起广泛关注的一些新兴软件开发方法,是一种应对快速变化的需求的一种软件开发能力. 与传统软件工程相比,它们的具体名称.理念.过程.术语都不尽相同 ...

  6. Atitit 软件工程概览attilax总结

    Atitit 软件工程概览attilax总结 1.1. .2 软件工程的发展 进一步地,结合人类发展史和计算机世界演化史来考察软件工程的发展史. 表2 软件工程过程模型 表2将软件工程的主要过程模型做 ...

  7. 三个不常用的HTML元素:<details>、<summary>、<dialog>

    前面的话 HTML5不仅新增了语义型区块级元素及表单类元素,也新增了一些其他的功能性元素,这些元素由于浏览器支持等各种原因,并没有被广泛使用 文档描述 <details>主要用于描述文档或 ...

  8. 软件工程的引入:Scrum开发框架总结

    俗话说,自己写的代码,6个月后也是别人的代码……复习!复习!复习!涉及的知识点如下: 软件工程概念 敏捷开发过程scrum 一.什么是软件工程?请用一句话描述. 软件工程是一门研究性的学科:它用工程化 ...

  9. 软件工程里的UML序列图的概念和总结

    俗话说,自己写的代码,6个月后也是别人的代码……复习!复习!复习! 软件工程的一般开发过程:愿景分析.业务建模,需求分析,健壮性设计,关键设计,最终设计,实现…… 时序图也叫序列图(交互图),属于软件 ...

随机推荐

  1. JDK自带的线程池详解

    1.线程池的使用场景 等待返回任务的结果的多步骤的处理场景, 批量并发执行任务,总耗时是单个步骤耗时最长的那个,提供整体的执行效率, 最终一致性,异步执行任务,无需等待,快速返回 2.线程池的关键参数 ...

  2. 命令行界面CLI

    1.hive   -e --执行一个或多个查询 hive -e "select * from student limit 3" 2. hive -e     > 将临时查询保 ...

  3. python-数据驱动

    1.parameterized.parameterized import unittest from parameterized import parameterized,param class Te ...

  4. 学习日记3、投机取巧使两个表的数据同时在一个treeGrid中显示

    不多说了直接上代码, $('#List').treegrid({ url: '@Url.Action("GetList")', width: $(window).width() - ...

  5. sqlserver库相关-表相关-3

    原文: https://www.cnblogs.com/wlx520/p/4684441.html 库相关 建库 --创建School数据库之前:首先判断数据库是否存在,若存在则删除后再创建,若不存在 ...

  6. 一个最最简单的 log4j 的 入门级使用案例

    看了比较多的文档和博客,感觉这篇博客写得比较好,比较容易懂,先 mark 一下,回头做一个记录. 文章1:http://www.cnblogs.com/rushoooooo/archive/2011/ ...

  7. 【Java架构:进阶技术】——一篇文章搞掂:JVM调优

    Sun官方定义的Java技术体系: Java程序设计语言 各种硬件平台上的Java虚拟机 Class文件格式 Java API类库 来自商业机构和开源社区的第三方Java类库 JDK(Java Dev ...

  8. RichEdit 学习

    procedure TForm1.AddText(RichEdit: TRichEdit; Str: string; TextColor: TColor = clBlack; FontName: st ...

  9. curl的一些常用命令

    在学习nodejs中get到了一项新的技能crul curl 可以给在命令行上面给node服务器发送一些信息,然后得到服务器返回而响应信息,在命令行中打印出来. 下面是我整理的一些常用的命令:

  10. Kubernetes 对象管理的三种方式

    Kubernetes 中文文档 1. Kubernetes 对象管理的三种方式对比 Kubernetes 中的对象管理方式,根据对象配置信息的位置不同可以分为两大类: 命令式:对象的参数通过命令指定 ...