项目中如何进行敏捷建模
http://tech.ddvip.com 2008年01月22日 社区交流
内容摘要:许多程序员对建模持怀疑态度,但事实上不必如此。我们特意采访了IBM的Scott Ambler,请他谈谈如何在项目中使用敏捷建模,以及为什么你可能已经使用敏捷建模,只是没有意识到而已。
许多模型不会进化为文档,一些模型会,但在一个敏捷团队,你常常会随处看到白纸板,人们在上面画模型或别的什么,随着时间的推移,你会看到它们进化。当你开始考虑编写文档时,你会发现,那些仍然留在纸板上、你放进工具的、你夸耀并进行修饰的模型才是有用的模型。
你认为教育部门需要采取哪些措施来解决这个问题?
我认为大学应该解决几个问题:首先,他们没有必要的资金,他们的资金总是不够,事实就是这样。而且,由于某种原因,他们往往避开团队工作。建模是一个团体行为,你需要许多人参与进来,你们需要协同工作。
如果你在分配任务,你让人们绘制草图,那样很好,但他们可能只是粗略的编写出代码。他们还把教学内容划分成不同的课程,有Java课程、数据库课程、算术理论课程,那么学习的重点只是在数字编程或别的什么内容上面,他们从没有传授完整的生命周期。
另一个问题是他们并不安排项目。他们搞题海战术,或者给你一个任务让你去完成,但他们不会说:“接下来的两个时间,我们研究这个系统”,因此两年里,他们传授不同的内容。你得不到任何实际经验。
我不是说做到这些很容易,但是他们应该着手解决这些问题。几年前我在多伦多大学工作,我们做了一件艰难的工作:在团队工作课程中,我们告诉学生他们会全程开发一个系统,然后在中途,我们撤走他们的所有材料,用前些年的材料进行替代,并且告诉他们:“好了,现在你们要维护一个遗留系统,现在你们该怎么办呢?”
他们十分震惊,我们听到的全都是说我们如何坏的牢骚和抱怨,但这就是现实。在现实世界中,你必须去维护其他人编写的代码。后来我遇到他们,他们告诉我说,这是他们学到的唯一确实有用的课程,因为那是真实发生的事情。你需要模拟那种情况,这确实很难做到。
责编:豆豆技术应用