一.Pair work的得与失

合作编程在以前的学习过程中也进行过,基本也就是各人负责一部分最后再将之拼凑起来,而这次作业要求的双人合作,要求的并不是这样,而是两人应该在一起进行工作,这样的要求理想情况下能在代码编写时提供更高的设计质量和代码质量,也能让结对人员之间做到相互学习,经验共享,促进交流,但是在实际情况中,因为结对对象并不是自选,我们之间的共同的空闲时间(因为课程,生活习惯等)不能得到保障,而在另一方面,合作对象之间的相互熟悉也花去了不少的相同的空闲时间,整体效率上也并不见得比分开工作效率高。

而在我理解起来,pair work要想要高效率的运作起来,结对对象的选择是一个很重要的部分,相比与还需要相互熟悉的之前较少交流的同学,或许室友什么的沟通起来更为方便,空闲时间也更为统一,而至于老师在课上所说的“pair work中两人相互督促”,不是在一个寝室的同学的督促无论是次数还是效果肯定是比不上同寝室的室友的。

疑问:pairwork中工作分量不平衡难道不会影响工作配合么,虽说我们pairwork只合作一次,但是在实际中未必不会出问题么?

二. 怎样通过一个有效的办法确定一个Bug的重要程度?我们知道,修改一个Bug时别的Bug处有可能会产生相应的改变,修改了某个Bug可能有的Bug的出错原因就发生了改变,也就是说,如果出现了一些Bug,应该先修改那些Bug会比较

有效率?怎样调整他们的优先级?

我自己尝试给出了问题1的答案:尽量缩短需求分析的时间,尽量完成基本核心功能,然后尽量拉长软件测试的战线,多测试,少加功能。这样可以赢得一些比较看重核心用处的高粘性用户,只要有一些忠诚的用户,做出来的产品就挺成功的。

三.PM不熟悉现阶段项目用到的技术,无法准确控制开发的时间和进度,Dev Leader懂技术懂代码但是队员的水平参差不齐,有些事情只有Leader能解决,这时候该怎么办?

我认为这时候解决问题的最好方法是Leader在对项目工程进行一些问题修复的时候让全队旁观,相当于每次的工作都是一次教学,毕竟大家的磨合才能使团队进步。如果水平的不足是既定的事实了,那么只好寻找方法去弥补。

四.测试与用户测试

书上也并为给出特殊的测试方法,不过其中一点——单元测试需要也必须由程序开发人员来进行。一方面是有些问题在部分代码完成时测试很容易发现,但是在整个工程完成之后却难以寻找,会极大的降低测试人员的工作效率与工作热情;另一方面则是态度上的问题——并不是说代码写好了,编译不出错就算工作完成了,自己的模块要能正确运行才算是完工。比起让他人来研究开发人员的代码,要适应不同的编程风格,弄清楚代码的意思所需要的时间暂且不谈,这也难免让开发人员产生“反正有人来测试”的不负责任的心理。

而用户测试则要求更高,各种神奇/奇葩的情况下都需要考虑到,而且最重要的一点是这些还未必会在用户需求中出现,“如果用户这样这样,会出现什么情况”,如果“用户输入那个,又会怎样”,这固然是要求开发人员在写代码的时候就将情况考虑周全,但另一方面来说人本身就难免出现纰漏,因此就有了后续测试的必要。而后续测试中要如何做到周全?就算是做到100%代码覆盖,也不能保证100%的正确性,所以才会有各种补丁的不断出现,所以才会有各种版本的更新…

总而言之,写代码和做其他事也没有什么区别,负责和担当总是需要的。

五.团队开发的若干

规则是死的,人是活的。当然MSF的那一套流程确实是成功经验的总结,但是在实际中能做到什么程度又是另一个未知数了。

在按标准流程走不下去的情况下,我们需要考虑哪些呢?团队项目的最困难的地方就是按时完成任务与队员间的沟通,其实那一套流程为的也就是保障这两点,也还好teamwork中各成员也都比较熟悉,估计相互督促沟通也不会太过于困难。

疑问:这只是针对我们学生的team而言,我们并不是专业开发团队,我们是否可只借鉴MSF中若干部分/按我们自己觉得方便的方式来开展我们的活动?

