关于学校教育, 晓庆说: 不收你们钱就不错了

作者:JerryXia | 发表于 , 阅读 (0)
背景
本学期我们(娴静, 唱鑫, 光磊)在北航开了一门课, 研一, 软件学院, 两学分, 十次课, 每次三小时, 周日下午上, 课程名原来叫 现代软件工程, 后来被学校改为 一级实践, 是在机房上的实践课, 我们主要练习了极限编程中几个跟编程密切相关的实践, TDD, 重构, 结对, 简单设计, 持续集成等.
我们打算讲一下我们碰到的问题. 这不同于做开发项目. 我们可能是软件开发的熟手, 但学校教育, 100人的课堂, 完全是不同的问题域. 以至于有人问是不是billable, 我们说没多少钱的时候, 晓庆说: “不收你们钱就不错了”. 诚哉斯言.
下面讲一下我们对问题的理解, 对应的方案, 和经验教训. 我们有意识的尽量不提我们的课程内容, 因为具体的课程内容是与我们将要谈论的问题域没有关系的. 换句话说, 如果我们教授的不是软件开发而是财务或者证券投资, 只要学生数量同样很多, 差距同样很大, 我们依然会遇到并要解决这些问题.
问题
比较大的问题有:
课堂规模带来的效果问题: 100人左右的大班, 如何保证学生的听课效果? 包括老师辅导答疑的针对性水平差异带来的排课问...阅读全文

AntiPattern: Batch Code Review

作者:JerryXia | 发表于 , 阅读 (0)
2013-01-09
AntiPattern: Batch Code Review所谓批量code review是指一段时间, 通常是一个迭代或几周之后, 团队坐在一起集中code review. 这种方式有几个问题:
有一些通过code review能发现的bug因此而潜伏下来, 有可能被发布, 就算运气好发布前通过各种测试被发现, 依然带来一些overhead像发bug, 定位问题, 修bug等额外的工作.有一些通过code review能共享出来的知识因此而很长时间之后才被共享, 而在此期间, 团队其他人由于不了解这些知识, 有可能犯已经犯过的错误, 或走一些弯路, 造成效率的降低有一些通过code review能得到改善的设计因此而被推迟, 造成技术债的累计, 提高维护成本有一些故事已淡忘…如果是通过版本控制系统的diff来做code review, 则按顺序review时很多中间版本都已经过时, 不得不费力解释最新版本是什么样子, 给团队带来理解上的困难, 甚至造成错误的印象code review meeting将持续很长时间, 每个人都很疲惫然而最关键的问题是:...阅读全文

Methods, Not Methodology (I): Validated Code Review

作者:JerryXia | 发表于 , 阅读 (0)
2013-01-27
Methods, Not Methodology (I): Validated Code ReviewSee Also: AntiPattern: Batch Code Review
Code review, specially daily code review, is considered a good practice. I’ve participated lots of code review meetings, and something concerns me. It’s the low efficiency. Usually it takes longer time than scheduled, while gains less benefits than expected.
Lacking of guideline to facilitate reviewers’ thinking is one of the reasons for low efficiency. All comments come randomly. The ha...阅读全文

Methods, Not Methodology (2): Effective and Validated 5 Whys

作者:JerryXia | 发表于 , 阅读 (0)
2013-01-30
Methods, Not Methodology (2): Effective and Validated 5 WhysAs a brainstorming method, the 5 Whys are hard to beat. This technique is inexpensive, easy to implement. Because it is so elementary in nature, it can be adapted quickly and applied to almost any problem. In software development, usually it will be used in root cause analysis meeting for serious bugs.
Again, the problem is the efficiency. And the more complex things get, the more likely it will to lead you down a false...阅读全文

Methods, Not Methodology (4): Effective Meetings

作者:JerryXia | 发表于 , 阅读 (0)
2013-02-06
Methods, Not Methodology (4): Effective MeetingsThe Problems
Two problems:
There’re tons of articles and books that talk about meeting efficiency and effectiveness, but “too many meetings”, “meeting takes too long” are still the most popular items in retrospective meetings.People complain about meeting efficiency but do nothing to change it, especially even don’t change the behavior of themselves.What can we do to improve it?
The General Reasons
Well, the first problem (too m...阅读全文