敏捷开发一千零一问:如何处理重要但不明确的任务?

本文是敏捷开发一千零一问的第三十九篇。(栏目总目录

也是敏捷开发日常跟进系列的第八篇。(栏目目录

问题:有一类任务很重要(假设同时也很紧急),但却很不明确,该怎么办?

答案分很多种情况,大致如下:

客户早就提出的需求

一般而言,除非事出紧急(客户突然提出),否则不能让一个重要的内容处于重要+不明确的状态。

处理方法应该如下:

1. 尽早做原型,使之明确

由于重要+不明确的任务工作量肯定大于重要+明确的任务,所以早做才能保证同时完成——假设截至点相同。

不过,早做只是使之明确而已,并不需要真的做完,所以可以视同为原型。每个迭代把用来明确的原型展示给客户看,让其提出明确的意见。

客户突然提出的需求

假设只有一个迭代周期就要上线,该怎么办呢?

这时候应该打破原来的评审会制度,因为本来就不明确,被评审通过的概率很低;而是采用“渐进式评审”(参考这里:http://blog.csdn.net/cheny_com/article/details/7339173),即任务完成的同时就马上拉评审,如果不通过就接着改,甚至可以放弃一些同迭代的次要任务——谁让它重要呢。

技术预研

PO应该在计划会之外,更早、更长期地与团队有一个接触,内容是远景展望、最近2~3个迭代的内容等。参与人员是PO+技术骨干。

这样团队就能提前获知一些潜在的预言,提前做准备。

技术改造

这是一类类似“性能优化”的活动,常常难以在实施前确定目标,很容易无始无终。这时的处理方法是划分为若干个可跟踪的点,分期达到。

比如我曾经做过一次性能优化,我们大致分为四个步骤:

1. 确认性能基线,就是现在的内存、速度如何。

2. 确认问题点,就是哪些内容占据了内存、时间。

3. 排序问题,从大到小逐个解决;

4. 每解决一些问题,就做一个判断是否停止。

当时大约2周后,性能达到了原来的1/6内存和1/7时间,且只有SQL Server自带工具的两倍(由此判断优化空间已经不大了),于是作罢。

这个步骤,也可以变形一下用于技术预研。

敏捷开发一千零一问:如何处理重要但不明确的任务?

时间: 2024-10-01 06:46:15

敏捷开发一千零一问:如何处理重要但不明确的任务?的相关文章

敏捷开发一千零一问:怎样处理重要但不明白的任务?

本文是敏捷开发一千零一问的第三十九篇.(栏目总文件夹) 也是敏捷开发日常跟进系列的第八篇.(栏目文件夹) 问题:有一类任务非常重要(如果同一时候也非常紧急).但却非常不明白,该怎么办? 答案分非常多种情况.大致例如以下: 客户早就提出的需求 一般而言,除非事出紧急(客户突然提出),否则不能让一个重要的内容处于重要+不明白的状态. 处理方法应该例如以下: 1. 尽早做原型,使之明白 由于重要+不明白的任务工作量肯定大于重要+明白的任务,所以早做才干保证同一时候完毕--如果截至点同样. 只是,早做仅

当敏捷开发遇上了千年老怪的老系统....

敏捷开发中,当必需和没文档,没单元测试的老系统共舞时,就宛如是一场陷入泥沼的恶战.恶梦...... 在敏捷开发中,当必需和老系统奋战时,光只是 "看" 老系统的源代码,不仅耗时,耗尽体力,更是完全无效的:完全无法梳理清楚老系统中的业务.代码逻辑与相互间的依赖. 这世上永远是极复杂的问题,却只需极简单的解决方案-- ① 将在老系统上所需做的事:如:搬迁老系统的业务到新系统上,在老系统上加新特性.新功能--:均划分成 User Stories. ② 依照每个 User Story的目的,&

谈谈敏捷开发

我对敏捷开发是源于10多年前看了一本关于迭代开发的书,从而对迭代开发有了一些兴趣.从那时开始有了迭代开发的概念.随着项目经验的增加迭代的重要性也越发觉得明显.随后进入了提倡敏捷开发的公司,被迫式的接触了许多"敏捷开发",随着项目经历越来越多,慢慢的就开始有了更新的认识和想法. 但是在接触敏捷开发这个体系之前,自己有机会做一个项目,那个时候我开始将自己认为更有利于项目的管理工作做了一些应用,那个阶段我的主要做法是: 1.项目中开始划分更短的制品交互周期,而不是以前那样等待产品开发完毕后发

[读书笔记—程序员]《高效程序员的45个习惯:敏捷开发修炼之道》- 苏帕拉马尼亚姆,亨特

虽然不记得阅读本书用了多久,但是整理本书的读书笔记用了两个小时的时间,因为本书的大部分内容对于笔者来说都是新知识,很难进行归纳总结 本书所讲的是程序员应具有的工作态度和在团队中作为开发者和领导者具备的各种"敏捷的"习惯.虽然本书对于程序员的硬实力(本书讲解的编程语言是面向对象类语言,但是讲解的代码非常少)帮助不大,但是对于程序员应该具备的软实力的培养和提高有极大的帮助,是每位程序员都应该反复阅读的书籍. 第一章 敏捷-高效软件开发之道 什么是敏捷开发方法? 2001年2月,17位志愿者

谈谈敏捷开发(转)

原文地址 http://www.cnblogs.com/5207/p/6179009.html#3762210 我对敏捷开发是源于10多年前看了一本关于迭代开发的书,从而对迭代开发有了一些兴趣.从那时开始有了迭代开发的概念.随着项目经验的增加迭代的重要性也越发觉得明显.随后进入了提倡敏捷开发的公司,被迫式的接触了许多"敏捷开发",随着项目经历越来越多,慢慢的就开始有了更新的认识和想法. 但是在接触敏捷开发这个体系之前,自己有机会做一个项目,那个时候我开始将自己认为更有利于项目的管理工作

敏捷开发方法(一) Scrum

Scrum团队:由产品负责人.开发团队和Scrum Master组成. 是跨职能的自组织团队 自组织团队自己选择如何最好地完成工作,而不是由团队外的人指导 跨职能团队拥有完成工作所需要的全部技能,不需要依赖团队以外的人 这种团队模式的目的是最大限度地优化灵活度.创造力和生产效率 三大角色: Scrum管理-五事件 Scrum 管理: 所有事件是有时间盒限定的 每个事件都有时间限制的 一旦Sprint开始,它的周期也就固定下来了,不能缩短或者延长 Scrum 管理五事件包括: Sprint 计划会

互联网公司的“敏捷开发”流程是怎么样的,每个职位的角色和分工是什么?

作者:暗灭 第一   为什么需要敏捷开发. 在几万年以前,软件项目的开发都是以年来计算的,这代表什么意思呢 ?需求设计了半年多,方案设计做了半年多,开发了三年多,测试了半年多,修改Bug用了半年多.总计花了很长很长的时间,然后上线后发现有很多需求已经不存在了,同时又出现了很多新的需求. 怎么办?继续改.这一改又是半年多的时间过去了.马丹用户的需求还再改,怎么办? 这是困扰软件开发项目的最大的问题,越大的项目,参与的人越多,风险越大.文档越规范,维护起来的难度就越高,导致项目中遇到的问题越来越多.

敏捷开发系列文章目录

敏捷开发在国内是不是只是一个理想化的工作环境? 经常有人问,你们搞敏捷开发工作量是由开发人员自己估的,而不是由经验丰富的技术主管估的,他们自己肯定会把工作量估得非常大,那什么时候项目才做得完?你们每天开那么多会,怎么不把时间放在好好写代码上面?一个迭代这么短的时间既要做设计.又要编码.还要测试,这么急着做出的东西质量肯定不高.系统设计肯定得经验丰富的老手做更靠谱.每当我听到有人说这些问题,我就知道他肯定没有真正的认识敏捷开发,如果真的有实践过,自然就会发现这些问题根本就不是问题,只是杞人忧天而已

敏捷开发——杂记

春节回来后的第一个加班,不知道为了什么而加班,一头雾水.毕业到现在半年多,感觉什么也没学会,春节前一直强调的去敏捷开发,开了各种会,但我还是啥也没理解,尤其是团队的领导每次开会都是50%的英语,我完全没听懂,在这了感慨下英语的重要性,先进的理念.思想多是来自国外,不得不感慨英语的地位. 但前段时间发现一个网站,关于敏捷开发的,对于新手小白来说很值得看看.我暂时没有把网站分享给团队成员,想自己先悄悄学.这个从心理学上的角度来说,可以称作优越感,我能学到别人暂时学不到的东西,我若是先别人学会了,心里