Indidual Homework Assignment的更多相关文章

  1. MSDS 596 Homework

    MSDS 596 Homework 10 Due November 28 2017Notes. The lowest grade among all eleven homework will be d ...

  2. MSDS596 Homework 9

    MSDS596 Homework 9 (Due in class on Nov 14) Fall 2017Notes. The lowest grade among all twelve homewo ...

  3. xv6的作业翻译——作业1 - shell和系统调用

    Xv6的lecture LEC 1 Operating systems   L1: O/S overview L1:O/S概述   * 6.828 goals 6.828的目标   Understan ...

  4. IsPostBack and DropdownList.

    Encounted the issue accident when helping my classmate dealing with his homework assignment,it turns ...

  5. sicily9162. RAZLIKA

    9162. RAZLIKA 限制条件 时间限制: 2 秒, 内存限制: 256 兆 题目描述 Mirko's newest math homework assignment is a very dif ...

  6. C语言cgi(1)

    1Columbia Universitycs3157 – Advanced ProgrammingSummer 2014, Lab #2, 60ish pointsJune 9, 2014Follow ...

  7. [SinGuLaRiTy] COCI 2011~2012 #2

    [SinGuLaRiTy-1008] Copyright (c) SinGuLaRiTy 2017. All Rights Reserved. 测试题目 对于所有的题目:Time Limit:1s   ...

  8. The Lisp Curse /Lisp魔咒

    The Lisp Curse /Lisp魔咒 http://winestockwebdesign.com/Essays/Lisp_Curse.html 英文出处 http://www.soimort. ...

  9. 谈lisp

    The Lisp Curse /Lisp魔咒 http://winestockwebdesign.com/Essays/Lisp_Curse.html 英文出处 http://www.soimort. ...

随机推荐

  1. 【PAT】B1075 链表元素分类(25 分)

    这道题算有点难,心目中理想的难度. 不能前怕狼后怕虎,一会担心超时,一会又担心内存过大,直接撸 将三部分分别保存到vector 有意思的在于输出 分别输出第一个的add和num 中间输出nextadd ...

  2. windows下编写shell脚本执行错误

    在 windows 下,换行符是 \r\n,在linux下,换行符是 \n.如果你在IDEA里写sh脚本,可以手动设置脚本的换行符为 \n,如果你用notepad++写脚本,可以显示所有字符,以便明确 ...

  3. Mac OS X 下优化 Terminal,一篇就够了!

    先上最终效果图: 目录 目录 1. 相关工具介绍 2. 配置总览 3. 安装步骤 3.1. 安装 iTerm2 3.2. 安装XCode's Command line tools 3.3. 检查 zs ...

  4. 错误: 无法访问InstrumentationTestRunner 找不到android.test.InstrumentationTestRunner的类文件

    错误: 无法访问InstrumentationTestRunner找不到android.test.InstrumentationTestRunner的类文件

  5. CRM项目之stark组件(1)

    admin组件 admin组件的简单使用 Django 提供了基于 web 的管理工具. Django 自动管理工具是 django.contrib 的一部分.你可以在项目的 settings.py ...

  6. C#の----Func,Action,predicate在WPF中的应用

    首先介绍下,winform中可以用this.invoke来实现:wpf中要使用调度器Control.Despite.invoke: (Action)(()=> { })和 new Action ...

  7. 难点--均方误差(MSE)和均方根误差(RMSE)和平均绝对误差(MAE)

    MSE: Mean Squared Error 均方误差是指参数估计值与参数真值之差平方的期望值; MSE可以评价数据的变化程度,MSE的值越小,说明预测模型描述实验数据具有更好的精确度. MSE=1 ...

  8. JS进阶之---函数,立即执行函数

    一.函数 函数声明.函数表达式.匿名函数 函数声明:使用function关键字声明一个函数,再指定一个函数名,叫函数声明.function name () { … } 函数表达式:使用function ...

  9. go标准库的学习-crypto/rand

    参考:https://studygolang.com/pkgdoc 导入方式: import "crypto/rand" rand包实现了用于加解密的更安全的随机数生成器. Var ...

  10. 如何在Qt Creator中添加库文件和头文件目录

    在使用QtCreator开发图像处理程序的时候想加入Opencv库来处理图形,添加头文件,需要编辑工程文件夹下的.pro文件在文件中添加以下内容,即可包含头文件的文件夹: INCLUDEPATH += ...