• 个人博客作业week5:敏捷开发方法文章读后感


      在大二下学期,我们上了面向对象建模方法这门课,在老师的要求下,我们参照软件工程方法,对一个软件开发项目做出详细的计划,然后按照计划进行开发,写了一份很详尽的文档。在习惯了这种开发模式之后,在看完敏捷型开发方法的文章后,突然感觉自己之前的东西都好像白学了,但是后来想想,其实也不尽然。

      正如文章所介绍的,传统的软件工程方法是从客户获取需求之后,制订详细的开发计划,然后交由程序员编码实现。这种开发方法可以有效地团结整个团队,约束团队中的每个成员,从而使项目能够按时完成(不出意外的情况下),但是这种方法也存在一个很大的缺陷,就是它无法处理意外情况(如客户需求的改变等等),毕竟没有人可以保证他能预见开发过程会发生的所有问题,同时软件开发过程中也存在许多不稳定的因素。而敏捷型方法却能很好地解决这一问题。

      敏捷型方法是通过迭代来实现对突发情况的控制。在一个迭代周期内,做出一个最终系统的工作版本,然后根据客户的反馈情况进行修改;同时,这种方法也能很好地解决一个问题,这种问题也是上课老师很多时候强调的,就是大部分客户因为对软件的认识不足,无法很好地说明自身的需求,这给工程方法早期的计划制定带来了很大的困难,而敏捷型方法为客户提供了一个测试的机会,使他们能够在过程中逐步梳理自身的需求,从而加快开发进程。除了适应性之外,敏捷型方法还坚持以人为本,即由每个工作人员自己决定如何做好这个项目,而不像传统的开发方法进行角色划分,这样可以极大地提高成员的积极性。

      虽然敏捷型存在上述诸多优点,但也不可避免地存在一些不足。首先,没有计划意味着开发时间无法确定,何时能将项目交给客户是个未知数,这样会影响到客户后续计划的制订,同时,这对团队的每个成员的自律性也有了很高的要求。其次,以人为本的思想要求每个成员都必须与客户沟通,也要获取相关业务的专业知识,团队内部也必须时刻保持联系,保证每个成员都能第一时间了解项目的变化。这样会带来两个问题:一是对每个成员的综合能力要求较高;二是团队成员必须高度团结。这会给只有个性特长的软件工作者以及多团队合作项目带来一定的影响。

      总而言之,两种开发方法各有利弊,无法说清楚谁好谁坏,适用性也很难界定。对于小项目来说,工程方法开发成本较低,但扩充性较差;而对于大项目来说,敏捷型方法成本低了,但是团队间的合作也变得困难。总之,现在要做的就是掌握好两种方法,在今后的工作再根据实际情况进行相应的选择。

  • 相关阅读:
    RPC的入门
    Https的实现原理
    Celery
    Flask信号
    Redis安装
    python之递归
    python之三元表达式和生成式
    python第十八天作业
    python之生成器
    python之迭代器
  • 原文地址:https://www.cnblogs.com/buaa11061217/p/3371300.html
Copyright © 2020-2023  润新知