【IT168 技术评论】 2004~2005学年,Pam Rostal和Dave West在NMHU(New Mexico Highlands University)启动了一个独特的学位教学计划:要求学生在实际项目中广泛开展敏捷实践。本文讲述的就是有关这个教学计划的故事——虽然此计划目前已经停止,但很可能只是暂时的,他们正在争取2007学年重新启动。但不管计划是否重启,这次实践无论是对学术界,还是产业界,都将点燃思想的火花:我们要大胆创新,敢于开展一些以前未曾想及的实践,努力提升我们对开发、测试和项目管理人员的教学成果。
最初,我们是想建立这样一个大的群体——大家可以全身心投入软件开发艺术的学习和掌握,一起为“人人为软件,软件为人人”(译者注:原文为“software by people for people”)的目标努力。
一片雪花,必须有凝结核才能形成其复杂的晶体结构。在我们期望建立的群体中,同样需要这样的催化剂。教育(以及再教育),是形成新群体的基本要求;历史悠久的学校——如最早的古希腊学园和西藏寺院——恰是专门开展群体教育的场所。
对于我们来说,这个凝结核就是在一个较小的(3000学生左右)公立大学(我们选择的是在新墨西哥州拉斯维加斯的NMHU)展开的新学位教学计划。这个教学计划在几乎所有方面都有考虑,其基准点就是我们标识中展示的核心价值观。
图1所示的标识,涵盖了软件开发的核心理念,包括它是一门专注于现实构造(Reality Construction1)的规律性艺术、在平台软件上展开工作、以不同但充满热情的人为中心、依靠集体力量、又全体参与贡献的群体实践等等。如果标识中五边形各边所示关注点能彼此维持一个良性关系,那么这个团队就能创造出令人惊讶的软件开发能力,从而实现教学计划的核心目标——由被教育者组成的研发团队,达到10倍于平均水准的生产力。

图1
从2004年8月开始,20个学生和两位教师开始一起努力。以下就是有关他们的故事了。
为什么现在来讲两年前的故事?因为计算机科学教育工作者和社会需要知道计划的完成情况。当学生发现需要真正掌握,而不是满足于用给定工具实现目标时,需要一个合适的群体环境,引导他们克服困难。即便非学术界也能从这些教训中学到东西,最终,无论是教育机构还是软件开发组织,都需要形成价值群(Value Shop2)——拥有能根据用户的实际情况提供解决问题服务的能力。
请到我们的学生活动室来——接待室的门一直是开着的。读书小组会议、拜访名人大家等通知都帖在门上。请注意门左边的微波炉和右边的显示器,即使屋里没人的时候,路人也可以驻足观看PowerPoint幻灯片,它展示了我们最近的工作进展和计划中的一些事情。

图2
教学计划
具有开创意义的NMHU软件开发学习班(Software Development Apprenticeship,SDA),设在新墨西哥州拉斯维加斯的一个小镇上,这里海拔6500英尺,人口约15000,紧靠崎岖绵延的Sangre de Cristo山脉。这些矗立在人们面前的大山,就像我们的教学计划,看起来似乎难以逾越。只有到达山巅的人,才能得到应有的奖赏;常人不可及的美景,属于选择攀登的人。
在新墨西哥北部地区,绝大多数家庭压力大、普遍贫穷,因此这里的学生,在很小年龄时就必须与命运搏击。因此,这些学生非常希望改变自己和自己所在群体的生活面貌。他们能深刻理解家庭和群体的涵义,所以自然也就能认识到成为我们正在建立的群体中一员的潜在价值。我们的标识和SDA手册,对这个理想模型做了明确定义:
X*10(意味着10倍),即非常有名的、某些开发人员的能力为平均水平的10倍——这也是我们对所有毕业生的期望。
人(People)——记住,我们的目标最终是服务于人,因此开发人员必须和其他人一样得到尊重。
系统(Systems)——我们要改进现有商业和社会系统,而不是去制造过时的老古董。
敏捷(Agility)——我们对结果感兴趣,我们不是形式主义崇拜者。
工艺(Craft)——我们认为软件开发是一种艺术,而非机械的生产过程。
软件(Software)——是我们开展艺术活动的载体。
我们一直在与ACM、IEEE3的相关标准鼓吹的能力模型做斗争,保持了对我们自己信念的执着。当然,现有一些好的能力标准成为了我们定义模型的一个子集,此外,在其他很多方面增加了大量超越现有技术和实践规范的要求——毕竟,我们对学生的期望远远超过世界上任何其他学校的教学规划。我们希望学生完成六年的学习计划,其中大部分和培养正规毕业生的目标类似,但同时要求培育对现实中开发工作的深入经验,这在目前任何正规大学的本科学位四年学习计划中,是不存在的。我们计划开设的所有科目,都可以说是跨学科,或者说与具体课程独立的;在很多方面,与传统做法都有很大不同,比如允许多门课程同时规划、在同一个地点由多位教师教授,再如对物理空间的要求等等。因此,我们希望灌输给学生的这种意识,只能通过非传统的、强调责任、反馈、协作和面对问题4时创新解决办法的教育模式,才能逐步培养起来。
在目前已经为大家认可的教育模型中,我们选择了系统思想(Systems Thinking5)、诚信领导力(Authentic Leadership6)等,对这些概念的学习,有利于缩小学生对世界的理想认知和世界实际模样之间的差距。另外,我们还在模拟学生将来真实工作环境方面下了大公司,白板、圆桌、转椅、粉笔等一样都没有少,如图3。

图3