Deploy Early and Often 20

Deploy( 部署,调度;利用) Early and Often
Debugging the deployment and installation processes is often put off(推迟,扔掉,阻止) until close to the end of a project. In some projects writing installation tools is delegated to a release engineer who take on(承担) the task as a “necessary evil(不可避免的灾祸).” Reviews and demonstrations are done from a hand-crafted environment to ensure that everything works. The result is that the team gets no experience with the deployment process or the deployed environment until it may be too late to make changes.

The installation/deployment process is the first thing that the customer sees, and a simple installation/deployment process is the first step to having a reliable (or, at least, easy to debug) production environment. The deployed software is what the customer will use. By not ensuring that the deployment sets up the application correctly, you’ll raise questions with your customer before they get to use your software thoroughly.

Starting your project with an installation process will give you time to evolve the process as you move through the product development cycle, and the chance to make changes to the application code to make the installation easier. Running and testing the installation process on a clean environment periodically also provides a check that you have not made assumptions in the code that rely on the development or test environments.

Putting deployment last means that the deployment process may need to be more complicated to work around assumptions in the code. What seemed a great idea in an IDE, where you have full control over an environment, might make for a much more complicated deployment process. It is better to know all the trade-offs sooner rather than later.

While “being able to deploy” doesn’t seem to have a lot of business value early on as compared to seeing an application run on a developer’s laptop, the simple truth is that until you can demonstrate you application on the target environment, there is a lot of work to do before you can deliver business value. If your rationale for putting off a deployment process is that it is trivial, then do it anyway since it is low cost. If it’s too complicated, or if there are too many uncertainties, do what you would do with application code: experiment, evaluate, and refactor the deployment process as you go.

The installation/deployment process is essential to the productivity of your customers or your professional services team, so you should be testing and refactoring this process as you go. We test and refactor the source code throughout a project. The deployment deserves no less.

By Steve Berczuk

部署早一点,并且频繁一些

调试部署和安装过程总是被推迟到一个项目快要截止的时候.在一些项目中,写安装工具被委托给发布工程师,他将承担这项任务作为一个不可避免的灾祸.回顾和展示用一个手动的环境来做,以确保每件事情是起作用的.如此这般,整个团队在部署过程或者部署环境中获得不了经验,直到太晚去改变的时候.

安装/部署过程是客户看到的第一件事,而简单的安装/部署流程是拥有可靠(或至少易于调试)生产环境的第一步。部署的软件是客户将要使用的软件。由于没有确保部署正确设置应用程序,您将在客户彻底使用您的软件之前向他们提出问题。
安装/部署过程是用户最先看到的东西,一个
从安装过程开始您的项目将使您有时间在产品开发周期中发展过程,并有机会更改应用程序代码以使安装更容易。在干净的环境中定期运行和测试安装过程还可以检查您是否在依赖于开发或测试环境的代码中做出了假设。
将部署放在最后意味着部署过程可能需要更加复杂才能围绕代码中的假设进行工作。在IDE中,您可以完全控制环境,这似乎是一个不错的想法,但可能会导致部署过程更加复杂。最好尽早了解所有的权衡。
虽然与在开发人员的笔记本电脑上运行应用程序相比,“能够部署”在早期似乎没有太大的业务价值,但简单的事实是,在您能够在目标环境上演示您的应用程序之前,在您实现业务价值之前,还有很多工作要做。如果推迟部署过程的理由是它很琐碎,那么无论如何都要这样做,因为这是低成本的。如果它太复杂,或者有太多的不确定性,那么就对应用程序代码做你想做的事情:边做边实验、评估和重构部署过程。
安装/部署过程对您的客户或专业服务团队的生产力至关重要,因此您应该在进行测试和重构此过程。我们在整个项目中测试和重构源代码。部署也应如此。
作者Steve Berczuk

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值