2011年01月05日 星期三 08:02
在找到海盗埋藏的金币,开一个独角兽饲养场,和娶了一个漂亮的国际超级名模以后,每个经理的梦想是什么?当然是提升Web应用程序开发的效率。
不像金币,神话中的动物和超级名模,这个目标是可以实现的。你可以一小步一小步地实现这个目标,逐渐地提升团队的生产力。但是,如果你的目标是数量级上的提升,你必须要做一些深度变革才可以。(它并不像开一个独角兽饲养场那样困难)
在开始这个过程以前,考虑一下以下这个事实是十分重要的:构建新的Web应用程序的流程和维护现有的应用程序的流程都需要优化。毕竟,一个Web应用程序的大部分成本是在首次迁移到生产环境以后才产生的。
考虑到这一点,这里总结出了可以帮助改善Web应用程序开发的7个技巧:
1,自动部署
把一个Web应用程序迁移到生产环境一定要尽可能的简单,快捷。为了实现真正的敏捷性,跟上业务发展的步伐,必须要把Web应用程序频繁地部署到生产环境才可以,否则,延迟会跨越开发周期地堆积起来。如果把一个新版本部署到生产环境需要花费两天的时间,那么你的生产力会受到严重的影响。
2,减少复杂性
一个应用程序越复杂,改变它就越困难。解决方案是什么?当发现一个系统规模太大的时候,把这个系统分成几个更小的子系统。但是,要完成这个任务,需要这样一种技术:既可以帮助你理解复杂的系统,又可以帮助开发团队把系统分成多个更容易管理的组件。
3,从第一天起,就以生产环境为目标
对于一个时间紧迫的业务问题来说,制定一个快速的解决方案,以后再修改这个应用程序,让它适应生产环境,是十分具有诱惑力的。这似乎看起来很敏捷,但是,在现实中,监控,可扩展性,日志,用户管理等都是不可忽略的事情。理想的解决方案是在一个可以让你理所当然地获得这些功能的平台上构建这个Web应用程序。
4,影响分析
要快速地进行改变,团队需要确定这些改变不会破坏已经完成的工作。通过以下三个步骤,这个问题会被最小化:首先,在开发过程中,使用影响分析工具:如果一个数据库的变更会破坏业务逻辑,那么这个工具需要马上显示出来。其次,进行回归测试。最后,确保变更的影响可以被度量,尤其是把生产性的数据放到生产性的服务器中的时候。
5,在知识传递方面进行投资
人员离职,由不同的团队负责开发和维护,或者必须把团队重新分配到不同的项目中,这些都是需要在知识传递方面进行投资的理由。但是,不要把知识传递的重担压在开发者的肩上。文档是无法满足这方面的需求的,走查代码比较缓慢,而且也比较困难。应该使用领域特定语言或可视化的语言,把这个工具交给工具来完成。
6,灵活的控制
在面对需要两天才能批准迁移到生产环境的官僚化流程的时候,只需要10秒钟的部署流程的优势彻底丧失了。要实现真正的灵活性,有两件事情是必需的:全面问责制——如果问题发生的时候,知道应该向谁寻求帮助;最重要的是,可以回滚一个不太成功的部署。
7,和项目干系人进行合作
越早获得项目干系人的反馈,Web应用程序开发就会越早走上正轨。如果方向错误的话,开发速度再快也没有意义。考虑到这一点,项目干系人可以很容易地提供关于他们想看到哪些改进的反馈是至关重要的。
看起来好像有很多工作需要做
的确——这些步骤都不是一触而就的(但是,比起独角兽饲养场来说,它们要更容易一些)!但是,通过这些技巧,开发团队的生产力会得到显著的提高。你还有一些其他的技巧要添加到这个列表中吗?你如何让你的团队的生产力提升一个数量级的?请在留言中与大家分享。
原文作者:Mike Jones 周雪峰 译 来源
Zeuux © 2024
京ICP备05028076号