摘要:这篇文章主要解决因为不能很好地理解需求而估算做不好的问题,在这里可以了解下如何利用用户故事了解需求. 背景 很多团队在应用敏捷开发时,对估算经常感到困惑.这里所说的估算是指产品列表条目(PBI, Product Backlog Item)的估算 .比如,估算以什么标准进行?开发.测试的工作量都要估算进去吗?又比如,估算出了预计工时,但是实际工作中这个预计工时经常不准,为什么还要估算这个预计工时呢?还有,做估算管理时,实际工时也会经常被使用,但很多团队成员不按实际情况做实际工时的更新,它的意…
背景 在某开发团队辅导的回顾会议上,团队成员对于优化估计具体方法上达成了一致意见.询问是否有什么具体的估计方法来做估算. 问题分析 回顾意见上大家对本次Sprint的效果做回顾,其中80%的成员对于本次Sprint的估算效果不满意,最终团队希望在下一个Sprint中,估算活动能有所改善. 经了解,团队目前的估算方法很简单,基本上是架构师和团队中有丰富开发经验的成员一言堂.估算的速度也很快.对于有些有疑问的需求,开发成员也是保持沉默,草草认领了任务. 团队迫切希望学习新的估算方法来优化目前的估算活…
提起用户故事拆分,我们听得最多的就是INVEST原则(关于INVEST原则可以参考文章“用户故事等于需求说明”——你一定没有写好用户故事),但很多人面临的问题是拿到一个较大的用户故事时,该如何拆分才能使得它满足Small的原则呢?接下来,就和大家一起讨论一下如何拆分用户故事.   首先,拆分可以参考以下流程:评估待拆分用户故事-按方法拆分-评估拆分结果.(文末有彩蛋,不要错过) 评估待拆分用户故事 拆分前,我们需要知道手中的用户故事是否需要拆分,就是目前是否已经符合了Small的原则.我们推荐一…
摘要: 一件用户通过系统完成他一个有价值的目标(买一罐饮料)的事.这样的过程就叫"用户案例(user case)"或者"用户故事(user story)".本文描述了敏捷开发的技巧:如何以用户故事管理项目. 什么是用户故事(user story) 假定这个项目的客户是个饮料自动售货机的制造商.他们要求我们为他们的售货机开发一款软件.我们可以找他们的市场经理了解这个软件的需求. 因此,我们的客户就是他们的市场经理.谈需求的时候,有一回他这样说:"用户往售货机…
菜鸟Scrum敏捷实践系列索引 菜鸟Scrum敏捷实践系列(一)用户故事概念 菜鸟Scrum敏捷实践系列(二)用户故事验收 菜鸟Scrum敏捷实践系列(三)用户故事的组织---功能架构的规划 敏捷开发对需求规划的要求是很高的,首先需求是打散的,一个大的项目需求会拆分成很多小的功能完整的需求,以便排定优先级去逐个实现,敏捷开发提升了开发效率,但是对需求规划的要求更高了,就是对产品的需求规划能力提出了更高的要求,必须有清晰的思路,很强的需求规划能力才行,这样才能保证敏捷开发可以按照既定的设想去一步一…
产品经理-需求分析-用户故事-敏捷开发 详解 用户故事是从用户的角度来描述用户渴望得到的功能.一个好的用户故事包括三个要素:1. 角色:谁要使用这个功能.2. 活动:需要完成什么样的功能.3. 商业价值:为什么需要这个功能,这个功能带来什么样的价值.作为一个<角色>, 我想要<活动>, 以便于<商业价值>As a <Role>, I want to <Activity>, so that <Business Value>. 用户故事的…
敏捷发展到今天已经在软件行业得到了广泛认可,但大多数敏捷方法都是为了解决某一特定问题而总结出来的特定方法或实践,一直缺乏一个可以将整个开发过程串接起来的成体系的方法.用户故事驱动的敏捷开发(User Story Driving Agile Development – UDAD)就是这样一套方法和实践,希望能够在软件开发的各个过程都提供最有效的方法让希望采用敏捷的团队能够有一个整体的方法论作为指导. 如何你对敏捷还缺乏了解,可以阅读以下文档: 关于敏捷开发 UDAD中采用了以下几个已经被广泛认可的…
本系列的第一篇[用户故事驱动的敏捷开发 – 1. 规划篇]跟大家分享了如何使用用户故事来帮助团队创建需求的过程,在这一篇中,我们来看看如何使用这些用户故事和功能点形成产品backlog.产品backlog是敏捷开发中用来管理需求列表,排定优先级,形成迭代计划,组织开发/测试和交付过程的工具.可以说,产品backlog是一个敏捷团队管理开发过程的核心,所有的活动和交付物都围绕backlog来进行.一旦需求明确,我们就必须在开发过程中持续的跟踪backlog内容的实现和交付过程,确保我们的想法可以按…
这是敏捷开发用户故事系列的第十一篇.(栏目目录) 经常有人问起有没有完整的用户故事案例.本人在网上找了一下,大约能找到两三篇,但多数只是为了描述用户故事的语法而已,都不涉及用户故事的颗粒度.大量故事的组织结构这类内容. 本来想用我们自己的火星人做案例,但考虑到大家都不熟悉我们的工作内容,一直没有动手.前天突然想到何不用大家都熟悉的CSDN博客系统做一个演示,所以才有此文. 分析过程使用的方法是敏捷开发用户故事系列之十:八步走从用户故事生成代码结构提到的方法(前四步),如果只计算用Word生成故事…
菜鸟Scrum敏捷实践系列索引 菜鸟Scrum敏捷实践系列(一)用户故事概念 菜鸟Scrum敏捷实践系列(二)用户故事验收 菜鸟Scrum敏捷实践系列(三)用户故事的组织---功能架构的规划 采用Scrum敏捷项目管理方法进行产品开发,当碰到较大规模的产品开发,用户故事较多时,就必须采取一定的方法来组织.管理用户故事,使其分门别类的管理,条理才清楚.通常我们采用“功能架构”来分层分类别来管理用户故事. 一.规划层次 遵循Scrum敏捷项目管理理论,可把项目划分为三个大的层次,分别是顶层的产品层,…
菜鸟Scrum敏捷实践系列索引 菜鸟Scrum敏捷实践系列(一)用户故事概念 菜鸟Scrum敏捷实践系列(二)用户故事验收 菜鸟Scrum敏捷实践系列(三)用户故事的组织---功能架构的规划 一.用户故事的状态: 用户故事推荐定义五种状态,分别是“构思”.“已批准”.“开发中”.“已完成”.“已验收”. 只有符合项目组规定的验收标准,才能置为“已验收”状态. 二.用户故事验收标准  由团队决定验收标准. 该标准可包括: •已完成所有任务(开发.测试和记录) •正在运行和通过所有验收测试 •无开放…
需求文档和敏捷中的Epic,User Story, Task之间是什么关系以及如何将需求文档转换成敏捷方式的描述,指导开发人员. 一直是很多公司团队比较困扰的问题,那么最近笔者为了解决这些问题,上了一些课程, 现将核心内容,总结如下,希望对大家有帮助,一起探讨~~ 在项目开发过程中,由于历史或者出于方便和规范的原因项目经理一般还是喜欢使用word文档来描述需求. 举个电商的例子,一般文档结构会如下所示 -----------------------------------------------…
北京这几日的天儿真是好的出奇,白天风和日丽,晚上繁星漫天:在这样一个周六的下午,小编参加了一次北京敏捷社区(微信号:Agile1001)组织的活动:<用户故事地图User Story Mapping 实战工坊>,虽然对用户故事地图是第一次接触,但也有一些小小的体会,回到家中是在按捺不住想写下来分享给大家. 今天的活动由<百度方法+>发起人,软件工程团队负责人李涛引领大家进行实战体验,他也是<用户故事地图>这本书中文版的译者. <用户故事地图>这本书的原作者 …
一.典型用户 老陈 小石头 二.用户故事 老陈:作为一个家长,我希望能利用软件在电脑上储存一些数学题目,以便在繁忙的工作中也能帮助到孩子提高数学. 小石头:作为一个小学二年级的小学生,我希望能利用软件来辅导我的数学,以便提高我的数学成绩. 三.用例图…
[小编]上周六了解了用户故事地图后,小编又查阅了一些资料,找到了以下这篇关于如何组织用户故事地图规划的文章,分享给大家.也希望大家如果有好的实践,也可以留言一起交流. 原文地址:http://winnipegagilist.blogspot.jp/2012/03/how-to-create-user-story-map.html 感谢Jeff Patton和其他人的大力推广,用户故事地图已经成为敏捷需求规划中的一个流行方法.用户故事地图可以将你的backlog变成一张二维地图,而不是传统的简单列…
摘要: 一件用户通过系统完成他一个有价值的目标(买一罐饮料)的事.这样的过程就叫“用户案例(user case)”或者“用户故事(user story)”.本文描述了敏捷开发的技巧:如何以用户故事管理项目. 什么是用户故事(user story) 假定这个项目的客户是个饮料自动售货机的制造商.他们要求我们为他们的售货机开发一款软件.我们可以找他们的市场经理了解这个软件的需求. 因此,我们的客户就是他们的市场经理.谈需求的时候,有一回他这样说:“用户往售货机每塞一个硬币,售货机都要显示当前该客户已…
项目管理中,常常听说story,用户故事 “一开始就做对系统”纯属神话,反之,我们应该去实现今天的用户故事,然后重构,明天再拓展系统.实现新的用户故事.这就是迭代和增量敏捷的精粹所在.…
在敏捷开发过程中是通过用户故事来将需求具体化成可以进行迭代开发的一个个现实的可见的开发任务.因此在敏捷软件的开发过程中,用户故事的划分对于迭代和开发起着举足轻重的作用. 用户故事从其名字来看是站在用户的角度所描述的故事,同时也是用户所能看懂的故事,开发人员最容易犯下的一个错误就是站在自己的角度去思考和划分故事,这样就背离了用户故事的初衷. 那什么是用户故事?首先来说用户故事是对需求的细化和切分,既然是细化,就得有一个度,需求的颗粒度需要多少才能称之为用户故事?这就牵扯出和用户故事一起出现的另外一…
你听过柏林新建机场的故事吗?机场原定2006年开工,2007年启用,但由于机场建设过程中到处出现施工和安全问题,补东墙漏西墙,导致工期一拖再拖,预算一涨再涨,以至于2019年了还没开张,预计开业时间已经被拖到了2020年10月. 无论是建机场还是开发软件,人们往往会低估未完成的工作量.即便没有低估,也会尽可能以能安抚老板客户的方式回复,例如“我已经完成95%了”毕竟,这种粉饰太平的回答总好过“这个复杂的任务,我大概只完成了一半”.“是的,我低估了完成这项任务所需的工作量”.“老实说,我也不知道还…
用户故事(User Story)       用户故事是描述对用户有价值的功能,好的用户故事应该包括角色.功能和商业价值三个要素.用户故事通常的格式为:作为一个<角色>, 我想要<功能>, 以便于<商业价值>.   一.什么是用户故事     用户故事描述了对用户.系统或软件购买者有价值的功能.一个好的用户故事包括三个要素:     1.角色:谁要使用这个功能.     2.功能:需要完成什么样的功能.     3.价值:为什么需要这个功能,这个功能带来什么样的价值.…
一.用户故事基础知识: 1. 从用户的角度来描述用户渴望得到的功能. 2. 用户故事是描述对用户有价值的功能,好的用户故事应该包括角色.功能和商业价值三个要素. 3. 一个用户故事只是以客户能够明白的方式,描述了一个系统的外在行为,它完全忽略了系统的内部动作. 4. 用户故事(User Story)是一个方便的格式用来表达多种类型的产品Backlog条目,特别是特性的期望业务价值.制作用户故事的方式是让业务人员与技术人员都能理解需求.用户故事结构很简单,并且为会话提供一个很好的占位符.此外,用户…
这本书是完全买亏了,一点作用也没有. 整篇有用的字很少,还花了我¥16,总结如下: 用户故事模板: 作为用户角色(who),我想要某项功能(what),这样我可以 XXX(原因,why)…
本次DDD实践选取我们都熟悉的高校成绩管理作为例子. (一).需求描述 每学期学校教务处老师会进行教学安排,具体就是建立教学班,指定该教学班代课教师,上课学生,然后进行排课(忽略此部分,这是另一个系统).指定上课学生有下面几种方式:单独一个班上课:多个班合上课:一个班部分学生上课:一个班部分学生与其它班合上课.也有一些教学任务,上课学生是没有规律的,即我们熟悉的选修课,是由学生自由选择的. 学期末,代课教师会根据自己所授课程上课学生名单登记成绩,经教务处审核后该成绩即可公布.登记成绩时系统需要标…
一.用户行为数据简介 1.用户行为在个性化推荐系统中分为两种: (1)显式反馈行为:包括用户明确表示对物品喜好的行为. (2)隐式反馈行为:不能明确反应用户喜好的行为. (3)显式反馈行为和隐式反馈行为数据比较 (4)反馈方向: 正反馈:用户喜欢该物品:负反馈:用户不喜欢该物品 (5)用户数据分为显性反馈和隐形反馈 (6)用户行为的统一表示 (7)比较有代表性的数据集有以下的几个: 无上下文信息的隐性反馈数据集:每一条行为记录仅仅包含用户的ID和物品ID 无上下文信息的显性反馈数据集:每一条记录…
创建一个欢迎 cookie 利用用户在提示框中输入的数据创建一个 JavaScript Cookie,当该用户再次访问该页面时,根据 cookie 中的信息发出欢迎信息. <html> <head> <script type="text/javascript"> function getCookie(c_name) { if (document.cookie.length>0) { c_start=document.cookie.indexOf…
什么是User Story其实我觉得要对User Story做一个定义还是挺难的.曾经的我以为,所谓User Story是User来讲述的Story.你看啊,User Story的编写范式:As a role, I want to do something or a piece of functionality, so that I can achieve some business value or statement of intent. 但是,随着真正的实践,我发现,User总是一个缺席的…
1.环境 )操作系统:Windows server 2003.Windows server2008 )JDK:jdk 1.6 )apache-tomcat-6.0.35(注意版本号号,版本号6.0.18測试未通过) )网络:互联网.专网測试均通过. 2.使用到的软件.jar包 )Win32OpenSSL_Light-1_0_1g.exe(将bin文件夹设置到path环境变量中,需在命令提示符窗体使用openssl等命令) )jdeclipse_update_site_uncomplie_vcre…
Objective: 上个迭代有哪些让你印象深刻的事情发生?你看到了什么? Reflective:哪些场景让你兴奋?哪些地方不那么顺利? Interpretive:为什么会不顺利?这些数据使你意识到了什么?我们如何才能做得更好? Decisional:什么是下个迭代我们可以立刻开始动手的? Objective 团队很和谐,研发节奏很好. 项目每到上线发布时刻,很紧急. 便利贴对工作帮助很大. 对功能细节的评审缺乏. 产品有太多的优化空间. Reflective 工作交流比较开心. 虽然加班,但是…
1.首先将tet_box和一个datagridview控件打包成用户控件uC_QuickTxtBox 2.在用户控件中定义执行主窗口的委托函数 3.主窗体中添加用户控件的load事件,赋值 uC_QuickTxtBox1.qrytp = 1; //定义此实例将进行点.线或机场的哪种查询 uC_QuickTxtBox1.myDelegate = butquery_Click; //查询完成后,映射委托执行哪个主窗体的回传函数.若不执行任何后续操作,此行可以省略 //传统委托的写法是: uC_Qui…
作者 吕亚霖,2019年加入作业帮,作业帮基础架构-架构研发团队负责人,在作业帮期间主导了云原生架构演进.推动实施容器化改造.服务治理.GO微服务框架.DevOps的落地实践. 张浩然,2019年加入作业帮,作业帮基础架构-高级架构师,在作业帮期间,推动了作业帮云原生架构演进.负责多云k8s集群建设.k8s组件研发.linux内核优化调优.底层服务容器化相关工作. 背景 大规模检索系统一直都是各个公司平台业务的底层基石,往往是以千台裸金属服务器级别的超大规模集群的方式运行,数据量巨大,对于性能.…