通过游戏学敏捷:只通过Specification来传递需求
转自:https://mp.weixin.qq.com/s/jAYbAMUTNYGh4RxGPAZ1AQ
活动把每个小组(4-5个人)中的2人留在屋子里,其他人到屋子外面等待。在屋子里的人,会得到一张A4纸,上面画着几个比较简单的图形,比如一个十字,2个套着的圆,一个淡蓝色的六边形,等等。要求,留在屋子里的人不能用绘画的方法,只能用文字,描述这些图形的形状、位置、大小、颜色,并写在纸上。写好后转交给等在屋外的对此还一无所知的人,屋外的人在不许有任何语言交流、肢体动作的情况下,根据屋内人所写Specification,画出原来的所有图形。而整个过程被限定在10分钟内完成。
结果是:在参与活动的3个小组中,没有一个小组能画出全部图形,即使画出部分图形,要么位置不对,要么大小不对。
展示了各组的结果后,大家总结经验教训,想想在哪些地方需要改进,之后进行第二轮。当然,图形跟第一轮完全不同,而且又稍微复杂一些。即使大家吸取了前一轮的教训,改进了方法,但结果还不如第一轮的情况。
这个活动其实在让我们感受一个事实:只用文档(或Specification)来传递需求信息,是非常不准确的和容易被误解的。SCRUM(包括其它敏捷方法)提倡用面对面的交流,而不是通过文档交接正是基于此事实。
通过游戏学敏捷:只通过Specification来传递需求的更多相关文章
- 通过游戏学python 3.6 第一季 第九章 实例项目 猜数字游戏--核心代码--猜测次数--随机函数和屏蔽错误代码--优化代码及注释--简单账号密码登陆--账号的注册查询和密码的找回修改--锁定账号--锁定次数--菜单功能'menufile
通过游戏学python 3.6 第一季 第九章 实例项目 猜数字游戏--核心代码--猜测次数--随机函数和屏蔽错误代码--优化代码及注释--简单账号密码登陆--账号的注册查询和密码的找回修改--锁 ...
- 通过游戏学python 3.6 第一季 第八章 实例项目 猜数字游戏--核心代码--猜测次数--随机函数和屏蔽错误代码--优化代码及注释--简单账号密码登陆--账号的注册查询和密码的找回修改--锁定账号--锁定次数
通过游戏学python 3.6 第一季 第八章 实例项目 猜数字游戏--核心代码--猜测次数--随机函数和屏蔽错误代码--优化代码及注释--简单账号密码登陆--账号的注册查询和密码的找回修改--锁定账 ...
- 通过游戏学python 3.6 第一季 第二章 实例项目 猜数字游戏--核心代码--猜测次数 可复制直接使用 娱乐 可封装 函数
猜数字游戏--核心代码--猜测次数 #猜数字--核心代码--猜测次数 number=33 amount=3 count=0 while count<=amount: conversion ...
- 通过游戏学python 3.6 第一季 第三章 实例项目 猜数字游戏--核心代码--猜测次数--随机函数和屏蔽错误代码 可复制直接使用 娱乐 可封装 函数
猜数字游戏--核心代码--猜测次数--随机函数和屏蔽错误代码 #猜数字--核心代码--猜测次数--随机函数和屏蔽错误代码 import random secrst = random.rand ...
- U8SDK——游戏接入SDK(只接入抽象框架)
上一篇文章我们说了整个U8 SDK抽象成的设计,那这篇文章,我们就来验证一下,他是否如我们期待的那样,简单灵活. 正如之前所说,对于每个游戏,只需要接入抽象层,而每个渠道SDK的接入,就是该抽象层的一 ...
- 一步步学敏捷开发:1、敏捷开发及Scrum介绍
敏捷开发之 历史背景 20世纪60年代:软件作坊,软件规模小,以作坊式开发为主:70年代:软件危机,硬件飞速发展,软件规模和复杂度激增,引发软件危机:80年代:软件过程控制,引入成熟生产制造管理方法, ...
- 通过游戏学python 3.6 第一季 第一章 实例项目 猜数字游戏--核心代码 可复制直接使用 娱乐 可封装 函数
本文实例讲述了python实现的简单猜数字游戏.分享给大家供大家参考.具体如下: 给定一个1-99之间的数,让用户猜数字,当用户猜错时会提示用户猜的数字是过大还是过小,知道用户猜对数字为止,猜对数字用 ...
- 玩游戏 学Flex布局
大家好,今天推荐一个学习Flex布局的网页小游戏,非常不错,是国外的牛人开发的,值得一试,重复几次,就会大概了解Flex的属性了! 地址: http://flexboxfroggy.com/#zh-c ...
- Struts2笔记(学struts2只需要这一篇文章)
1.如何将struts2框架引入到web项目中 1.把struts2相关jar包引入到项目中 2.把struts2的配置文件直接放到src下面,名字要叫做struts.xml.(运行时配置文 ...
随机推荐
- 实习没事干之自学redis
什么是Redis--http://how2j.cn/frontroute Redis是一个开源的使用ANSI C语言编写.支持网络.可基于内存亦可持久化的日志型.Key-Value数据库,并提供多种语 ...
- Spring Roo 想知道源码,怎么实现自动生成枯燥的有规律的文件
简介 似乎是社区在维护的,不在 Spring 官网的 main projects 列表里,而是在 社区projects 列表里 是工具,不是像Spring Boot 一样的框架 http:// ...
- oracle--dump 事务槽
01,创建环境 SQL> create table t3 (id int); Table created. SQL); row created. SQL); row created. SQL); ...
- Ubuntu系统下安装并配置hive-2.1.0
说在前面的话 默认情况下,Hive元数据保存在内嵌的Derby数据库中,只能允许一个会话连接,只适合简单的测试.实际生产环境中不使用,为了支持多用户会话, 则需要一个独立的元数据库,使用MySQL作为 ...
- 案例19-页面使用ajax显示类别菜单
1 版本一 版本只能在首页显示类别,当切换到了其它页面就不会显示 1 web层IndexServlet代码 package www.test.web.servlet; import java.io.I ...
- Win7与Ubuntu双系统安装过程
Win7安装1.宏基安装Win7插入Win7系统光盘-> 重新启动-> 按F12-> 选择CD安装-> 按任意键-> 选择自定义(高级),接下去根据提示安装. 2.华硕安 ...
- java项目部署总结
环境问题一定要搞定,今天下午因为我本机的mysql版本较高,部署一个java项目,mysql jar驱动包8.0的版本无法使用,浪费了好长时间找问题. 总结:遇到问题多方位思考,尽快解决掉,提高工作效 ...
- Truncated incorrect DOUBLE value: 'NO_REFUND'
解决办法:Mysql中,如果一个字段是字符串,则一定要加单引号 问题原因: `item_refund_state` ) NOT NULL item_refund_state字段的类型是varchar但 ...
- Firebird 用查询结果集更新数据,merge
Merge语法: MERGE INTO target [[AS] target-alias ] USING source [[AS] source-alias ] ON join-condition ...
- [转]Web API Introduction to OData Services using ASP.NET Web API
本文转自:http://mahedee.net/tag/web-api/ What is OData? OData Stands for Open Data Protocol. It is a dat ...