响应变化

news/2025/2/12 18:31:49

 响应变化,哪些能响应,哪些不能响应。

变化大,变化小时如何处理

响应变化的度,范围控制,是否超过了当前软件的功能。
设计的度,范围控制。
业务人员
开发团队人员
优先级

需求管理
范围管理
版本管理
软件架构、代码质量只是很少的一部分

多考虑当前的需求,少假设。(beta式的开发)

针对需求要考虑团队能力,不蛇吃大象。

多考虑业务人的想法,防止本位主义

互联网快速,beta式的开发,过程管理比较少,要求个人成能比较强。

 

==========================================================

 

 

敏捷开发思想之拥抱变化 [复制链接]

秉承敏捷宣言的精神(个体与交付重于过程和工具;可用的软件重于完备的文档;客户协作重于合同谈判;响应变化重于遵循计划),我认为,敏捷开发大致应该体现如下的思想:拥抱变化、自我组织、简单最好、客户至上、有效沟通、精益求精。

Kent Beck和Martin Fowler在介绍极限编程(eXtreme Programming)时,最先提到的就是要拥抱变化。这基本上代表了敏捷阵营对于变化的一种态度,那就是不拒绝,而且还要主动求变。有一句经典的论断说得好:“在软件开发领域中,唯一的不变就是变化。”其实,不仅仅是软件开发领域,世间万事万物都处在永恒的变化之中,这是宇宙的基本规律。奥巴马在竞选美国总统的时候,提出的口号就是“变化”。变化才是真正的常态。

传统的软件开发过程由于过分强调文档的完整,重视与客户的谈判与签订合同。所以,开发团队最希望的一件事情是冻结需求规格说明书。只要双方签字,需求就确定下来,不可更改。若要更改,必须经过需求变更委员会,走非常严格的需求变更流程。如果软件开发真能如此,倒也算是我们开发人员的幸事。但现实总是残酷的,需求总是会变化。变化的原因有以下几种:
1)业务发生了变化;
2)客户对业务的理解发生了变化;
3)需求分析人员对需求的理解出现了偏差,需要修正。

对于第一点,或许我们还能够根据合同与客户讨价还价,而对于后两点,尤其是第三点,我们显然是不可拒绝的。而敏捷方法则要求团队随时响应客户的需求,针对变化给出相应的解决方案。

如何拥抱变化呢?我想可以通过如下方式来实现:

1)现场客户

很多开发团队并不喜欢客户对他们指手画脚,甚至认为他们不停提出的需求变化让他们疲于应对。但现场客户给团队开发带来的益处还是要远远超过他带来的坏处。无论团队中聚集了多么权威的领域专家,但真正了解客户需求的还是客户自己。也许他们很难用语言来表述自己的想法,但有了和现场客户的及时沟通,我们才能够在发生变化的初始就能够获得第一手的资讯。如果事情总要发生,早解决绝对比晚解决要好,而且要好得多。

如果在开发中,没有办法让客户成为团队的一员,那么我们也应该指定一位客户代表,退而求其次,也应该在团队中指定一位业务专家负责业务事宜,也就是Scrum中Product Owner的角色。总之,我们需要在项目开发中,能够让开发人员在对需求理解发生困惑时,能够明确地知道由谁来负责。而一旦需求发生变化,也必须有专门的角色负责向整个团队或者相关人士传达。至于业务功能的优先级和重要程度排定,也必须由这个角色指定。

2)定期迭代和小版本交付

不仅要定期迭代,而且要尽可能地让迭代周期短,并及时交付可以工作的小版本发布。XP的迭代周期通常为一周,而发布一个小版本大约是一个月。而Scrum则将迭代称之为Sprint,持续时间推荐为一个月。Sprint结束就需要向客户展示当前迭代完成的版本。

敏捷方法绝对不可闭门造车,因为需求总是可能存在二义性,且需求总是处于不断的变化中。若能定期交付一个可以工作的小版本,一方面可以给与开发团队和客户以信心,另一方面也有助于我们及时获得客户的反馈。而衍生带来的还有一个好处是我们可以免费找到最优秀的测试人员了,那就是我们的客户。如果没有现场客户,则小版本的交付则显得尤为重要,因为它给了我们及早修订错误的机会。

3)持续改进

