质量小议31 -- 敏捷

1. 敏捷,agile

  • 反应迅速快捷
  • 动作迅速而灵敏
  • 原因:变化、影响,趋利避害、追求效益最大化
  • 表现:反应、动作
  • 特征:快 

2. 敏捷软件的起源 -- 来源:网络

  • 软件危机,Software crisis,20世纪60年代,1965年前后
     

    - 计算机的发展及广范应用。
      > 大容量、高速度计算机出现,计算机应用范围迅速扩大,软件需求快速增长使得对软件开发需求急剧增长;
      > 操作系统、数据库、应用软件的规模越来越大,复杂度越来越高;
      > 对软件从需求提出到交付的时率性要求越来越高,对软件质量的要求越来越高;
      > 如何提升软件生产率?如何保证软件质量?如何提升软件可靠性?
      > 软件危机爆发 ,软件工程概念提出。

    - 软件危机的表现
      > 软件需求极度膨胀,真正的需求无法一次性掌握,需求一变再变,用户实际需要无法满足;
      > 软件进度延期,既定的交付时间无法保证,需求无法有效满足,开发方被拖入无限期过程;
      > 软件成本超支,实际投入远超预算,软件开发方和软件需求提出方无力支撑庞大的后期再投入;
      > 不确认的软件需求、无序的开发和交付,最终软件质量无法有效保证,错误频发;
      > 无休止的变化,计赶不上变化,需求、设计文档未能及时更新,与开发实际差异,后期维护、增强困难。

  • 敏捷软件的起源

    - 20世纪50年代-美国国防部(DOD)和美国航空航天局(NASA)开始采用迭代式的增量方法(IID);
    - 20世纪60年代-科技的发展,制造业岗位的消减,”知识工人“产生,旧模式不再凑效,生产工具在人的头脑里,旧式的方法被提倡信息共享和劝导的新方法代替;
    - 20世纪60年代-Thomas Gilb提出演化项目管理的概念(EVO方法);
    - 1970年-Winston Royce发表文章《Managing the development of large systems》阐述瀑布方法的概念,并注解说明:“是危险的的并且可能导致失败”的原因, 因为它将测试放到了最后。
      1970年温斯顿·罗伊斯(Winston Royce)提出了著名的“瀑布模型”:将软件开发和生存周期的各项活动分解成为若干固定的、有序的工作阶段 -- 参考,百度百科
    - 1986年-Tankeuchi和Nonaka发表白皮书《The New New Product Development Game》讨论了Scrum方法。
    - 2001年2月,Martin Fowler,Jim Highsmith等17位著名的软件开发专家齐聚在美国犹他州雪鸟滑雪圣地,举行了一次敏捷方法发起者和实践者的聚会。在这次会议上面,他们正式提出了Agile(敏捷开发)这个概念,并共同签署了《敏捷宣言》。  --  参考,敏捷是什么?一文读懂

  • 敏捷软件开发

    - 基于敏捷的价值观和原则形成的一系列方法和实践
    - 应对软件危机而形成的一种软件实现方法
    - 基于迭代、渐进的软件开发方法
    - 基于价值交付概念:以较小的规模交付对客户有价值的软件,不断验证和调整
    - 基于应对变化、控制风险的原则:将由A -> B(A到B)长时间、多变化过程,分解为 A -> A1 -> A2 -> ...... -> B多个持续的、不断改进(sprint)的过程
    - 由传统交付一次验证转化为多次交付、不断验证:敏捷过程的每个阶段都是需求再明确、交付结果验证的过程
    - 不仅开发团队团队投入其中,客户也同样参与到敏捷过程中,看到预期交付成果的产生、增长、变化,直至最终交付

  • 敏捷的优势

    - 更快、更真实的价值体现,发现真正的需求,体现人、时间、投资的真正价值
    - 直面、迎接和拥抱变化,最快的处理问题,用最小的成本进行变更和增强,减少风险
    - 持续不断的验证、审视,第一时间的问题更正、风险控制,更好的阶段交付质量 和 更高的最终交付质量
    - 快速的、以最小的成本应对变化,在时间、成本、范围之间用最灵活的方适处理问题,最大化ROI(投入产出)
    - 团队参与、客户参与,全员共享信息,更好的客户满意度、团队满意度

  • 敏捷的不足

    - 自我管理、自组织,快速响应、不断反思、精进、精益,对参与人员素质是不小的挑战
    - 从点到面整体预算的制定,时间、成本、质量的控制,一切都在变化,花多少钱?截止时间在哪?是件难事。 -- 敏捷教练与项目经理能角认吗?区别?
    - 边做边改、边走边看,产品最终是什么样?如何评价最终的交付? -- 也许客户满意就好
    - 按需付费、随时叫停,建立的基础是契约和合同承诺,如何控制? -- 也许还是要有一个基线比较好
    - 做更有价值的,哪些更有价值?不能理解和找到价值点,往往给团队的懒惰和不规范找到个并不合适的理由。比如,不要文档 -- DevOPS?要不要一锤子买卖?
    - 灵活、随便,如何控制团队工作和交付质量?敏捷会议可以解决吗? -- 敏捷会议怎么开(计划,站立,冲刺,评审,回顾)
    - 价值如何体现:看板如何用?展示什么?花花绿绿之后,难免落于形式大于过程,理论大于实际

3. 我理解的敏捷 -- 参考,敏捷,知识补充_敏捷审计_Rolei_zl的博客-CSDN博客

  • 一切都是钱惹的祸:如果没有时间要求、如果没有成本要求、如果没有质量要求,如果。。。。。。没有如果,只有“卷”,亦是人类的精进
  • 价值:何为价值?你想要的也是价值
    价值观:尊重、开放、勇气、专注、承诺,每一个词都需要极高的素质
  • 共享:团队内、团队与客户之间,需要坦诚、尊重、承诺
  • 学习:学习型个人,学习型组织。 学习 = 读书?学习是自我反醒和精进
  • 敏捷:快速反应、迅速行动;慢就是快,快就是慢,中式哲学值得回味

任何的一种理论都不是凭空而来,时代造就了新的思想的产生,新的思想亦是站在巨人肩膀之上的再次、深度、突破性思考。
触类旁通,万变不离其宗。

猜你喜欢

转载自blog.csdn.net/u012841352/article/details/132522451