• 对敏捷开发方法的一些疑问


    最近看了几章Bob C.Martind的获奖作品Agile Software Development Principles,Patterns,and Pratices,我有几点疑问!
    在何种项目中可以使用敏捷开发?也许敏捷开发适用于任何种类,规模软件的开发,敏捷开发不指定具体工作的分工,要求团队自行进行工作分工,试想一个大型项目,需要多个开发团队协同开发;试想一个开发团队有几十个甚至成百上千个开发人员,如果没有明确的分工,如何协调各个开发者之间的工作?用什么保证资源的优化配置?所以我个人觉得敏捷开发只适用于中小规模软件项目的开发,通常这种项目的需求变化相对于大型项目的需求变化要大的多,而敏捷开发在这方面的确有它的优势;
    如何进行开发迭代?敏捷开发主张将设计融于代码中,主张简化过程,不进行或在开发过程中夹杂系统设计,开发者只要对软件项目有一个大致的规划即可,然后就进行编码,开发期间进行频繁的迭代,我想说的是,既然连设计都不存在,如何保证迭代有效性?
    敏捷开发主张代码尽量简单,然后在需求变化的时候进行重新的设计,但在我看来如果使用面向对象设计,虽然在设计阶段用了一些时间,但是可以减少开发过程中一些不必要的重复劳动,也有利于分工;
    当然,敏捷开发的许多优点也是显而易见的,如测试驱动开发,有利于帮助开发者从本质揭示代码效用,结队编程,可以使开发人员集中注意力,且能学到其他开发人员的优点,找到自己的不足,丰富自己的知识;
    敏捷开发不失为一种好的软件开发方法,但我觉得这种方法也具有很大的局限性。其一,对开发者的素质要求较高,其二,在大型项目使用敏捷方法开发软件中可能导致种种不良结果(副作用)
    其实我也没什么底气对闻名于世的敏捷开发提出这么多异议,毕竟这都是自己空想而已,有人说了“实践是检验真理的唯一标准”,这样开来我是没有发言权的,不过那人
    也别告我,我只是说说而已,且是自言自语

    /***********************************************/
    /****Buddha bless me ,and Buddha  bless China*****/

    /***********************************************/

  • 相关阅读:
    【转载】10个Web3D可视化精彩案例
    基于react的audio组件
    如何开发一款堪比APP的微信小程序(腾讯内部团队分享)
    CSS3 用border写 空心三角箭头 (两种写法)
    浅谈微信小程序对于创业者,意味着什么?
    左手Cookie“小甜饼”,右手Web Storage
    css3中user-select的用法详解
    个人感觉一些比较有用的特效例子
    纯css模拟电子钟
    蓝桥杯 ALGO-2:最大最小公倍数
  • 原文地址:https://www.cnblogs.com/justin/p/4652.html
Copyright © 2020-2023  润新知