开发过程总是会出现错误,无论是开发方法、技能,还是团队管理与团队合作。持续地改进我们的开发方法、管理方法与开发过程,才能够及时而有效地解决错误,避免重蹈覆辙。一个能够持续改进的团队是一个成长的团队,同时必然会是一个拥抱变化的团队。

在 Scrum中,每个Sprint完成并结束了评审会议之后,都会召开一个回顾会议,即使总结优秀经验,检讨错误与教训,团队方能够从错误中成长起来。此外,回顾会议还能够帮助团队正确地认识自己,帮助团队成员进行交流与沟通。作为“鸡”角色的客户若能参加回顾会议,可以让客户更直观地了解团队,比提出自己的看法,有助于在后面的开发过程改善合作的质量。

 

 

http://club.topsage.com/thread-348329-1-1.html

 

 

http://wenku.baidu.com/view/ed3aee1aa8114431b90dd832.html


https://dhexx.cn/news/show-1703091.html

相关文章

python为什么在大学计算机等级考试会考呢?为什么会火爆全网呢?

python为什么在大学计算机等级考试会考呢?为什么这么火爆呢? 原因就是python应用广泛,办公自动化,数据分析爬虫等与我们的生活联系密切。 下面看一个利用Python分析学生成绩 注意:本实验是基于Anconda3.X所进行的 一…

SpringMVC 中 返回JSON 数据

前台发一个post请求 后台用controller接住,一定要用 ResponseBody的注解才行。 jackson需要jar包.rar 下载jar包之后,导入其中的三个即可 这样后台直接返回集合就行。前台收到的就是一个JSON数组了。 是不是简单到没朋友。

不要再被Python洗脑了?

最近我们一直被人工智能、Python等各种文章洗脑,文章都在写这些编程语言发展前景比较大,薪资待遇比较高,人才比较稀缺,所以很多人都在争相学习Python、人工智能。 其实就是因为它简单,实用性大而已,其他都…

ARMGNU伪指令

符号定义伪指令 .global,.local,.set,.equ .global 使得符号对连接器可见,变为对整个工程可用的全局变量 .global symbol .local 表示符号对外部不可见,只对本文件可见 .local symbol .set 给一个全局变量或局部变量赋值,和.equ的功能一样 .s…

高效项目管理的十大要诀

当前社会越来越倾向于以项目为中心,通过良好的项目管理来提高工作效率是非常有效的。但是对大多数公司来说,转向以项目为导向的管理结构将会带来极大的变化,尽管变化本身会带来利益,但是人们却往往抵制变化。一定的规则和指导方针…

一文带你看懂Python数据分析利器——Pandas的前世今生

本文将从Python生态、Pandas历史背景、Pandas核心语法、Pandas学习资源四个方面去聊一聊Pandas,期望能带给大家一点启发 Python生态里的Pandas 五月份TIOBE编程语言排行榜,Python追上Java又回到第二的位置。Python如此受欢迎一方面得益于它崇尚简洁的编程…

【Unity/Kinect】Kinect实现UI控件的点击

用体感来实现UI控件的点击,如点击按钮。 做法:用一个图片表示左手手掌,图片位置追踪左手手掌移动,当手掌位于UI控件的矩形内时,握拳表示点击该控件。 using UnityEngine; using System.Collections; using UnityEngine…

项目管理九大知识体系

项目管理九大知识体系: 范围管理:项目为何总是做不完?范围管理要界定 做过项目的人可能都会有这样的经历:一个项目做了很久,感觉总是做不完,就像一个“无底洞”。用户总是有新的需求要项目开…

Java小白从入门到精通,Java零基础入门看这一篇就够了

作为刚刚接触java的小白,今天这篇文章的目的是帮助大家快速入门java,少走弯路 如何快速入门Java? 一、作为刚接触Java的新手,先了解Java的基础。 Java 基本语法、Java 平台应用、Java的核心概念:JVM、JDK、JRE以及Java…

自然语言10_分类与标注

sklearn实战-乳腺癌细胞数据挖掘(博客主亲自录制视频教程) https://study.163.com/course/introduction.htm?courseId1005269003&utm_campaigncommission&utm_sourcecp-400000000398149&utm_mediumshare http://www.tuicool.com/articles/feAfi2 NLTK读书笔记 — …