转载自陈勇的博客 - Scrum 敏捷开发,绩效管理,团队管理,企业管理,ASP.net MVC敏
这是敏捷开发一千零一问系列的第一篇。(之一,之二,之三,问题总目录)
也是般若敏捷系列第十篇。(之一,之二,之三,之四,之五,之六,之七,之八,之九,之十,之十一,之十二)
做敏捷开发时间长了,就感觉很多事情都理所当然,越发觉得“问题很可贵”,最近做培训的时候收集了一些问题,很多现场来不及解答,逐一发表在这里。
如何解决一个问题
知识多了自然可以解决问题,经历多了自然也可以积累经验,但是在一个只出现10年的领域,还有一堆只工作了10多年的年轻人中间,必然有一天会遇到从来没有人解决过的问题,这时候怎么办呢?
掌握解决问题的心法是核心。
对这个系列而言,就是要掌握用敏捷开发的方法解决问题的心法。掌握了心法就能解决所有问题,这比知道一千零一个问题的答案更加重要,因此会先用三篇来综述一下解决问题的心法,可以总结为无我、无住、共振三个词汇。
为什么不写成更通俗易懂的现代汉语?因为找不到贴切的词汇,更没有简短、容易记忆的语句,罗哩罗嗦写了一大段,保证大家关闭IE就忘光了。
估计在看完十个二十个问题和答案后,再回来看这篇序言,大家会和我一样认同这三个词汇是最佳答案。
无我
包括两个部分,无我无人 和 无现在无未来的我。
无我无人
这里的”人“是他人的意思。
原来的敏捷宣言中包括了无我无人的成分,“个体与交互胜过过程与工具”及“客户协作胜过合同谈判”说的就是这个部分。
为什么需要过程、工具、合同、谈判?因为有部门分割,有利益差异。
在传统开发过程中无形中产生了很多对立团体,比如客户负责自己的价值而我们负责编写功能(注意功能不等于价值,否则用户故事语法就不需要前面的”作为一个……“和后面的”以便……“了),程序负责编码而测试负责质量,领导负责计划而员工负责执行,产品经理负责销售市场及竞争力而项目组负责……甚至乃至在一个团队中,都有我的任务、你的任务之分,一旦这些成为事实,那就太需要过程、工具、合同、谈判了。
所以要用敏捷开发的方法解决问题,首先应该先融合不同团体的利益,比如拥抱客户价值,拥抱变化,团队工作,代码所有制,自动化测试与持续集成(开发人员参与编码的测试)、代码审查……
无现在的我和未来的我
就是千万不要以眼前利益为驱动,而要把现在和未来放在一起考虑。
这个没有出现在敏捷宣言里,因而常常被伪敏捷的人拿来作为不写文档的接口,又被反敏捷的人拿来作为攻击敏捷的漏洞。
”到底要不要写文档?“答案当然是”看着办“。但怎么看着办呢?如果一个人在”看“的时候心里想:”其实我自己开发者写代码不需把想法写出来的,现在劳心费神写文档的人是我,未来不知道便宜了哪个后来人呢“,这个时候看着办就是危险的。
但如果他在想:”这个部分代码里边表达地很不清楚,而这个产品20年后还会有人用(比如汽车电子),所以应该写成文档;那个地方呢,一看代码就很明确了,不写了。“这个时候看着办就是安全的。
差别在哪里?第一个人的想法里边有”我“有”他人“,干扰了看着办的出发点。
人有天生的惰性,习惯了”Max the undo“,就是把事情拖到最后再做,如果一旦误解了敏捷开发中的“不做不行的时候才做”,就很容易找到借口把很多应该做的事情推掉。
还有很多事情有现在和未来的差别,比如短期功能的生产率与长期架构的稳定性,短期“强分工的专家团队”的高效率与今后人员离职的困扰,现在马马虎虎提交代码与日后测试团队加班测试……这里边潜意识里都有一个概念:“现在先凑合过吧,到时候我还在不在还是个问题呢”。这都是因为区分现在的我和未来的我的原因。
无我对于运用敏捷开发方法解决问题至关重要。
如果解决问题的时候,总是想“我们应该干什么,他们应该干什么”“因为他们少干了什么,所以我们不能干什么”“这件事情没做好,是因为他……”,那么像开发人员要关心客户价值、两个人要结对编程、一个团队要每天立会这些实践,就永远用不好。
分享到:
相关推荐
这篇文档介绍的是一个幼儿园中班的音乐公开课教案——《一千零一个喷嚏》,这是一次结合故事和节奏乐的教学活动,旨在通过趣味性的故事激发孩子们对音乐节奏的兴趣,培养他们的音乐感知能力、合作意识以及爱护乐器的...
3. **自我与他人的关系**:“我是一座孤岛,处在相思之水里,四面八方,隔绝我通向你。”诗人以孤岛自比,形象地描绘出内心深处的孤独和渴望,尽管被外界隔离,但内心的情感却如海洋般深邃,始终向着对方。 4. **...
这篇文档是一个针对中班儿童设计的音乐教案,主要教授节奏乐知识,以有趣的故事《一千零一个喷嚏》为载体,让孩子们在游戏中学习音乐节奏。教案的核心知识点包括: 1. **节奏乐教学方法**:传统的节奏乐教学通常...
这篇文档是一个幼儿园中班的音乐教案,名为"一千零一个喷嚏",旨在通过故事与节奏乐的结合,激发孩子们对音乐的兴趣,提高他们的音乐感知能力和团队协作能力。教案主要包含以下几个关键知识点: 1. **节奏乐教学法*...
中班音乐活动教案《一千零一个喷嚏》润新教育.txt
因此,工控安全不仅仅是一个技术问题,它还涉及到管理、法规和标准等多个层面。专业人员在工作中需要与系统工程师、生产管理人员和法律顾问等多方协作,共同构建安全可靠的工控环境。 在实际工作中,可能还会遇到...
权限维持的一个重要前提是了解操作系统的关键进程,例如在Windows中,Userinit.exe是一个至关重要的进程,它负责用户登录时的初始化设置。通过篡改Userinit的键值,可以加载自定义的程序,从而在每次用户登录时执行...
Java机试是计算机考研复试中常采用的一种考核方式,旨在考察学生对Java编程语言的掌握程度以及解决实际问题的能力。在本次提供的题目集中,包含了多个与Java编程相关的实践任务,涵盖了MVC设计模式、类设计、数据...
3. **EL(Expression Language)和JSTL(JavaServer Pages Standard Tag Library)**:EL用于在JSP页面上简洁地访问JavaBean或其他数据源,而JSTL提供了一系列标准标签,简化了常见任务,如迭代、条件判断等。...
这个压缩包揭示了一系列关键的网络安全领域知识点,包括但不限于: 1. **Dotnet Hacking & Detection** - haya.pdf: 这个主题深入探讨了针对.NET框架的黑客攻击及其检测技术。.NET是一种广泛使用的软件开发平台,...
但是要保证汉字不被截半个,如“我ABC”4,应该截为“我AB”,输入“我ABC汉DEF”,6,应该输出为“我ABC”而不是“我ABC+汉的半个”。 113 84.8. 将一个键盘输入的数字转化成中文输出(例如:输入1234567,输出:一...
这旨在作为我的应用程序一个小扩展,用于卸载特定的应用程序。 由于我不想不必要地夸大Privatezilla(认识我的人知道我是小型应用程序和精益代码的朋友),因此现在我可以将其作为独立应用程序使用。 这段代码基于...
6. 应用题的解决:通过实际问题的解决,运用加法和减法知识,例如购物找零、计算物品总数等情境。 7. 数学运算的顺序和性质:学生需要了解加法交换律(如a+b=b+a)和结合律(如(a+b)+c=a+(b+c)),减法则不具备交换...
”、“一千零一个愿望”这类题目鼓励学生发挥想象力,展现个性和创新思维。 9. **生活观察**:“走出呵护展翅”、“摸一摸猴子屁股”等题目提醒学生关注生活细节,从日常生活中寻找写作素材。 10. **文学引用**:...
6. **加法与减法**:加法的公式和减法的公式,如和=加数+另一个加数,差=被减数-减数等,这些都是基本的算术运算关系,是解决实际问题的基础。 7. **数学概念**:数学概念是数学思维的基础,包括数字、运算、形状等...
(如:一对多、多对多的关系) 22 99、说下Hibernate的缓存机制 22 100、Hibernate的查询方式 23 101、如何优化Hibernate? 23 102、Struts工作机制?为什么要使用Struts? 23 103、Struts的validate框架是如何验证的...
面对编程难题或项目困境,要有“即使风浪一千次打来,也要一千零一次竖起坚持的桅杆”的决心。 5. **团队协作与互助**:文中提到的同学之间的支持和帮助,反映了在IT项目中团队合作的重要性。良好的团队协作能提高...
1. “我不能选择生活的条件,但我可以选择生活的态度,既然哭不能解决问题,那为什么不笑呢?”这句话体现了什么? - 提示:强调面对困境时,积极乐观的态度至关重要。 2. “每次打击,只要你扛过来了,就会变得...
这个文件是把1001转换成一千零一形式。
【红领巾广播站第1期广播稿】是永定路小学的一份小学生广播节目稿件,旨在通过丰富的内容,激发学生的学习兴趣,提高他们的文化素养,同时传递生活常识和安全知识。以下是各环节的主要知识点: 1. **开场白**: - ...