扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
许多程序员对建模持怀疑态度,但事实上不必如此。我们特意采访了IBM的Scott Ambler,请他谈谈如何在项目中使用敏捷建模,以及为什么你可能已经使用敏捷建模,只是没有意识到而已。
Builder AU:敏捷建模对于Web 2.0领域内的开发者有什么意义?
Scott Ambler:敏捷建模的目的是为建模和文档构建描述一组原则和实践,最好是用于敏捷项目中。但如果它们不是那么敏捷也没有问题。
我们已经看到,它的主要用途在于XP(极限编程)方面,目的是使现代文档构建过程更加明晰;或是与RUP(Rational统一过程)结合,降低一些官僚作风,并使它尽可能精简。
它只是通过你正在做的一些事情,不必死啃不必要的文件,为你描述有效思考的方法。从敏捷的角度看,它提出一些直接的策略,帮助你避开希望你做过多文案工作的官僚主义者,并就如何管理工作提供一些建议。
敏捷社区的一些更加极端的交流激发一些人去做错误的事情,我不是在嘲笑敏捷爱好者,只是他们的做事方式可能是错误的。
你认为程序员对于建模持什么观点?
我认为,许多程序员出于一些原因,对建模嗤之以鼻。
首先,他们没有受到过良好的培训。我想学校根本就没有建模课程,就我所知,从来就没有过,但他们现在在这方面的表面确实不如人意。
许多时候,开发者接受第一份工作,第一次做建模时,他们几乎总是会面临以下两种不良状况之一。他们要么加入一个项目团队,这个团队首先为你提供所有建模条件,然后你会慢慢忽略它。于是他们发现在建模文档方面浪费了许多精力,然后他们会说:“嗨,我做了所有这些建模工作,但它对产品没有任何影响,这真是浪费!”因此他们开始讨厌建模。
或者,更糟糕的是,他们会做他们的工作,他们成功部署项目进入生产,然后有人会指出:“嗯,现在我们需要用接下来的两个月时间构建所有的文档,我们应当让人们觉得我们遵循了工作流程。”这完全是浪费精力,只是有人为了给工作找到合理的理由,与交付价值根本无关。许多开发者厌恶这种事情。
另一个常见的问题是他们努力将建模与构建文档区分开来。如果我在一个白纸板上画草图,那么这是一个模型,但却不是一份非常整洁的文档。从某种意义上说,错在供应商,因为我们想出售CASE工具。我们试图让开发者确信,建模必须用这些复杂的工具来完成。
不,并不全是如此——我们只是观察到这样的事实:许多建模在白纸板上完成,许多建模在纸上完成,那样很好。如果你需要取得更加复杂的效果,就需要使用更加复杂的工具。
例如,我拥有熟练的建模技巧,因此在建模时,我使用RSA(Rational软件构建器,Rational Software Architect)或RSM(Rational软件建模器,Rational Software Modeller)这类工具比用手“涂鸦”更加有效,然后生成我的代码和数据库材料。
如果能够生成代码,却要去编写它,那样做就很愚蠢了。我认为在这方面,工具可以生成优良的代码。问题在于,使用工具需要掌握大量技巧——如果你不具备那种技巧,也没有花时间来掌握它,或是与某个掌握这种技巧的人合作,那么工作起来就相当艰难。许多开发者发现如果可以选择,他们愿意做更多建模工作,但他们并没有获得学习的机会。
我们肯定需要区分模型和文档,它们是完全不同的概念;虽然一些模型会进化成文档,但许多模型不会,那样也很好。
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者