硝烟中的Scrum和XP
硝烟中的Scrum和XP
初次接触Scrum和XP(更加准确的说是“看到”),心里不免有些疑问,软件开发为什么会有如此多的方式,难道软件开发、软件工程不就是写写代码的事儿吗?直到后来,才明白,一个庞大的软件工程,不会只是一个人的事儿,倘若我们现在(学生时代)还是只有着一种写代码是自己的事儿的态度来看待软件工程这样的“工程”,是低端的,是不全面的。
作为一名软件工程的学生,编写代码的能力是一方面,理解计算机对于代码编辑、编译、链接、运行过程是一方面,理解算法、数据结构有事另一方面。这些当然是我们软件工程学生应该有的素质,但同时,我们还应该明白,一个只有几个人能胜任的软件工程的小组毕竟只是少数,少数中的少数,更多的则是庞大的集合体,我们(对于一般的程序员、工程师)只这个庞大的集合体中的一两个小小的元素。所以,我们应当有团队意识。
说了一大堆空白话,让我们回到《硝烟中的Scrum和XP》来。
何为Scrum?这里我不想复制某度百科一堆,我只想说说我的理解(拙见),在我看来,Scrum更加给人一种具有技术的高效开发团队组织的感觉,这个组织拥有对于时间掌控的能力,能够充分利用时间的分割来进行项目的开发、管理,从这一点来看,Scrum更加注重管理,注重一种形式,一种规则。XP则是在另一番景象,XP所做到的是注重了编程的实践,注重强有力的工程实践,是实际的,具有技术的。为什么二者能够和谐的处在一起,因为它们都是在处理软件工程领域不同的部分,而不同的部分,则是软件工程如今所面临的重要之处,同时,它们都强调了个人与组织的关系,强调了个人应当与组织形成一种高效的交流。本书序章中看到了一句话“实际上,Scrum和XP都关注如何把事情做好”。的确如此,所以才造就了如今的敏捷开发与极限编程所拥有的魅力。
Scrum与XP的共同点:实践与交流。正如书中所说“但在纷乱芜杂的信息中,我感到最有价值的就是那些真枪实弹的故事。它们把‘原则与实践’变成了‘如何真正动手去做’”。理论知识就是动动嘴皮子,在此我并非贬低理论的形成过程,是的,理论也是需要动用你的大脑去真正的考虑设置一种想法的“实现”,这种“实现”并不是简单想想就能搞定的。但是,现实是残酷的,时间是不等人的,在如今的软将工程这个领域里,你永远不知道“下一个巧克力是什么味道的”。甜的,恭喜你“侥幸”度过了软件工程实践里的难处;哭的,很遗憾,你的项目,你的工程将很有可能面临淘汰。(胡乱扯了一通,拙见)
在书中我还看到了一个很有意思或者说确实也出现在我身上的事例。就是在backlog这一部分,书中所讲的就是“需求,或故事,或特性等组成的列表”,理解一下就是贴了一些便条的梗概,这些都是业务层次上的(产品负责人来负责),不需要你添加一些技术性的问题在其中(技术人员的事儿)。然而(比如我)在写这个backlog的时候,常常就会添加一些技术性的比如这里用某某算法、这里用某某结构体等来描述,这实际上已经突破了业务的层次,这在实际过程中应当避免。
本书中还提到了Scrum Master:负责监督整个Scrum进程。是的,Scrum确实需要这样的Master存在,Scrum Master并非团队的领导,而是一个负责屏蔽外界对开发团队干扰的角色。Scrum Master是规则的执行者,他是Scrum团队中的服务型领导。不难看出,SM的需要非常熟悉敏捷开发模式,同时还需要很强的能力。
我在看这本书的时候,其实并没有太关注Scrum与XP的过程,而是在思考Scrum与XP的思想,这样的思想是如何体现的。其实作为一名程序员,我们不能仅仅关注于技术,而是应当在做技术的同时,思考一些理念,一些想法,一些蕴藏在软件开发之中的文化(当然实在已经有较好的技术的前提下,否则就是理想主义者了)。
硝烟中的Scrum和XP的更多相关文章
- 《硝烟中的Scrum和XP》:作者主导Scrum过程的实战经验,四星推荐
本书作者是开发团队Leader,本书记录了他带领团队实施Scurm过程中的经验教训.全书短小精悍,言简意赅. 以下是书中一些观点信息的摘抄: 1:Nokia总结出的迭代开发的基本要求:1.1:迭代要有 ...
- 硝烟中的scrum和xp学习笔记 - 怎样编写产品backlog
产品backlog是scrum的核心,也是一切的起源. 从根本上说,它就是一个需求/故事/特性组成的列表,按照重要性的级别排序. 我们叫它story, 或者backlog(条目). Backlog I ...
- 硝烟中的Scrum和XP-我们如何实施Scrum 12)发布计划 13)组合XP
12 怎样制定发布计划, 处理固定价格的合同 一次只计划一个sprint的事情会显得提前量不足, 提前做计划是个好习惯; 尤其是签了固定价格的合同之后, 不得不预先计划好, 防止无法按期交付的危险情况 ...
- 硝烟中的Scrum和XP-我们如何实施Scrum 15)多团队 Part 2/2 16)地理分散 17)检查列表 18)其他
引入"团队领导"角色 假设有3个团队开发同一个产品 红色的P是PO, 黑色的S是SM, 蓝色是其他团队成员; 如何决定哪些人属于哪个团队? 怎么分配成员? 有人觉得让PO来做人员分 ...
- 硝烟中的Scrum和XP-我们如何实施Scrum 4 (Part 1/2)
4 制定Sprint计划 计划是Scrum中重要的一环; 是为了让团队获得足够信息, 不受打扰地工作, 增加团队的信心; Planning的成果: 1) Sprint目标 2) 团队成员名单(时间百分 ...
- 硝烟中的scrum学习笔记 - 怎样制定Sprint计划(Plan Meeting)
1. 如何估算我们这个sprint能做多少个故事点 1) 本能反应 2) 生产率计算 估算生产率/实际生产率 看看团队的历史,看看他们在过去几个sprint里的生产率是多少 然后假定在下一个sp ...
- SCRUM与XP的区别和联系
相同点:SCRUM和XP都是敏捷开发的方法论,都体现了快速反馈,强调交流,强调人的主观能动性等基本原则,而且多数“最佳实践活动”都互相适用. 不同点:Scrum非常突出Self-Orgnization ...
- 敏捷开发中的Scrum流程和术语【转】
任何人力流程都离不开人来执行,所以在讲解Scrum流程之前,有必要先把Scrum中的角色讲一下. 一天,一头猪和一只鸡在路上散步,鸡看了一下猪说,“嗨,我们合伙开一家餐馆怎么样?”,猪回头看了一下鸡说 ...
- erl_0019《硝烟中的erlang》 读书笔记005 “进程信息"
对一个运行中的Erlang系统来说,进程绝对是重要的组成部分.正因为进程是所有运行实体的基础,因此会想去了解它们的更多信息.幸运的是,VM提供了大量的可用信息,其中有些可以安全使用,有些在生产环境中使 ...
随机推荐
- Linux centos 安装 mysql 5.6
一.mysql下载 1.方式一(简单粗暴) 直接在linux 目录下wget https://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.43-li ...
- MySQL授权认证
• MySQL-权限系统介绍 • 权限系统的作用是授予来自某个主机的某个用户可以查询.插入.修改.删除等数据库操作的权限 • 不能明确的指定拒绝某个用户的连接 • 权限控制(授权与回收)的执行语句包括 ...
- Mysql基本知识整理
一.简介 1.什么是数据库? 数据库(Database)是按照数据结构来组织.存储和管理数据的仓库,每个数据库都有一个或多个不同的API用于创建,访问,管理,搜索和复制所保存的数据. 2.关系型数据库 ...
- Linux centos7 复制,移动,删除文件或文件夹
2021-08-121. 文件(文件夹)复制命令 # 命令格式 cp [-adfilprsu] 源文件(source) 目标文件(destination) cp [option] source1 so ...
- linux centos7 df命令
2021-08-04 1. df 命令简介 linux 中 df 命令的功能是用来检查 linux 服务器的文件系统的磁盘空间占用情况.可以利用该命令来获取硬盘被占用了多少空间,目前还剩下多少空间等信 ...
- Spring事物入门简介及AOP陷阱分析
转载请注明出处: https://www.cnblogs.com/qnlcy/p/15237377.html 一.事务的定义 事务(Transaction),是指访问并可能更新数据库中各种数据项的一个 ...
- Pycharm去除波浪线等相关操作
- Docker容器编排工具——docker-compose
1.docker-compose介绍 2.使用的三个步骤 3.安装docker-compose yum install docker-compose 4.docker-compose.yml 文件 ( ...
- WEB安全性测试之文件上传漏洞
1.漏洞描述:文件上传漏洞,是指可以利用WEB上传一些特定的文件包含特定代码如(<?php phpnfo;?> 可以用于读取服务器配置信息.上传成功后可以点击) 上传漏洞是指用户上传了一个 ...
- Nginx rewrite跳转 location匹配
目录: 一.常用的Nginx 正则表达式 二.location 三.rewrite 一.常用的Nginx 正则表达式 1 ^ :匹配输入字符串的起始位置 2 $ :匹配输入字符串的结束位置 3 * : ...