zoukankan      html  css  js  c++  java
  • 敏捷开发准则初解

                 软件开发并不是一件容易的事,不是写写代码然后发布就完事了,这其中牵涉到各个方面的事。今天我第一次听到agile software这个词,这个词引发了我很大的兴趣,据说有很多世界编程牛人聚在一起,总结出了12条关于agile software(后面称作灵活软件,我个人比较倾向于灵活这个翻译,后面会解释我的看法)的准则。这些准则都是前人们的经验,作为后来人,我们自然应该好好体会,少走点弯路就靠这些了,各人有各人的看法理解,下面是我关于前三条准则的理解与翻译,若有不同的看法,希望能听到您的声音,毕竟思想的交换并不等于苹果的交换嘛,呵呵。

                准则一:Our highest priority is to satisfy the customer through early and continuous delivery of valuable software

                翻译:我们最注重的事情是尽早并持续的发布有价值的软件以满足顾客需求。

                个人理解:在做软件开发的时候,到底什么是评定成功的标准,只有弄清了这一点,才能始终保持正确的方向而不至于迷失。当然这个答案简单而又容易忽视,那就是顾客的需求。顾客需要什么,我们就搞什么,就这么简单而现实。然而一个软件的产生不是一做成就是最好的,而且顾客的需求也不是一层不变的,所以软件开发是周期性的。在周期性的开发过程中,该注意些什么,是一堆文档?一堆UML图表?没错,这些是很重要,但用户关心这些吗?冷酷而现实的是,用户只关心,下个月微软开发出了什么新的产品,我的工具性能是否提高,有没有什么工具让我以后更方便的处理文档,或者是下个月,linux版本似乎又要出新版本了哦,画面是不是更美观,更人性化等等。用户关心的是与他们切身利益相关的种种东西,哪个最合我胃口,我就要谁!这又让我想起了微软开发的vista。当vista开发出来的那一刻,微软开心的笑了,因为这是之前以来开发出来的最完善,功能最强大的一个版本,但是这个被寄予厚望的系统最终面对的是怎样残酷的现实!我的朋友当时宁可装xp,也不愿装vista,说vista速度慢,说它与游戏不兼容,咳,vista难道真有这么差吗?

               准则二:Welcome changing requirements,even late in development.Agile processes harness change for the customer's competitive advantage

               翻译:欢迎变更的需求,即使处在开发软件的后期阶段。灵活的开发过程利用这种变更来提高对用户的竞争优势。

               个人理解:开发是需要时间的,有时候我觉得就像一个风险投资,未来是什么情况我们无法预知,假如我们队正在改进一个图形软件,为了满足客户对于时间的需求,我们力图舍掉一些功能,过了几个月,中国股市彪涨,客户们突然说他们有钱了,刚买了另一款新的超级GPU,速度翻了好几个数量级,我冷!这是什么情况!!偏偏等我们到后期你们才这么干!!那么我们是否还需要继续之前的计划?这个显然了,当然是要与时俱进了,哈,顾客需求的变更我们当然还是要尊重,要不谁还要我们的产品。这条准则也是我将agile software 翻译成灵活的软件的原因,因为我们开发软件不是一层不变的,要是活的,这样才能活! 就像战争一样,在战场上,任何计划赶不上变化。

              准则三:Deliver working software frequently,from a couple of weeks to a couple of mouths,with a preference for the shorter timescale

              翻译:持续的发布可行的有价值软件,发布间期可以从几周到几个月,间隔时间越短越好

              个人理解:这个道理其实很常见。。。比如我喜欢看小说,有的小说每天更新3章,每天都能给我来带欣喜,我也会回馈作者我喜欢哪个女主角,然后希望将来能使她和男主角在一起,或者告诉他以后将打斗场面写的详细点。同时我也喜欢看美剧和动漫,他们都是一周更新一集,每周他们发布的那一刻都是那么让人欣喜,同时美剧动漫的制作者也能根据观众的喜爱程度,来做相应方面的努力。呵呵,作为观众的我当然也希望发布时间间隔越短越好,同时,他们也能及时获取信息回馈一更改嘛。虽然发布的不是最终版本,但是对于最终的产品肯定是有帮助的。

              不得不说,一个软件的开发确实不是一个容易的事,遵守一些前辈们的经验总是好的,祝愿各个软件开发的朋友们能事业顺利,有什么经验一定要大力分享!

              以上为我个人对agile software 前三条守则的理解,个人的理解难免有疏漏,欢迎指出,让我们共同进步!

    MicroTeam   Liuhang

  • 相关阅读:
    intel cpu 架构
    nginx-nagios-pnp4nagios-nrpe安装配置过程
    iostat 命令detail
    nagios环境
    编译安装PHP 5.3.13
    nagios支持PNP图形显示
    nagios配置安装
    在xp下禁用media sense
    linux awk常用命令【转载】
    sed命令解析[转载]
  • 原文地址:https://www.cnblogs.com/MicroTeam/p/1891604.html
Copyright © 2011-2022 走看看