现在的位置: 首页 > 综合 > 正文

能力拓展训练计划

2018年04月09日 ⁄ 综合 ⁄ 共 2582字 ⁄ 字号 评论关闭
*序
  我是在一所社会力量办的教学中心学的编程,因为学的还算不错,工作以后,中心就打算找我回去带新学员做一个模拟项目。那时是2005年8月,刚好在看《敏捷软件开发 原则、模式与实践》一书,于是就在这种情况下编写的这份计划。
  不过这份计划并未执行,主要是因为没有合适的项目来做。其实我希望做一个人才库管理系统,一方面是这个项目是真实的,一方面是这个项目规模小、开发简单,但中心不认可,而我又没找到更合适的项目,所以最终放弃了。
  但我一直觉得自己这个想法很好,所以把它放到网上。全文如下:
一、简介
  能力拓展训练计划的参与者是没有实际软件开发经验的人员,旨在拓展其需求分析、项目控制、软件开发、新知学习、综合运用、团队合作以及应对挫折、组织领导等方面的能力。在计划执行过程中,参与者会参与一个小型项目的开发,这个项目会以敏捷软件开发的方式进行。
二、时间、编制
  1.时间
  软件开发能力拓展训练计划的时间长度为三周,在这三周中,参与者将经历软件设计、软件开发、软件测试三个阶段。整个项目的开发过程以迭代的方式进行,周期以天为单位,参与者需要在每天为项目提供一个版本。不过应当注意,本计划并不要求参与者每天提供的版本都是完善的,尤其是计划开始阶段。但版本应当逐渐完善,当进入软件测试阶段后,就应当提供可以工作的版本了。
  2.编制
  建议一次参与软件开发能力拓展训练计划的人数最多20人,分成4组,每组5人。这5个人在计划的执行过程中是一个团队,他们需要紧密合作,这将通过以下两点展现:
  首先,5个人中会设立一个组长,组长不参与开发,而是要完成这样三个任务:1. 制定计划,将其他4个人分为2组,让他们结对开发;2.对开发中发生的问题进行决策、处理;3.与指导人员沟通,计划禁止组员与指导人员进行沟通。但组长不是固定的,每天会随机更换,并在当天早上临时公布。计划将保证每个人在每个阶段都有一次机会成为组长。这样做的目的有三:一是让每个人都有机会领导别人,锻炼其领导能力,因为许多人都会面对这样两个问题,一个是自身能力不强,无法领导别人,一个是组员中有个别人比较强势,甚至会反过来控制领导者,这样在计划执行过程中,每个人有三次机会成为组长,他们可以在这个过程中自行总结、调整;二是学会从不同角度把握如何与他人合作,因为每个人都会处于领导者与被领导者的地位,同时还要面对未来的领导者与曾经的领导者,这样在确保自己想法被别人认可的同时,还要考虑别人的想法;三是项目每天都会有一定进度,而且每天都可能遗留一些问题,甚至是进度滞后,因此每天早上公布组长人选,意味着每个人每天都要根据当前情况提前制定自己的计划,由于组长是不参与开发的,因此新任组长也无法照搬前任的计划,这将锻炼每个人应对事务的能力。
  其次,组员不恰当的行为当导致本组丧失参与资格。若组员不参加计划且无正当理由,当人数达到2人时,该组即可能丧失资格。对组内其他成员的安排将在次日早上作出,若其他组有人员空缺,则安排到其他组,若无空缺,则彻底丧失资格。这种安排目的有二:一是给丧失资格组的成员以空档,让他们可以用这段时间为自己活动,甚至挽回可能丧失的资格;二是在开发中,人员变更确实存在,将人员安排到其他组,可以提高参与者遇到此类情况时的应对能力。
三、详细计划
  1.日程的安排
  前一周周六,指导人员与参与者见面,内容如下:
  (1)向参与者介绍本计划;
  (2)向参与者介绍流行技术,并指导如何选择技术以及如何搭建架构;
  (3)向参与者介绍项目;
  (4)开示例会,向参与者演示如何组织本组人员开会、开发(预计在下午)。
  第一周周一至周五,程序设计阶段,要求参与者以迭代的方式编写文档,包括需求分析、程序设计、编码规范、数据库设计、数据库编写规范、测试用例等。其中周一上午将用来做需求分析,并制定相应的进度计划;周五下午进行阶段总结,此时所有文档都应完成,但并不要求文档内容完善,完善的任务将留在后面。此外,开发所使用的技术、数据库、服务器、架构等也应确定。
  第一周周六,指导人员答疑,对工作成果进行评估,并给出相应的指导。
  第二周周一至周五,程序开发阶段,要求参与者以结对编码的方式进行开发,结对的两个人在开发中只能使用一台机器,他们必须紧密协作。如果在开发过程中发现设计缺陷,应由组长主持立即对设计进行修正。这五天中,前两天将主要完成数据库、架构搭建及门户开发等工作,之后进入主体开发。主体开发的同时还应进行代码级单元测试。到周五下午,开发组应拿出一个可以工作的版本。
  第二周周六,指导人员答疑,对工作成果进行评估,并给出相应的指导。
  第三周周一至周五,程序测试阶段,其中周一、三、五供参与人员自主测试,分别为集成测试、系统测试和压力测试,一旦发现问题应立即修改设计和程序,并重新进行相应测试。周二、四为预答辩,模拟现场部署,选择当天的组长进行答辩,组长可以选择一个组员协助,演示过程中允许出现致命问题。到周五下午,开发组应拿出一个完善的版本。
  第三周周六,答辩,模拟交付,由指导人员随机在每组中选择两个人。
  第三周周日,对培训进行总结。
  两点补充:建议每天第一个小时用来总结之前的情况、计划当天的任务,最后一个小时总结当天的情况;再者空余时间请不要回家看电视,请解决自己遇到的问题,包括新知学习、技术应用、组织领导、团队合作等。
  2.可能遇到的问题
  (1)参与者感觉混乱,认为组织的不好,甚至违反计划规则;
  (2)由于让参与者完全自主开发,指导人员只给出指导性的意见,加上个别参与者能力有限,因此参与者很可能感觉不知所措;
  (3)感觉自己什么技术也没学到。由于本计划侧重于能力训练,所以能否有所收获,关键在于参与者是否懂得自我总结。当然,指导人员也要给出相应的指导。
  3.结果
  大部份人项目失败,甚至全部失败。计划的目的很多,感受失败、感受挫折也是其中之一。指导人员将在最后的培训总结中直面参与者,对问题进行说明。
四、后续
  建议参与者在培训技术之后就去尝试找工作,并在一个月后参与另外的模拟项目。
*结尾
  这份计划针对的是各种社会力量办的计算机培训中心(软件开发方面)。
  编写计划时借鉴了敏捷软件开发的思想,但并未拘泥(至少我自己这么认为),所以看起来可能有点似是而非。

抱歉!评论已关闭.